
我们从协议对象开始,命名为 pulsar_protocol 。构造函数两个参数分别为名称和描述。协议需要一个 fields 表和 dissecotr 函数。我们现在还没有任何 field ,所以 fields 表为空。对于每一个报文, dissctor 函数都会被调用一次。
dissector 函数有三个入参, buffer , pinfo ,和 tree 。 buffer 包含了网络包的内容,是一个 Tvb 对象。 pinfo 包含了wireshark中展示packet的列信息,是一个 Pinfo 对象。 tree 是wireshark报文详情显示的内容,是 TreeItem 对象。
在 dissector 函数中,我们检查buffer的长度,如果长度为0,则立即返回
pinfo 对象包含着列信息,我们可以将 pinfo 的protocol设置为pulsar,显示在wireshark的界面中。接下来在packet的结构中创建一个子树,最后,我们把协议绑定到6650端口上。让我们加载这个 lua 插件
结果符合预期
让我们添加一个长度字段,pulsar协议中,长度字段即就是前4个字节,定义字段
pulsar.message_length 可以用在过滤器字段中。 messageLength 是子树中的 label 。第三个字段决定了这个值会被如何展示
最后,我们把长度值加入到Wireshark的tree中
pulsar的协议是大端序,我们使用 add 函数。如果协议是小端序,我们就可以使用 addle 函数。
我们添加的 message_length 字段已经可以显示在Wireshark中了
https://www.wireshark.org/docs/wsdg_html_chunked/lua_module_Proto.html#lua_fn_ProtoField_char_abbr___name____base____valuestring____mask____desc__
https://ask.wireshark.org/question/15787/how-to-decode-protobuf-by-wireshark/
1、在互联网搜索到我们想要安装的软件版本,执行安装包后d出如下欢迎界面: 2、点击下一步进行安装! 3、这一步wireshark会询问我们需要安装哪些程序组件。我们可以选择性的安装我们必须的一些wireshark附带的工具; 4、通常使用到的有:wireshark主程序(图形界面)、TSshark(基于命令行的)、plugins/extensions(wireshark以及TSshark的一些扩展插件)等...在此我们选择安装全部组件程序后点击“Next”进入到下一步安装; 5、所示在此界面wireshark安装程序会询问我们是否要在开始菜单(Start Menu Item)、桌面快捷方式(Desktop Icon)、快速启动栏(Quick Launch Icon)以及是否关联所列出的后缀名文件。在此我们选择建立桌面快捷方式并且关联到列出后缀名文件后点击“Next”进入到下一步安装; 6、wireshark询问我们的安装位置。我们选择F盘点击“Next”;7wireshark安装程序询问我们是否安装依赖软件WinPcap3.0(该软件主要用于捕获网络底层数据包),假如您的电脑上已经安装了该软件,那么我们可以取消掉该软甲的安装。在此处由于我们没有安装过该软件我们勾选该复选框后点击“Install”执行安装; 8、我们进入到WinPcap的安装界面点击“Next”进入到下一步安装;9、点击“Next”进行到WinPcap的下一步安装 *** 作; 10、WinPcap询问我们是否开机自动启动WinPcap驱动程序。我们采取默认选项后点击“Install”;11、那么就是您的电脑已经安装了该类软件,WinPcap询问我们是否卸载以前所安装的WinPcap。在此我们选择“是”后WinPcap开始自动安装; 12说名wireshark已经安装成功了,点击“Finish”后在桌面我们可以看到wireshark的快捷方式;欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)