Build Wireshark based on Windows

独孤过儿 2009-02-17 03:14:00
很多人问我这个问题了,索性把以前写的一个给小组内人看的文档贴出来吧,希望有点帮助。

说明:我直接把word文档内的内容贴到这里来了,格式也不调整了。另外,文档内的server是公司内部的,外部无法访问,那些包在网上都能找得到。可以自己去google。有问题可以回帖或者mail我。

iWireshark Windows编译环境搭建
1、 安装Cygwin
我已经将ISO文件放在共享里面了,链接如下:
\\172.24.154.28\Software\Private Tools\Networking Tools\ cygwin-release-20061108.iso
2、 安装python(2.4.4版本或2.5.2版本)
此处提供两个版本的python, wireshark的源码默认的是使用2.4.x版本的python,如果想用最新版本的wireshark,需要自己修改config.nmake文件。python链接如下:
\\172.24.154.28\Software\Private Tools\Networking Tools\ python-2.4.4.msi
\\172.24.154.28\Software\Private Tools\Networking Tools\ python-2.5.2.msi
3、 安装TortoiseSVN(可选)
这是版本控制工具,用于从wireshark服务器checkout代码。这步不是必须的,可以下载离线代码编译,效果相同。TortoiseSVN链接如下:
\\172.24.154.28\Software\Private Tools\Networking Tools\TortoiseSVN-1.5.3.13783-win32-svn-1.5.2.msi
4、 设置环境变量,包括两部分,添加Cygwin的环境变量和python的环境变量。
5、 Checkout源代码或解压源代码
我下载了一个离线的源码包,链接如下:
\\172.24.154.28\Software\Private Tools\Networking Tools\wireshark-1.0.3.tar.gz
编译所需要的库文件本来是通过wget连接到服务器上下载的,但是公司的网络需要设置代理才能连接外网,且wget是命令行模式的操作,设置代理很麻烦,我就下载了一个离线的库文件,链接如下:
\\172.24.154.28\Software\Private Tools\Networking Tools\wireshark-win32-libs.rar
6、 检查并修改配置文件config.nmake,主要修改了extra version和python路径,使2.5版本能够正常使用,如果是2.4版本,不需要修改。修改的内容主要有以下几项:

# EXTRA版本号,定制自己的开发版本,我修改的版本号是”fetag-1001”
VERSION_EXTRA="-fetag-1001"

# 编译时候所需库文件的存放路径
WIRESHARK_LIBS=D:\wireshark-$(PLATFORM)-libs

# 指定编译器类型,只需要选择一个自己机器上的Windows编译器即可,其余的编译器# 选项全部注释掉,我的编译器是.NET2008
MSVC_VARIANT=MSVC2008

# 指定cygwin可执行程序的安装路径
CYGWIN_PATH=c:\cygwin\bin

#指定python可执行程序的安装路径
PYTHON="D:/python25/python.exe"
7、 执行C:\Program Files\Microsoft Visual Studio 9.0\VC\bin>vcvars32.bat,设置2008编译环境。
C:\Program Files\Microsoft Visual Studio 9.0\VC\bin>vcvars32.bat

C:\Program Files\Microsoft Visual Studio 9.0\VC\bin>"C:\Program Files\Microsoft
Visual Studio 9.0\Common7\Tools\vsvars32.bat"
Setting environment for using Microsoft Visual Studio 2008 x86 tools.
8、 Verify编译工具安装情况:
D:\wireshark>nmake -f Makefile.nmake verify_tools

Microsoft (R) 程序维护实用工具 9.00.21022.08 版
版权所有 (C) Microsoft Corporation。保留所有权利。

Checking for required applications:
cl: /cygdrive/c/Program Files/Microsoft Visual Studio 9.0/VC/BIN/cl
link: /cygdrive/c/Program Files/Microsoft Visual Studio 9.0/VC/BIN/link

nmake: /cygdrive/c/Program Files/Microsoft Visual Studio 9.0/VC/BIN/nmak
e
bash: /usr/bin/bash
bison: /usr/bin/bison
flex: /usr/bin/flex
env: /usr/bin/env
grep: /usr/bin/grep
/usr/bin/find: /usr/bin/find
perl: /usr/bin/perl
D:/python25/python.exe: /cygdrive/d/python25/python.exe
sed: /usr/bin/sed
unzip: /usr/bin/unzip
wget: /usr/bin/wget

D:\wireshark>
9、 安装编译时所需的库文件,库文件的保存路径在config.nmake文件中设置:
D:\wireshark>nmake -f Makefile.nmake setup
Wireshark is ready to build.
10、开始编译,注意:packet-sndcp-xid.c和packet-ieee80211.c需要重新转存成编码为UTF-8
格式的,否则编译有问题。这是wireshark源码包自身的问题,我已经提交了Bug Report,但愿下一个版本能够解决(现在提供的这个源码版本是最新下载的,不知道是否存在这个问题):
D:\wireshark>nmake -f Makefile.nmake all
11、编译结束后,运行程序:
D:\wireshark>wireshark-gtk2\wireshark.exe
...全文
1398 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
betty 2011-06-09
  • 打赏
  • 举报
回复
[Quote=引用楼主 fetag 的回复:]
很多人问我这个问题了,索性把以前写的一个给小组内人看的文档贴出来吧,希望有点帮助。

说明:我直接把word文档内的内容贴到这里来了,格式也不调整了。另外,文档内的server是公司内部的,外部无法访问,那些包在网上都能找得到。可以自己去google。有问题可以回帖或者mail我。

iWireshark Windows编译环境搭建
1、 安装Cygwin
我已经将ISO文件放在共享里……
[/Quote]
楼主,您好!我已经把wireshark编译成功并运行了,现在想进一步理解源码和做些修改,但是很茫然,这方面的资料也很少,您能给些指导吗??谢谢您!
lqbk1 2010-05-10
  • 打赏
  • 举报
回复
楼主为什么不发2分帖呢?
反正结帖之后,还是有1分返还的……
shenghcl 2010-05-10
  • 打赏
  • 举报
回复
lz,你的第九步能直接在线安装?这个好像不能吧
doingscu 2010-01-19
  • 打赏
  • 举报
回复
如果要看源码的话,从哪个功能函数看起比较 好?切入点
老邓 2009-09-27
  • 打赏
  • 举报
回复
很强大!
helloworldzyy 2009-09-27
  • 打赏
  • 举报
回复
能调试吗?
laomai 2009-02-19
  • 打赏
  • 举报
回复
呵呵,看看在说
Wolf0403 2009-02-18
  • 打赏
  • 举报
回复
bs lz..懒得找理由了。
独孤过儿 2009-02-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 VBSpine 的回复:]
能猫,你也搞一分帖???
[/Quote]
我这相当于回答问题,一分都觉得放多了啊...

你没见我发一份贴的时候呢,嘿嘿...
R9R9R9 2009-02-17
  • 打赏
  • 举报
回复
1分都不能放过!
九桔猫 2009-02-17
  • 打赏
  • 举报
回复
能猫,你也搞一分帖???
lidongri 2009-02-17
  • 打赏
  • 举报
回复
BS 1分 贴

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧