[ProJ] 프로젝트 · 작성: 2026-07-19 19:10:37 · 조회 4
화이트햇 스쿨 네트워크보안 과정 실습으로, libpcap API를 직접 써서 네트워크 인터페이스를 지나가는 패킷을 캡처하고 정보를 출력하는 C 프로그램을 만들었다. Wireshark 같은 GUI 툴이 내부적으로 뭘 하는지 이해하려면 결국 이 레벨부터 한 번은 짜봐야 한다는 생각으로 시작한 과제.
libpcap-devsudo apt update
sudo apt install -y gcc libpcap-dev net-tools wireshark
gcc main.c -o sniffer -lpcap
sudo ./sniffer
RAW 소켓/패킷 캡처는 권한이 필요해서 sudo로 실행한다. libpcap이 인터페이스를 promiscuous 모드로 열고 캡처한 프레임을 콜백으로 넘겨주면, 그 안에서 Ethernet/IP/TCP·UDP 헤더를 직접 파싱해서 출력하는 구조다.