wireshark lua: How to add your own tab to "Packet Bytes" pane (just like "reassembled TCP" tab) -- 用wireshark lua编写协议解析器dissecto

本文详细介绍了如何利用wiresharklua编写自定义协议解析器,通过创建新的面板来展示特定的数据字段,以增强wireshark的解析能力。示例代码展示了如何在包字节面板上加入自定义面板,并正确处理转换类型错误。

在用wireshark lua编写自己的协议解析器dissector时,是可以在包字节面板(Packet Bytes pane)上加入自己的tab的,就像HTTP跨越多个TCP包时,会加上一个Reassembled TCP面板到字节面板里,用于显示整个完整的HTTP消息。

 

样例代码如下:

  

 

代码效果是在wireshark"Packet Bytes" pane面板里添加两个自己的tab,一个用了自己的数据,另一个用协议包本身的数据。

结果如下图所示:其中tab “Frame”和“Reassembled TCP” Wireshark自己生成的;而“tvb1_my_own_data”(自己数据tab)和“tvb2_copy_packet_data”是自己添加的tab。

编程中需要注意的是,wireshark lua API手册中关于从ByteArray类型转换为TVB类型的接口Tvb.new_real(bytearray, name) 是错了,看wireshark相关源代码后得知,应该是bytearray:tvb( name)才对(其中name为tab的显示字串)。

 

 

 

 

Reference: 更多wireshark lua介绍请参考《如何在wireshark里用lua脚本编写dissector解析HTTP BODY (after TCP reassembled)》(http://blog.youkuaiyun.com/jasonhwang/archive/2010/04/25/5526383.aspx

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值