aui*_*ino 7 python networking packet-capture scapy 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)
Run Code Online (Sandbox Code Playgroud)
rdpcap
将整个pcap文件加载到内存中.因此它使用了大量内存,正如你所说的那样慢.同时sniff
读取一个数据包并将其传递给提供的prn
功能.该store=0
参数确保在处理完数据包后立即从内存中删除数据包.
虽然我同意加载时间比预期的要长,但这可能是因为正在解析文件以生成一组高度组合的对象。我所要做的就是使用editcap
切碎的数据包捕获来使读取它们更容易一些。例如:
$ editcap -B 2013-05-2810:05:55 -i 5 -F libpcap inputcapture.pcap outputcapture.pcap
Run Code Online (Sandbox Code Playgroud)
请注意:此命令的开关的完整说明可在此处找到。
另外,这部分似乎对于让 scapy 的函数能够解析文件-F libpcap
是必要的(至少对我来说) 。pcap
(这应该是默认的 pcap 文件输出格式,但无论出于何种原因,对我来说情况并非如此。您可以使用验证输入和输出文件的文件类型capinfos
(例如,只需输入capinfos your_capture.pcap
)。
WireShark 发行版中提供了capinfos
和。editcap
归档时间: |
|
查看次数: |
11653 次 |
最近记录: |