本文将对比scapy、dpkt、Pcapy、libpcap解析pcap文件的功能和效率。

scapy处理的较细致,层级较高,处理速度慢;dpkt处理粗糙,层级低,处理速度快。

scapy会将一整个pcap文件吞进去,可以进行索引,但是解析能力差,有些包不认识。

dpkt会逐个包处理,不会将其整个吞入内存,通过指针控制,不能索引,需要手动解析,门槛高。

此外,tshark会直接调用本地的Wireshark,可以使用Wireshark相关筛选语句对Pcap进行操作。

libpcap是pcap文件格式的创建者,是性能的标杆,直接调用系统底层接口,用C语言实现。

image.png

除了这些工具库,还有一些现成的Pcap处理工具,如SplitCap支持分割单向flow,PcapPlusPlus是知名的C++库,专门用于编写Pcap处理脚本,类似scapy、dpkt等,但也提供了现成的Pcap工具箱。

标签: pcap

添加新评论