Wireshark编译环境设置和编译

       Wireshark(不久以前叫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

    下载Cygwin的安装程序,然后开始安装……。如果网速不够快,可以下载本地安装包进行安装(据说有500—600M,看来也不小)。

不管是在线或者是本地安装,要注意选中下面几个必需的包,这几个包在Cygwin安装时默认是不安装的:

    · Archive / unzip
    · Devel / bison
    · Devel / flex
    · Interpreters / perl
    · Utils / patch
    · Web / wget
选择方法: 展开后点击skip,使其变为版本号即可.

3.安装python

        安装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来制作完成,需要安装NISS程序,同时也需要正确设置config.nmake文件中的MAKENSIS参数。

2.获取vcredist_x86.exe

    复制VC的C运行库的重新发布程序到$(WIRESHARK_LIBS)下面。

3. 生成安装程序

    > nmake -f Makefile.nmake packaging

    执行成功后,生成的安装程序在源代码的/packaging/nsis路径下,可以在其它的电脑上验证安装程序是否正确了….

你可能感兴趣的:(开源)