聊聊wireshark这款报文分析工具

Wireshark是一个主流且开源的报文分析工具,总结一下其特点如下:

(1)、支持协议数量庞大,数量2000+,涵盖了目前应用场景下的绝大多数公有协议,如图1。
(2)、强大的过滤器功能,提供了协议本身所能提供的信息以及大量的扩展信息字段,如图2。
(3)、Lua插件功能,可用于报文的批处理,以及私有协议的开发等方面,如图3。
(4)、开源,可以直接在github上搜索。协议更新快,例如quic协议在wireshark2.6版本已经分为gquic和quic两种,正是google的quic工作组协助添加的。
(5)、报文处理运行速度快,因为解码报文,协议解析等方面主要是c语言编写的,效率高。
(6)、Linux以及Windows都支持。

这里写图片描述
图1 V2.4.6版本支持协议数量
这里写图片描述
图2 除了常见协议还支持一些图片和视频格式的解码
这里写图片描述
图3 自带lua解析功能<

Wireshark的主体功能是由C语言来实现的,例如大多数协议的解码功能,PCAP报文的读写功能等。由于C语言来实现一些功能较为复杂,同时为了利用Wireshark已有的强大的协议解码能力,Wireshark将协议解析等诸多功能进行了封装,以Lua API的形式暴露出来。开发人员可以通过调用Lua API的方式来使用Wireshark的诸多功能。同时由于Lua解析器的小巧,Wireshark通常的发布版本中都集成了lua解析器,可以直接运行脚本程序。

Wireshark插件技术能够处理单片报文,支持协议数量多,处理速度快,编写较为简单这些优点,使得我们能够大幅提升了报文分析效率。Wireshark插件技术能够应用的场景非常之多,简单列举如下几个场景:

(1)、报文的批量增加操作,例如将增加一些报文,使得短流变长流。
(2)、报文的批量删除操作,例如只保留一条流中的前16个报文。
(3)、报文的批量修改操作,例如构造特殊端口报文。
(4)、报文的批量查询操作,例如协议字段的信息提取。
(5)、数据还原功能,例如还原报文中的图片和视频。
(6)、协议解码功能,例如私有协议解析工具开发。

当然还有其他的报文批量处理方法,如下:

(1)、tshark命令,可以批量的提取HOST,UA等协议特征。缺点在于处理的粒度为整个PCAP报文层次,在涉及到单片报文粒度上的处理能力不足。
(2)、使用python的dpkt模块。首先绝大多数的第三方模块支持协议数量没有wireshark丰富,其次dpkt模块处理报文速度相对于wireshark来说太慢,在处理一个报文的时候尚可忍受,但是在大量报文的时候是不可忍受的。Wireshark插件的速度比之dpkt有几倍的提升。
(3)、使用C语言的libpcap库以及libnids库来进行处理。协议数量不足问题同样存在,同时C语言编写报文处理工具实现起来较为麻烦,针对不同的问题需求,编写难读较大。

本文为CSDN村中少年原创文章,转载记得加上小尾巴偶,博主链接这里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

村中少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值