我使用rdpcap
Scapy的功能读取PCAP文件。 我也用在描述的模块链接到Scapy的HTTP支持这是需要在我的情况,我要找回所有的HTTP请求和响应及其相关的数据包。
我注意到,解析大型PCAP文件rdpcap
功能需要太多的时间来阅读。
是否有阅读的解决方案pcap
文件快?
我使用rdpcap
Scapy的功能读取PCAP文件。 我也用在描述的模块链接到Scapy的HTTP支持这是需要在我的情况,我要找回所有的HTTP请求和响应及其相关的数据包。
我注意到,解析大型PCAP文件rdpcap
功能需要太多的时间来阅读。
是否有阅读的解决方案pcap
文件快?
Scapy的还有另一个方法sniff
,你可以用它来过读取PCAP文件:
def method_filter_HTTP(pkt):
#Your processing
sniff(offline="your_file.pcap",prn=method_filter_HTTP,store=0)
rdpcap
加载整个PCAP文件到内存中。 因此,它使用了大量的内存,如你所说的慢。 而sniff
一次读取一个数据包,并将其传递到所提供的prn
功能。 该store=0
参数确保该分组从存储器只要它被处理删除。
虽然我同意加载时间比人们所预料的,因为该文件被解析,生成高度对象组成的数组很可能。 我所要做的就是使用editcap
砍包捕获,从而使阅读他们更容易一点。 例如:
$ editcap -B 2013-05-2810:05:55 -i 5 -F libpcap inputcapture.pcap outputcapture.pcap
请注意:此命令的开关的完整说明,请点击这里 。
此外, -F libpcap
部分似乎是必要的(至少对我来说),以获得Scapy的的pcap
能够解析该文件的功能。 (这应该是默认的PCAP文件输出格式,但是这不是我的情况下,无论出于何种原因,你可以验证你的输入和输出文件的文件类型capinfos
(例如,只需输入capinfos your_capture.pcap
) 。
无论capinfos
和editcap
可与Wireshark的分布。