我已经尝试了几乎所有的Python嗅探模块(pcapy,winpcapy,pypcap,scapy,socket)。
我总是遇到同样的问题,我丢失了一部分数据包(约1%~10%)。
但同时使用Wireshark和tcpdump数据包永远不会丢失;也许表现?或者尝试使用多进程执行某些操作?
答案 0 :(得分:1)
来自此代码
from scapy.all import *
from scapy.layers import http
def http_header():
do something
packet=sniff(prn=http_header,store=0)
store 0
是问题所在。它基本上只说尽快处理数据包,不要缓冲。使用sniff(prn=http_header)
运行相同的代码,您不会丢弃任何数据包