Wireshark插件开发指南

简介:本文章基于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路径

  1. plugins/Makefile.am,
  2. CMakeLists.txt
  3. configure.ac

执行如下步骤编译生成插件并部署

  1. ./autogen.sh
  2. ./configure
  3. make
  4. 在插件路径执行sudo make install
插件移植

生成的插件,应该是可以复制到其他电脑上使用的,但是将编译出来的插件移动到安装的wireshark插件路径时,提示The plugin foo.so has no version symbol.


Fig.7 - Plugin加载提示错误

尝试的方法:

  1. 通过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
  2. 通过源码编译安装wireshark 2.4.3
    a. 在源码中增加plugin代码,修改编译所需的文件,一依次执行./autogenerate.sh, ./configure, make, sudo make install,foo.so安装到wireshark的插件路径,未提示错误 -- success
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容