wireshark二次开发

来源:互联网 发布:做照片的软件 编辑:程序博客网 时间:2024/05/16 00:28

最近公司在做一个项目,要分析多个pcap文件,需要调用wireshark来做分析,所以要熟悉wireshark源码,wireshark功能如此强大,源代码看起来相当费力,为了尽快熟悉wireahrk,最好的办法就是能调试wireshark。接下来分别介绍(1).windows下如何编译wireshark(2).wireshark源码中部分函数分析及使用


一.windows下如何编译wireshark源码

1.下载安装cygwin,可以直接选择网上的安装包下载,因为在线下载会很慢的

2.下载安装python ,本人使用python26版本

3.下载wirshark源码,下载地址:https://www.wireshark.org/download/src/all-versions/

1.10版本往下才会有vs的工程文件存在

4.打开wireshark源码目录,找到config.nmake,修改如下几项:

1.WIRESHARK_LIBS,设置编译WireShark所需的库所在的目录,默认即可。

2.PROGRAM_FILES,设置本机程序安装目录,默认即可

3.MSVC_VARIANT,因为我使用VS2008编译,所以这里将值为MSVC2010的那一行前的#去掉,其余MSVC_VARIANT项行首全部加上#注释掉

4..CYGWIN_PATH,将其设置为Cygwinbin目录,例如D:\source\cygwin\cygwin\cygwin\bin

5.PYTHON及其后的PATH,将其修改为本机python.exe和其安装目录的位置,例如C:\Python27\Python.exe。(也可采用默认)

6.MSVCR_DLL,如果VS安装在D盘,请在这里相应的地方用绝对路径表示,而不要去修改前面的PROGRAM_FILES,否则会出现意想不到的错误

例:MSVCR_DLL=D:\softinstall\MicrosoftVisual Studio 10.0\VC\redist\x64\Microsoft.VC100.CRT\*.*

5.编译wireshark

打开vs2010cmd工具,找到D:\softinstall\Microsoft Visual Studio10.0\VC\bin\下的vcvars32.bat,拖到cmd里的,再切换到wireshark源码目录,

6.依次输入如下指令:

 

1.nmake -f Makefile.nmake verify_tools

2.nmake -f Makefile.nmake setup

此命令会在线下载一些安装包,存放到c根目录下

3.nmake -f Makefile.nmake distclean

4.nmake -f Makefile.nmake all

此命令可能会第一次出错,再进行一次编译就可以了


二.wireshark部分源码分析

1.编译成功后,会在wireshark目录下wireshark-gtk2目录下产生一堆lib、dll,这些库非常重要。下面的开发将会使用这些库。这里也可以进行调试wireshark了,调试看的会更容易明白wireshark是如何工作的了。

2.如何想将wireshark源码添加到vs中,方便单步调试,这里要说明一下,从wireshark1.10.9版本以前,才会有vs的工程文件,此时需要自己建立一个解决方案,将工程文件添加到该解决方案中即可

3.静态引用编译成功产生的各lib,代码如下:

这里要说明的是,wireshark是需要glib库的,要想加载wireshark库首先要能正常加载glib库,而glib库为linux常用的C语言库,需要先

移植到windows下,这个很容易,网上也是可以找到相关资源的,这里不讲述了

4.此时就可以进行wireshark二次开发了,先大概看明白wireshark,需要用到wireshark哪部分就加载哪部分,其实因为我们不需要界面部分,其实用到的还是tshark源码部分,像打开pcap文件、读取pcap文件,合并pcap文件,解析pcap文件,还有很多很多可以做,这些都比较容易的,这里不再多说了



本人前段时间还将tshark源码成功移植到了android平台,实现了手机上抓包分析文件,有时间分享给大家,这个目前市面上也是没有的


0 0
原创粉丝点击