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

来源:互联网 发布:002460历史交易数据 编辑:程序博客网 时间:2024/06/05 00:27

在用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.csdn.net/jasonhwang/archive/2010/04/25/5526383.aspx)