我使用scapy通过以下代码捕获数据包

from scapy.all import *

def verify(p):
     p.display()

sniff(prn=verify, iface="lo")

sniff函数多次捕获每个包。
例如,如果我有一个dns查询包,这个包将显示两次。
如何使sniff函数只捕获一次每个包?

最佳答案

这是预期的行为。scapy在loopback接口上看到的数据包既有“离开”的,也有“到达”的,所以所有的数据包都是重复的,没有区别,因为loopback是一个特殊的接口。也许你应该自己跳过每一秒。
曾被报告为一个bug,但被拒绝:https://bitbucket.org/secdev/scapy/issues/887/sniff-sends-packets-twice

关于python - Scapy多次嗅探数据包?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41878298/

10-12 21:26