我的问题如下:
pcap_loop()从侦听接口获取所有到达的帧,如果其中一个帧包含IP数据,则使用pcap_sendpacket()转发。一旦我发送它,pcap_loop()就会抓取它并再次处理它。
也许有人知道解决这个问题的答案?
提前感谢并问候!
最佳答案
至少在某些平台上,通过pcap发送数据包在默认情况下会导致pcap看到这些数据包。Windows就是其中之一,这适用于WinPcap。
关闭此功能的标准libpcap APIpcap_setdirection()
,在当前版本的WinPcap中不可用。要关闭此功能,您必须使用WinPcap特有的pcap_open()
调用打开要捕获的设备,并且必须在PCAP_OPENFLAG_NOCAPTURE_LOCAL
调用中提供pcap_open()
标志。