简介:本文章基于Wireshark 2.4版本参照开发手册第9.2章进行开发,而且经过逐步验证和确认。
相关代码在github中保存,路径为: git@github.com:gnlsw/wireshark_plugin.git
注册插件,显示协议类型
Fig. 1 - 显示Protocol列显示消息体,涵盖所有数据
Fig.2 - 增加item,包含全部data解析各个字段
Fig.3 - 详细解析数字显示为枚举
Fig.4 - Type显示为字符串显示bit位
Fig.5 - Flags详细解析bit位修改Info和消息提名称
Fig. 6 - 显示Info插件部署
源码编译安装wireshark,基于源码增加插件代码,如下文件,参照gryphon增加foo路径
- plugins/Makefile.am,
- CMakeLists.txt
- configure.ac
执行如下步骤编译生成插件并部署
- ./autogen.sh
- ./configure
- make
- 在插件路径执行sudo make install
插件移植
生成的插件,应该是可以复制到其他电脑上使用的,但是将编译出来的插件移动到安装的wireshark插件路径时,提示The plugin foo.so has no version symbol.
Fig.7 - Plugin加载提示错误
尝试的方法:
- 通过apt-get install安装wireshark,软件版本为2.0.2,下载最新的源代码,源代码版本为2.5.0,版本不一致
a. 通过./autogen.sh ./configure make源码生成foo.so,将foo.so移动到wireshark的插件路径,提示错误 --- fail
b. 通过./autogen.sh ./configure make sudo make install源码生成foo.so,将foo.so移动到wireshark的插件路径,提示错误 --- fail - 通过源码编译安装wireshark 2.4.3
a. 在源码中增加plugin代码,修改编译所需的文件,一依次执行./autogenerate.sh, ./configure, make, sudo make install,foo.so安装到wireshark的插件路径,未提示错误 -- success
网友评论