C/C++教程

Wireshark C插件编译

本文主要是介绍Wireshark C插件编译,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、开发环境

 

  1. OS: Win10 64bit
  2. VisualStudio:VS2010
  3. Wireshark:Wireshark-1.8.6
  4. Cygwin:最新版
  5. 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

 

编译成功后在 *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关键字都有哪些地方,相应的新增所添加插件名称的即可

这篇关于Wireshark C插件编译的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!