我使用Scapy通过使用以下代码捕获数据包
from scapy.all import *
def verify(p):
p.display()
sniff(prn=verify, iface="lo")
嗅探功能多次捕获每个数据包。例如,如果我有DNS查询数据包,此数据包将显示两次。如何使sniff功能只捕获每个数据包一次?
这是预期的行为。 Scapy在它们“离开”和“到达”时都会看到环回接口上的数据包。所以一切都是重复的,没有区别,因为loopback是一个特殊的接口。也许你应该自己跳过每一秒包。
它曾被报道为一次,但遭到拒绝:https://bitbucket.org/secdev/scapy/issues/887/sniff-sends-packets-twice