Wireshark Lua插件学习心得

第一次体会:
重新学习了一下前一段时间依葫芦画瓢写的解析asn.1的骨干的Wireshark lua插件的代码,突然发现自己貌似理解了Wireshark解析的基本思想:把一段码流划分成若干个小段,每个段取个名字,并描述一下这个段如何翻译,至于如何分段那就是协议的事情,各个协议所做的事情就是描述了分段的方法。所以Wireshark在解析方面所做的事情,归纳下来就以下几点:
(1)根据协议把码流分成小段
(2)给这个段取个名字,这个名字协议中会给的
(3)把这个段码流的含义翻译成人类能够直观理解的文字或者数字




第二次体会:
Wireshark的LUA脚本研究
(1)DissectorTable是一个全局LUA表,这个表的内容就是各种各样的协议对象(应该是树形结构体分层管理的),在解析报文的时候,应该会遍历这个表的某个子表,然后找到一个合适的协议去解析。例如说待解析的协议在TCP下面,它就会遍历TCP子表,看是否有合适的协议来解析报文。所以说,在新建一个协议的时候,必须要把这个协议添加到DissectorTable中,否则新建的协议将无法生效。
(2)对于新建的协议,必须要重载dissector方法,报文在解析的时候就是调用这个方法来解析




从两次体会的侧重点可以看出,第一次体会主要是体会了Wireshark解析操作的基本思想,第二次体会主要是体会了Wireshark是如何开放接口给程序员支持解析自定义协议的。两次体会在不同的层次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值