前段时间项目用过pcap做网络编程,主要做的是截包,发包等。以前想过用SOCKET_RAW,但是socket比pcap的报文要少一层。
好,下面开始记笔记 :
下面是打开设备:
这个时候还不能接包,这比socket方法要复杂一点
好了,现在用可以抓包了,pcap提供了两套取包函数,pcap_next_ex,和pcap_loop,pcap_loop貌似挺简单的,
不过,当你的程序复杂点时,如多线程时,就你就要多考虑考虑了。使用pcap_loop需要使用一个回调函数,意思就是取包
过程是一个被动过程。当然,pcap_next_ex也有不少好处,你可以程序中主动的取包,你处理完后,才主动取下一个包。
好了,开始一层一层的扒皮吧。