2007年9月10日 星期一

Libpcap note

在Unix/Linux從kernel獲得封包的工具。獨立API接口,為底層網路監控提供一個可移植的框架,可用於網路統計收集、安全監控、網路調試…等工作。
cf.Winpcap:同libpcap,支援Win32平台
  • NPF(Netgroup Packet Filter)
  • packet.dll
  • wpcap.dll

基本function

pcap_lookupdev(); //設定網路設備,回傳一個可使用的device,refer to "lookupdev.c";char *pcpa_lookupdev(char *errbuf)

pcap_lookupnet(); //設定網域;const char *device,bpf_u_int32 *netp,bpf_u_int32 *maskp,char *errbuf)

//找network number and mask

開始一個session:

pcpa_open_live(); //開始網路介面卡以準備進行封包交換

擷取packet:

pcap_next(); //refer to "pcap_next.c" and "timestamp.c"

只抓想要的packet(filter)

pcap_compile(); //編譯正規過濾語

pcap_setfilter(); //設定過濾器

Application built on libpcap

  • ntop(network top)
  • snort( 區分正常及惡意的封包)
  • wireshark

Install libpcap

./config

make

sudo make install


Reference:

http://en.wikipedia.org/wiki/Libpcap

http://www.tcpdump.org/pcap.htm

沒有留言: