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:
检测程序是否正常编译,成功运行如下图:
发布评论