2024年2月18日发(作者:)

WireShark-WIN8-2013-VS2010-编译实践

Author:Fingerling

Mail:10311400@

Date:2013-01-09

WireShark简介

一、Wireshark 是一个开源软件,遵循GNU General Public License (GPL),可以从以下地址下载:/download/

二、Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。

发展历程:

1997年底,GeraldCombs需要一个能够追踪网络流量的工具软件作为其工作上的辅助。因此他开始撰写Ethereal软件。Ethereal在经过几次中断开发的事件过后,终于在1998年7月释出其第一个版本v0.2.0。自此之后,Combs收到了来自全世界的修补程式、错误回报与鼓励信件。Ethereal的发展就此开始。不久之后,GilbertRamirez看到了这套软件的开发潜力并开始参予低阶程式的开发。1998年10月,来自NetworkAppliance公司的GuyHarris在寻找一套比tcpview(另外一套网络封包撷取程式)更好的软件。于是他也开始参与Ethereal的开发工作。1998年底,一位在教授TCP/IP课程的讲师RichardSharpe,看到了这套软件的发展潜力,而后开始参与开发与加入新协定的功能。在当时,新的通讯协定的制定并不复杂,因此他开始在Ethereal上新增的封包撷取功能,几乎包含了当时所有通讯协定。

自此之后,数以千计的人开始参与Ethereal的开发,多半是因为希望能让Ethereal撷取特定的,尚未包含在Ethereal默认的网络协定的封包而参予新的开发。2006年6月,因为商标的问题,Ethereal更名为Wireshark。到2013年1月,已经发布了Wireshark1.8.0版本,1.9.0版本正在开发中。

三、Wireshark 能够在以下平台运行:

Unix:Apple Mac OS X、BeOS、FreeBSD、HP-UX、IBM AIX、NetBSD、OpenBSD、SCO UnixWare/OpenUnix、SGI Irix、Sun Solaris/Intel、Sun Solaris/Sparc、

Tru64 UNIX (formerly Digital UNIX)

Linux:Debian GNU/Linux、Ubuntu、Gentoo Linux、IBM S/390 Linux (Red

Hat) 、Mandrake Linux、PLD Linux、Red Hat Linux、Rock Linux、Slackware Linux、Suse Linux

Windows(支持32位与64位): Windows Server 2000、Windows XP、Windows

Server 2003、Windows Vista、Windows 7、Windows Server 2008、Windows 8

四、Wireshark 开发者文档:

/docs/wsdg_html_chunked/

学习实践环境

说明:所有的操作均在虚拟机下完成,主要程序文件:

cn_windows_8_enterprise_x64_dvd_

cn_visual_studio_2010_ultimate_x86_dvd_

GRMSDKX_EN_

一、下载源码

通过SVN工具TortoiseSVN(使用版本: 1.7.7)

下载地址:/wireshark/trunk

当前最新版本Wireshark源码(当前版本:1.9.0)

有时间的可以将整个版本库全部checkout,以作备份与研究,耗时较长

/wireshark

二、开发工具安装准备

参照开发者文档:/docs/wsdg_html_chunked/

1、安装Microsoft Visual C++ 2010:

开发者文档上安装为Microsoft Visual C++ 2010 Express Edition,本机实际安装:

2、安装Microsoft Windows SDK:

开发者文档上安装为Microsoft Windows SDK for Windows 7

下载地址:/en-us/download/?id=8279

下载64位版本ISO文件:GRMSDKX_EN_

3、安装Microsoft Visual Studio 2010 Service Pack 1:

安装相应的补丁

4、安装Microsoft Visual C++ 2010 Service Pack 1 Compiler Update for the

Windows SDK 7.1:

下载地址:/zh-cn/download/?id=4422

5、安装Cygwin:

cygwin是一个在windows平台上运行的unix模拟环境

下载并运行Cygwin网络安装程序,地址:/

安装界面如下,按照要求选择相应附件组件包:

Archive/unzip

Archive/zip (only needed if you intend to build the U3 package)

Devel/bison

Devel/flex

Devel/subversion (optional - see discussion about using Subversion below)

Interpreters/perl

Web/wget

在需要选择的包上鼠标点击一下即出现相应的版本:

选择完后按默认安装即可

6、安装Python:

Python(KK 英语发音:/'pa?θɑn/, DJ 英语发音:/?paiθ?n/)是一种面向对象、直译式计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简捷而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,速度要求非常高,就可以用C++重写。

下载并运行Python 2.7网络安装程序,地址:/download/

64位版本:/ftp/python/2.7.3/

7、安装Subversion Client(非必须):

Subversion Client:SVN版本控制系统客户端, Subversion from

网址:/

(/#windows)有很多Windows版本,任意下载一个,也可以安装TortoiseSVN,安全安装,将包括SVN命令行工具

8、安装Subversion from Cygwin(非必须):

安装Cygwin时已经选择此组件包

9、安装TortoiseSVN(非必须):

本机已经安装TortoiseSVN,安装时,安装全部组件,带SVN命令行

地址:/

下载主程序及中文语言包:

分别安装主程序,然后安装中文语言包,安装完毕后,在桌面或任意文件夹单击鼠标右键,可以发现以下弹出菜单,则表示安装完成(未设置语言前是英文)

三、编译源码

1、准备源码:

将已经通过SVN客户端下载的Wireshark源码COPY至c:wireshark目录

如果未下载请通过SVN客户端从以下网址check out最新源码

/wireshark/trunk/

2、修改文件:

A)用户事本或其他文本编辑工具打开(如notepad++、UltraEdit)

查找:

#MSVC_VARIANT=MSVC2010

去掉其前面的#,变为:

MSVC_VARIANT=MSVC2010

如果你安装的是Microsoft Visual C++ 2010 Express Edition,则

查找:

#MSVC_VARIANT=MSVC2010

去掉其前面的#,变为:

MSVC_VARIANT=MSVC2010

根据不同的MSVC版本选择不同的值

B)查找WIRESHARK_TARGET_PLATFORM=win32

WIRESHARK_TARGET_PLATFORM=win32

改为:

WIRESHARK_TARGET_PLATFORM=win64

注:(此次编译64位应用程序)

3、准备与运行:

按住Windows键,再按X键,弹出相应菜单:

选择“命令提示符(管理员)”进入命令行模式:

设置Visual C++ 2010环境变量:

if you are building on a 32-bit machine, to build 32-bit binaries

call C:Program FilesMicrosoft Visual Studio

and to build 64-bit binaries call

C:Program FilesMicrosoft Visual Studio

x86_amd64

if you are building on a 64-bit machine, to build 32-bit binaries

call C:Program Files (x86)Microsoft Visual Studio

and to build 64-bit binaries call

C:Program Files (x86)Microsoft Visual Studio

amd64

依次执行命令(此次编译64位应用程序):

cd C:Program Files (x86)Microsoft Visual Studio 10.0VC

amd64

cd C:wireshark

4、验证安装工具(Verify installed tools):

接上图,在上图的命令行模式下继续执行:

nmake -f verify_tools

执行后,会提示一个错误:

ERROR: The contents of 'C:Wireshark-win32-libscurrent_' is (unknown).

这是由于没有安装相应的库文件造成的,接下来将下载,其他的显示应该正常,如下图:

5、安装相应的库(Install Libraries):

接上图,在上图的命令行模式下继续执行:

nmake -f setup

系统将自动下载相应的库文件至C:

Wireshark-win64-libs(wireshark-win32-libs)目录,下载根据网络情况需要一定的耗时(此次实验5分钟左右)

下载完后继续执行第4步验证安装工具,发现已经正常:

6、清理源(Distclean Sources):

接上图,在上图的命令行模式下继续执行:

nmake -f distclean

系统将对源目录进行清理,清理已经生成的中间obj文件,为重新编辑源程序做好准备

7、编译Wireshark(Build Wireshark):

接上图,在上图的命令行模式下继续执行:

nmake -f all

编译时间根据机器性能耗时较长,如果编译成功,则如下图所示:

你可以运行

C:

检测程序是否正常编译,成功运行如下图: