我正在使用Scapy通过以下代码捕获数据包
from scapy.all import *
def verify(p):
p.display()
sniff(prn=verify, iface="lo")
嗅探功能捕获每个数据包多次.
例如,如果我有一个DNS查询数据包,则此数据包将显示两次.
如何使Sniff函数仅捕获一次数据包?
解决方法:
这是预期的行为.当它们“离开”和“到达”时,Scapy都会在环回接口上看到这些数据包.由于环回是一个特殊的接口,因此所有内容都可以毫无区别地进行复制.也许您应该只跳过第二个数据包.
曾经被报告为错误,但被拒绝:https://bitbucket.org/secdev/scapy/issues/887/sniff-sends-packets-twice