使用Python嗅探模块丢失了一些数据包

时间:2017-07-19 14:49:25

标签: scapy packet-capture sniffing

我已经尝试了几乎所有的Python嗅探模块(pcapy,winpcapy,pypcap,scapy,socket)。

我总是遇到同样的问题,我丢失了一部分数据包(约1%~10%)。

但同时使用Wireshark和tcpdump数据包永远不会丢失;也许表现?或者尝试使用多进程执行某些操作?

1 个答案:

答案 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)运行相同的代码,您不会丢弃任何数据包