赞
踩
介绍一下如何使用python的dpkt模块对于pcap报文进行解析,报文解码。
通常使用wireshark来对于存储下来的pcap进行手动分析,如果需要使用程序灵活控制分析报文中的信息,我通常使用如下三种方法:
1,使用wireshark提供的Lua API,编写lua插件进行分析。优点是wireshark支持协议众多,2000+,同时对于报文内容解码非常的详细。由于底层使用的是C语言编写,因此解码效率也是很高。关于插件的使用,见这里。
2,在python中调用方法一编写的Lua脚本,具体的方法我在我的CSDN博客上一篇文章中有说明,见这里。
3,直接使用python 的dpkt模块进行解报文。比之wireshark,首先支持的协议有限。这里列出了dpkt中的所有模块,可以看出其支持解码的协议并不多。但是对于常见的ip,tcp,udp,ssl,http等协议是支持的。但是像google的quic协议wireshark已经支持,但是dpkt还没有。另外dpkt中的解码信息也不如wireshark丰富。
但是在很多场景下,dpkt模块还是有用武之地的,比如对于方法一二中需要显示或者隐式的调用tshark程序,因此需要提前安装好wireshark程序。同时wireshark是GPL的license,因此在有的商业项目中,可能由于GPL协议的要求
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。