Wireshark C插件编译

一、开发环境

   OS: Win10 64bit

  1.     VisualStudio:VS2010
  2.     Wireshark:Wireshark-1.8.6 (https://www.wireshark.org/download/src/all-versions/wireshark-1.8.6.tar.bz2)
  3.     Cygwin:最新版
  4.     Python:Python2.7.13

 参考链接:

  1.     https://wenku.baidu.com/view/854c986d011ca300a6c39081.html
  2.     https://www.cnblogs.com/zzqcn/archive/2013/04/23/3039110.html

 

二、工具安装

  1)    VisualStudio安装不会就百度吧

  2)    Cygwin

    http://www.cygwin.com/install.html  setup-x86.exe   32-bit versions of windows

    下载上述连接的安装文件,选择如下几个编译wireshark所必须,但默认又不安装的包

    (分类/具体的包)

    A. Archive/unzip

    B. *Archive/zip (only needed if you intend to build the U3 package)

    C. Devel/bison

    D. Devel/flex

    E.  *Devel/subversion (optional - see discussion about using Subversion below)

    F.  Interpreters/perl

    G. Utils/patch

    H. Web/wget

    I.   Utils/dos2unix

  3)    Python安装,设置都选默认即可

三、环境变量设置

  分别将C:\cygwin\bin     C:\Program Files (x86)Microsoft Virual Studio 10.0\VC\bin  这两个路径添加到用户环境变量PATH中,上述两个具体的值请根据电脑安装路径确认。

          

四、Wireshark编译

  1)    编辑config.nmake文件

    下载完Wireshark源码后,在wireshark根目录下打开config.nmake文件,进行如下修改后才可以开始编译(更多说明请参考参考链接中的对应部分,本次编译只需修改如下即可)

    VERSION_EXTRA=-HBUS

  2)    验证工具

      

    打开Visual Studio命令行工具(请确认是x86 32位的命令行),进入Wireshark源码目录,输入nmake –f Makefile.nmake verify_tools   成功的话会显示如下

      

  3)    下载编译所需要的库

    nmake –f Makefile.nmake setup

  4)    执行编译清除

    nmake –f Makefile.nmake distclean

  5)    执行编译

    nmake –f Makefile.nmake all

  6)    编译成功后在 *wireshark\wireshark-gtk2目录下可以看到wireshark.exe可执行程序,如果能打开即编译成功

 五、插件代码编写

  示例代码参见packet-hbus.c  说明参考参考链接

六、插件编译

  1)    在plugins目录下新建hbus文件夹

  2)    将plugins/gryphon目录下的文件全部拷至hbus文件夹

  3)    修改Makefile.am、Makefile.common、Makefile.in、moduleinfo.h、moduleinfo.nmake、CMakelists.txt文件中的gryphon修改成hbus

  4)    将编写的packet-hbus.c、packet-hbus.h拷贝至plugins/hbus目录下

  5)    进入plugin\hbus目录,输入nmake Makefile.nmake all 单独编译hbus插件可以进行插件编译检查程序的正确性。

  6)    修改编译脚本

  如下文件将被修改:

    a)    plugins/Makefile.am 中在SUBDIRS= $(_CUSTOM_SUBDIRS_) \ 下添加hbus

        

    b)    plugins/Makefile.nmake中PLUGIN_LIST添加如下

       

    c)    在最顶层的Makefile.am中if HAVE_PLUGINS下添加如下图所示

       

    d)    在最顶层configure.in文件中AC_OUTPUT规则中添加Makefile文件

       

    e)    在epan/Makefile.am中添加如下

       

    f)     在packaging/nsis/Makefile.nmake文件中给PLUGINS变量添加如下,用于NSIS安装器

       

    g)    在packaging/nsis/wireshark.nsis文件中

       

   7)    修改完上述文件后,进入wireshark根目录重新进行编译:

    nmake -f Makefile.nmake distclean

    nmake –f Makefile.nmake all

七、效果展示

   

  如上图,在filter中输入hbus过滤其他类型报文

  修改编译文件时,由于本次文件是参考cryphon这个协议修改的,因此只需要搜索对应文件的cryphon关键字都有哪些地方,相应的新增所添加插件名称的即可

posted @ 2021-05-08 18:30  huakaimanlin的博客  阅读(359)  评论(0编辑  收藏  举报