Scapy的和rdpcap功能(Scapy and rdpcap function)

2019-07-29 15:18发布

我使用rdpcap Scapy的功能读取PCAP文件。 我也用在描述的模块链接到Scapy的HTTP支持这是需要在我的情况,我要找回所有的HTTP请求和响应及其相关的数据包。

我注意到,解析大型PCAP文件rdpcap功能需要太多的时间来阅读。

是否有阅读的解决方案pcap文件快?

Answer 1:

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参数确保该分组从存储器只要它被处理删除。



Answer 2:

虽然我同意加载时间比人们所预料的,因为该文件被解析,生成高度对象组成的数组很可能。 我所要做的就是使用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 ) 。

无论capinfoseditcap可与Wireshark的分布。



文章来源: Scapy and rdpcap function