码迷,mamicode.com
首页 > Windows程序 > 详细

如何在Windows上编译wireshark源码

时间:2015-07-09 00:27:31      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:

     在深受了几天编译wireshark源码的痛苦后,记录下自己编译wireshark的经验,希望能给今后需要编译wireshark的人一些帮助。这个方法是能编译最新的wireshark源码,现在网上找的一些方法都是旧的一些方法,编译最新的wireshark是行不通的。我参考的是一个英文的说明文档,如果阅读此文档的人没有困难的话,可以就此英文文档说明进行编译。附上地址:https://www.wireshark.org/docs/wsdg_html_chunked/ChSetupWin32.html (如果打不开,可能需要FQ)

现在详细介绍编译wireshark的步骤:

1、安装VS2013

     社区版或旗舰版的都行,请一定按默认路径安装,这样可以减少很多麻烦。安装完成后,在cmd命令行下输入一下命令:C:\> xcopy "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include\Win32.Mak"  "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include"   注意:两个路径要用双引号引起来不然会提示有错。

2、安装Qt

     下载安装包, qt-sdk-windows-x86-msvc2013_opengl。注意看清楚,要是msvc2013版的,也请按默认路径安装

3、安装Cygwin

     Cygwin是在线安装的,在选择URL地址的时候可以选,http://mirror.kenerl.org,如果不行选择其中一个可以安装的就行,在进行选择安装包的时候,注意必须安装一下几个包:

  • Archive/unzip (not needed if using CMake)
  • Devel/bison (or install Win flex-bison - see Chocolatey below)
  • Devel/flex (or install Win flex-bison - see Chocolatey below)
  • Devel/git (recommended - see discussion about using Git below)
  • Interpreters/perl
  • Utils/patch (only if needed) (may be Devel/patch instead)
  • Web/wget (not needed if using CMake)
  • asciidoc
  • Interpreters/m4

如果看不大懂这些包的时候,将Archive,Devel,Interpreters,Utils,Web这几个包全部安装就行了。注:也是默认路径安装

4、安装python

    这很简单,安装python27,默认路径安装就行。

5、下载wireshark源码

     最好在GitHub上下载一般为最新的,或者到 https://www.wireshark.org/download/src/all-versions/ 下载最新的wireshark源码。

下载完源码后,将其命名为wireshark,并在C盘的根目录下新建一个名为Development的文件夹,然后将wireshark源码存放在里面。

6、配置相关环境(最为关键)

6.1、进入VS2013 --》 Visual studio tools,然后打开x86本机命令行工具,进行一下环境设置

> set CYGWIN=nodosfilewarning

> set WIRESHARK_BASE_DIR=C:\Development

> set WIRESHARK_TARGET_PLATFORM=win32  (如果你的vs2013是64位版本的就改为:win64)

> set QT5_BASE_DIR=C:\Qt\Qt5.3.0\5.3\msvc2013 (注意此处Qt的版本,你有可能安装的是Qt5.3.2,根据自身情况做修改)

> set WIRESHARK_VERSION_EXTRA=-YourExtraVersionInfo

6.2、然后转到wireshark的目录下

> cd  C:\Development\wireshark

6.3、验证安装工具:

> nmake -f Makefile.nmake verify_tools

如果出现以下提示信息就说明没问题

Microsoft (R) Program Maintenance Utility Version 12.00.21005.1
Copyright (C) Microsoft Corporation.  All rights reserved.
ERROR: The contents of ‘E:\Wireshark\Wireshark-win32-libs\current_tag.txt‘ is (unknown).
It should be 2014-10-01.Checking for required applications:
cl: /cygdrive/c/Program Files (x86)/Microsoft Visual Studio 12.0/VC/BIN/cl
        link: /cygdrive/c/Program Files (x86)/Microsoft Visual Studio 12.0/VC/BIN/link
        nmake: /cygdrive/c/Program Files (x86)/Microsoft Visual Studio 12.0/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
        peflags: /usr/bin/peflags
        perl: /usr/bin/perl
        C:\Python27\python.exe: /cygdrive/c/Python27/python.exe
        C:\Qt\Qt5.3.0\5.3\msvc2013\bin\qmake: /cygdrive/c/Qt/Qt5.3.0/5.3/msvc2013/bin/qmake
        sed: /usr/bin/sed
        unzip: /usr/bin/unzip
        wget: /usr/bin/wget
注:那个“ERROR”可以忽略。

6.4、安装库
>
nmake -f Makefile.nmake setup
如果没有出现什么错误,继续进行下一步

6.5、编译wireshark
>
nmake -f Makefile.nmake all
在编译过程中如果没有出现任何错误,恭喜你已经编译成功了。编译成功后会生成两个版本的可执行文件,一个是Qt版本的在: C:\Development\wireshark\wireshark-qt-release\Wireshark.exe。 另一个是老的GTK版本的: C:\Development\wireshark\wireshark-gtk2\Wireshark-gtk.exe.

注:如果编译过程中有出现什么错误,根据错误进行相应的修改,修改完后先执行命令
>
nmake -f Makefile.nmake distclean
再重新编译
> nmake -f Makefile.nmake all

 总体小结:

  1、这是针对编译新版wireshark编码的方法,网上一些方法都是针对旧版本的,此方法本人亲测可行。

  2、希望严格按照步骤一步步下来,可以少走弯路,上述软件一定按默认路径安装,可以减少修改路径的麻烦,不默认安装也行,不过到时修改路径会遇到各种问题,除非你对wireshark的源码很熟悉。

  3、以上安装是针对32位系统的,64位系统也是一样,只是相应软件下载64位版本的。

  4、如果你是看我提供的英文版的说明,它提供了一种在线安装的方法。不过建议还是下载安装包安装,在线安装一般都不会成功,也不知什么原因。

ps:配置编译的过程很痛苦,不过编译成功后,你会收获很多,也祝你在编译wireshark源码的路上,少走弯路。

如何在Windows上编译wireshark源码

标签:

原文地址:http://www.cnblogs.com/csq-it/p/4631438.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!