Linux Packet Sniffer using Libpcap (In progress)

Problem / Motivation

As part of my systems and networking learning path, I wanted to gain hands-on experience working closer to the kernel and better understand how packets flow through Linux network stacks. To achieve this, I am building a Linux-based packet sniffer entirely from scratch in C, using raw sockets and libpcap. The goal is to parse raw Ethernet frames, extract protocol headers, and display packet metadata in real time. I hope this project will deepen my understanding of network protocols, binary data parsing, and Linux system-level programming.

The packet sniffer is also a core component of my larger Raspberry Pi IoT server, where I use it for real-time diagnostics, traffic monitoring, and debugging communications between my embedded devices.

System Architecture

Key Technical Challenges

Future Work & Expansion

Technologies Used

C, Linux Sockets, Libpcap, Ethernet, IPv4, TCP, UDP, Networking Protocols, Binary Parsing, Packet Analysis, Embedded Linux

🔗 View GitHub Repository