pcap 과 libnet을 이용한 sniffer 프로그램 질문입니다.
웹에서 sniffer 프로그램 소스를 구해서 공부중입니다.
libpcap 과 libnet 라이브러리를 통해서 구현되며,
OpenBSD 에서 개발 하였다고 하는데...
libpcap 과 libnet 라이브러리를 Solaris 에서 설치하여, gcc로 컴파일 하는데 아래처럼 에러가 발생하네요...
소스코드는 첨부파일로 올렸습니다.
혹시 아시는분 답변 부탁드리겠습니다.
즐거운 하루되세요...
================================================================================================
travis[/LAB/InternetSevurity/packetdump] # gcc angst.c -o angst
In file included from angst.c:1:
angst.h:21: warning: "struct ether_addr" declared inside parameter list
angst.h:21: warning: its scope is only this definition or declaration, which is probably not what you want
angst.c: In function `packetdump':
angst.c:196: error: `LIBNET_IP_H' undeclared (first use in this function)
angst.c:196: error: (Each undeclared identifier is reported only once
angst.c:196: error: for each function it appears in.)
angst.c:202: error: dereferencing pointer to incomplete type
angst.c:204: error: dereferencing pointer to incomplete type
angst.c:205: error: dereferencing pointer to incomplete type
angst.c:206: error: dereferencing pointer to incomplete type
angst.c:209: error: dereferencing pointer to incomplete type
angst.c:212: error: dereferencing pointer to incomplete type
angst.c: In function `flooder':
angst.c:285: warning: passing arg 1 of `libnet_select_device' from incompatible pointer type
angst.c:285: error: too many arguments to function `libnet_select_device'
angst.c:289: warning: assignment makes pointer from integer without a cast
angst.c:292: error: too few arguments to function `libnet_seed_prand'
angst.c:295: error: `LIBNET_IP_H' undeclared (first use in this function)
angst.c:303: error: `PRu32' undeclared (first use in this function)
angst.c:304: error: `PRu16' undeclared (first use in this function)
angst.c:323: warning: passing arg 6 of `libnet_build_ethernet' from incompatible pointer type
angst.c:323: error: too few arguments to function `libnet_build_ethernet'
angst.c:331: error: too few arguments to function `libnet_build_tcp'
angst.c:334: error: `ETH_H' undeclared (first use in this function)
angst.c:334: error: `TCP_H' undeclared (first use in this function)
angst.c:334: warning: passing arg 2 of `libnet_do_checksum' makes pointer from integer without a cast
angst.c:334: error: too few arguments to function `libnet_do_checksum'
angst.c:337: error: `IP_H' undeclared (first use in this function)
angst.c:337: error: too few arguments to function `libnet_do_checksum'
angst.c: In function `usage':
angst.c:382: error: missing terminating " character
angst.c:383: error: syntax error before '[' token
angst.c:383: error: stray '\' in program
angst.c:383: error: stray '\' in program
angst.c:383: error: missing terminating " character
첨부 | 파일 크기 |
---|---|
![]() | 4.5 KB |
컴파일때 -lpcap -lnet
컴파일때 -lpcap -lnet 붙여야 됩니다.
즉 gcc angst.c -o angst -lpcap -lnet 이렇게 치셔야 됩니다.
그리고 lpcap은 libpcap 일때이고
그리고 -lnet은 libnet 일때 쓰이는 것입니다.
댓글 달기