windows下编译wireshark源码(转)

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

posted @ 2010-11-19 10:44  董雨  阅读(1579)  评论(0编辑  收藏  举报