因为Python当前处理和分析数据的功能强大,当前网络安全用于分析数据包的需求越来越大,所以介绍几个数据包捕获和分析库。
嗅探功能
scapy:底层使用libpcap,最强大的抓包和分析库,支持shell。还能主动构造数据包,解析ssl等。
pyshark:基于tshark的工具。
pypcap:长期不维护的pcap抓包库。基于libpcap。
dpkt:很不错的数据包解析工具
pylibpcap:基于libpcap。
pycap:基于libpcap。
pcap:基于libpcap。
Ryu
处理数据包的库
一般嗅探功能也具有处理功能,除了上述几个库,还有一些专门分析应用层的库,因为应用层数据比较复杂:
scapy-http:专门为了补充scapy的对于http的解析。但是经过本人测试,该库对windows支持不好,但是linux上非常好用。
httpheader
WebOb
标准库中的BaseHTTPRequestHandler和StringIO
总结
笔者极力推荐scapy。当然除了上述专门维护的库,还有一些比较好的开源处理工具,可以去github去找。
Java:jpcap,jnetpcap都是基于libpcap写的。
C/C++:就是libpcap和winpcap。
C#也有类似的封装libpcap的库,可以查一下。