分类: 系统运维
2010-03-16 01:43:36
(不久以前叫Ethereal)是著名的网络协议分析工具,支持多种协议报文解析……(此处省略若干字),下面是来自官方的说 明:“Wireshark is the world's foremost network protocol analyzer, and is the de facto (and often de jure) standard across many industries and educational institutions”。
Wireshark支持Uinx和Windows等多平台,按照官方的Developer's Guide在Windows下编译一个版本(0.99.8),以下是编译步骤:(和Developer's Guide的Win32 Step-by-Step Guide一样)。
1.安装VC编译器和Platform SDK。
在Windows用VC6到VC9之间的任个编译器(VS2003 Toolkit除外)都可以编译Wireshark。“Don't use cygwin's gcc!.”GCC(当然是Windows的)是不能正确编译或者需要花一定的力气才能正确编译,所以手册中没有不推荐使用GCC。
至于Platform SDK在安装 Visual Studio的时候都默认安装的有,所以额外安装。没有安装Visual Studio?不是吧?到街上按照5 RMB/张光盘买个版本回来按照安装说明安装。到网下载?加上MSDN体积有点大,还是到街上买个D版的方便。
注意:安装时要设置vcvars32.bat作为系统变量或者在编译前调用vcvars32.bat。
2.安装
下载Cygwin的安装程序,然后开始安装……。如果网速不够快,可以下载本地安装包进行安装(据说有500—600M,看来也不小)。
不管是在线或者是本地安装,要注意选中下面几个必需的包,这几个包在Cygwin安装时默认是不安装的:
· Archive / unzip
· Devel / bison
· Devel / flex
· Interdivters / perl
· Utils / patch
· Web / wget
选择方法: 展开后点击skip,使其变为版本号即可.3.安装
安装python2.4版本,指导手册上说2.5的可能有问题,但我的就是2.5,编译是并没有遇到问题^_^.
4. 安装Subversion Client
这一步不是必须的,可以忽略。
5.获取源代码
获取源码后要修改源码的config.nmake文件来指定对应的对应的工具以及相关信息,主要修改由下面几个方面:
1.版本信息设置
VERSION_EXTRA:指定自定义编译的版本号,字符串形式,例如:“-SVN-12345”。
2.路径设置
PROGRAM_FILES:应用程序的按装目录,一般为C:/Program Files。这里要注意如果相关的应用程序不是在同一盘符下面安装的时候,可能会出现问题:
例 如:
HHC_DIR=$(PROGRAM_FILES)/HTML Help Workshop //生成帮助文件的时候用到,好像安装系统的时候就默认安装到C:/Program Files。
MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\*.* //生产安装程序的时候会用到,打报VC的运行库
WIRESHARK_LIBS=E:\MyCode\wireshark\src\wireshark-win32-libs //依赖库的路径,依赖可可以通过makefile文件自动获取;
MSVC_VARIANT=MSVC2005 //指定编译器类型
3.库信息设置
按照默认设置就可以了。
4.工具设 置
CYGWIN_PATH=d:\cygwin\bin // cygwin的安装路径
PYTHON="d:/python25/python.exe" //设置python的路径
MAKENSIS="d:\Program Files\nsis\makensis.exe" //设置nsis打包工具的路径
INSTALL2_DIR=E:\MyCode\wireshark\wireshark-gtk2 //编译输出文件路径(GTK2版本的)
6.设置命令行环境
主要是设置关于VC的环境变量,使可以在命令行中 直接运行nmake。同时要把当前的目录设置成Wireshark源文件的目录。
7.编译 Wireshark
设置上面这些就可以编译了,具体步骤如下:
1.验证工具安装是否正确
>nmake -f Makefile.nmake verify_tools
命令将输出类似于下面的信息:
Checking for required applications:
cl: /cygdrive/c/Programme/Microsoft Visual Studio 8/VC/BIN/cl
link: /cygdrive/c/Programme/Microsoft Visual Studio 8/VC/BIN/link
nmake: /cygdrive/c/Programme/Microsoft Visual Studio 8/VC/BIN/nmake
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
env: /usr/bin/env
C:/python24/python.exe: /cygdrive/c/python24/python.exe
sed: /usr/bin/sed
unzip: /usr/bin/unzip
wget: /usr/bin/wget
2.下载安装库文件
>nmake -f Makefile.nmake setup
用wget下载和安装库文件,这一步可 能需要一些时间。
3. Distclean源文件
>nmake -f Makefile.nmake distclean
Wireshark的源代码包含一些为UNIX编译而准备的文件,在首次编译前必须清楚你的源文件。
4.编译Wireshark
>nmake -f Makefile.nmake all
编译需要一定的时间,编译成功后再生成的目录中执行 wireshark.exe来检查编译是否成功。
如果编译失败,就按照对应的错误提示修 改。
8.制作安装程序(不是必须的)
要制作安装程序需要完成下面的步骤:
1.下载和安装
安装程序有NISS来制作完成,需要安装NISS程序,同时也需要正 确设置config.nmake文件中的MAKENSIS参数。
2.获取 vcredist_x86.exe
复制VC的C运行库的重新发布程序到$(WIRESHARK_LIBS)下面。
3. 生成安装程序
> nmake -f Makefile.nmake packaging
执行成功后,生成的安装程序在源代码的\packaging\nsis路径下,可以在其它的电脑上验证安装程序是否正确了….