第 2 章 编译/安装Wireshark

目录

2.1. 须知
2.2. 获得源
2.3. 在UNIX下安装之前
2.4. 在UNIX下编译Wireshark
2.5. 在UNIX下安装二进制包
2.5.1. 在Linux或类似环境下安装RPM包
2.5.2. 在Debian环境下安装Deb包
2.5.3. 在Gentoo Linux环境下安装Portage
2.5.4. 在FreeBSD环境下安装包
2.6. 解决UNIX下安装过程中的问题
2.7. 在Windows下编译源
2.8. 在Windows下安装Wireshark
2.8.1. 安装Wireshark
2.8.2. 手动安装WinPcap
2.8.3. 更新Wireshark
2.8.4. 更新WinPcap
2.8.5. 卸载Wireshark
2.8.6. 卸载WinPcap

2.1. 须知

万事皆有开头,Wireshark也同样如此。要想使用Wireshark,你必须:

  • 获得一个适合您操作系统的二进制包,或者

  • 获得源文件为您的操作系统编译。

目前,只有两到三种Linux发行版可以传送Wireshark,而且通常传输的都是过时的版本。至今尚未有UNIX版本可以传输Wireshark . Windows的任何版本都不能传输Wireshark.基于以上原因,你需要知道从哪能得到最新版本的Wireshark以及如何安装它。

本章节向您展示如何获得源文件和二进制包,如何根据你的需要编译Wireshark源文件。

以下是通常的步骤:

  1. 下载需要的相关包,例如:源文件或者二进制发行版。

  2. 将源文件编译成二进制包(如果您下载的是源文件的话)。这样做做可以整合编译和/或安装其他需要的包。

  3. 安装二进制包到最终目标位置。

2.2. 获得源

你可以从Wireshark网站http://www.wireshark.org.同时获取源文件和二进制发行版。选择您需要下载的链接,然后选择源文件或二进制发行包所在的镜像站点(尽可能离你近一点的站点)。

[] 下载所有需要的文件 !

一般来说,除非您已经下载Wireshark,如果您想编译Wireshark源文件,您可能需要下载多个包。这些在后面章节会提到。

[]注意

当你发现在网站上有多个二进制发行版可用,您应该选择适合您平台的版本,他们同时通常会有多个版本紧跟在当前版本后面,那些通常时拥有那些平台的用户编译的。

基于以上原因,您可能想自己下载源文件自己编译,因为这样相对方便一点。

2.3. 在UNIX下安装之前

在编译或者安装二进制发行版之前,您必须确定已经安装如下包:

  1. GTK+, The GIMP Tool Kit.

    您将会同样需要Glib.它们都可以从www.gtk.org获得。

  2. Libpcap , Wireshark用来捕捉包的工具

    您可以从www.tcpdump.org获得。

根据您操作系统的不同,您或许能够安装二进制包,如RPMs.或许您需要获得源文件并编译它。

如果您已经下载了GTK+源文件,例 2.1 “从源文件编译GTK+提供的指令对您编译有所帮助。

例 2.1. 从源文件编译GTK+

gzip -dc gtk+-1.2.10.tar.gz | tar xvf -
<much output removed>
./configure
<much output removed>
make install
<much output remove>

[]注意

您可能需要修改例 2.1 “从源文件编译GTK+中提供的版本号成对应您下载的GTK+版本。如果GTK的目录发生变更,您同样需要修改它。,tar xvf 显示您需要修改的目录。

[]注意

如果您使用Linux,或者安装了GUN tar,您可以使用tar zxvfgtk+-1.2.10.tar.gz命令。同样也可能使用gunzip –c或者gzcat而不是许多UNIX中的gzip –dc

[]注意
如果您在windows中下载了gtk+ 或者其他文件。您的文件可能名称为:gtk+-1_2_8_tar.gz

如果在执行例 2.1 “从源文件编译GTK+中的指令时有错误发生的话,你可以咨询GTK+网站。

如果您已经下载了libpcap源,一般指令如例 2.2 “编译、安装libpcap” 显示的那样会帮您完成编译。同样,如果您的操作系统不支持tcpdump,您可以从tcpdump网站下载安装它。

例 2.2. 编译、安装libpcap

gzip -dc libpcap-0.9.4.tar.Z | tar xvf -
<much output removed>
cd libpcap-0.9.4
./configure
<much output removed>
make
<much output removed>
make install
<much output removed>

[]注意
Libpcap的目录需要根据您的版本进行修改。tar xvf命令显示您解压缩的目录。

RedHat 6.x及其以上版本环境下(包括基于它的发行版,如Mandrake),您可以直接运行RPM安装所有的包。大多数情况下的Linux需要安装GTK+和Glib.反过来说,你可能需要安装所有包的定制版。安装命令可以参考例 2.3 “在RedHat Linux 6.2或者基于该版本得发行版下安装需要的RPM包”。如果您还没有安装,您可能需要安装需要的RPMs。

例 2.3. 在RedHat Linux 6.2或者基于该版本得发行版下安装需要的RPM包

cd /mnt/cdrom/RedHat/RPMS
rpm -ivh glib-1.2.6-3.i386.rpm
rpm -ivh glib-devel-1.2.6-3.i386.rpm
rpm -ivh gtk+-1.2.6-7.i386.rpm
rpm -ivh gtk+-devel-1.2.6-7.i386.rpm
rpm -ivh libpcap-0.4-19.i386.rpm

[]注意

如果您使用RedHat 6.2之后的版本,需要的RMPs包可能已经变化。您需要使用正确的RMPs包。

在Debian下您可以使用apt-ge命令。apt-get 将会为您完成所有的操作。参见例 2.4 “在Deban下安装Deb”

例 2.4. 在Deban下安装Deb

apt-get install wireshark-dev

2.4. 在UNIX下编译Wireshark

如果在Unix操作系统下可以用如下步骤编译Wireshark源代码:

  1. 如果使用Linux则解压gzip'd tar文件,如果您使用UNIX,则解压GUN tar文件。对于Linux命令如下:

    tar zxvf wireshark-0.99.5-tar.gz

    对于 UNIX版本,命令如下

    gzip -d wireshark-0.99.5-tar.gz
    tar xvf wireshark-0.99.5-tar
    []注意

    使用管道命令行 gzip –dc Wireshark-0.99.5-tar.gz|tar xvf 同样可以[9]

    []注意

    如果您在Windows下下载了Wireshark,你会发现文件名中的那些点变成了下划线。

  2. 将当前目录设置成源文件的目录。

  3. 配置您的源文件以编译成适合您的Unix的版本。命令如下:

    ./configure

    如果找个步骤提示错误,您需要修正错误,然后重新configure.解决编译错误可以参考第 2.6 节 “解决UNIX下安装过程中的问题 ”

  4. 使用make命令将源文件编译成二进制包,例如:

    make
  5. 安装您编译好的二进制包到最终目标,使用如下命令:

    make install

    一旦您使用make install安装了Wireshark,您就可以通过输入Wireshark命令来运行它了。

2.5. 在UNIX下安装二进制包

一般来说,在您的UNIX下安装二进制发行包使用的方式根据您的UNIX的版本类型而各有不同。例如AIX下,您可以使用smit安装,Tru64 UNIX您可以使用 setld 命令。

2.5.1. 在Linux或类似环境下安装RPM包

使用如下命令安装Wireshark RPM包

rpm -ivh wireshark-0.99.5.i386.rpm

如果因为缺少Wireshark依赖的软件而导致安装错误,请先安装依赖的软件,然后再尝试安装。REDHAT下依赖的软件请参考例 2.3 “在RedHat Linux 6.2或者基于该版本得发行版下安装需要的RPM包”

2.5.2. 在Debian环境下安装Deb包

使用下列命令在Debian下安装Wireshark

apt-get install Wireshark

apt-get 会为您完成所有的相关操作

2.5.3. 在Gentoo Linux环境下安装Portage

使用如下命令在Gentoo Linux下安装wireshark以及所有的需要的附加文件

USE="adns gtk ipv6 portaudio snmp ssl kerberos threads selinux" emerge wireshark

2.5.4. 在FreeBSD环境下安装包

使用如下命令在FreeBSD下安装Wireshark

pkg_add -r wireshark

pkg_add会为您完成所有的相关操作

2.6. 解决UNIX下安装过程中的问题 [10]

安装过程中可能会遇到一些错误信息。这里给出一些错误的解决办法:

如果configure那一步发生错误。你需要找出错误的原因,您可以检查日志文件config.log(在源文件目录下),看看都发生了哪些错误。有价值的信息通常在最后几行。

一般原因是因为您缺少GTK+环境,或者您的GTK+版本过低。configure错误的另一个原因是因为因为缺少libpcap(这就是前面提到的捕捉包的工具)。

另外一个常见问题是很多用户抱怨最后编译、链接过程需要等待太长时间。这通常是因为使用老式的sed命令(比如solaris下传输)。自从libtool脚本使用sed命令建立最终链接命令,常常会导致不可知的错误。您可以通过下载最新版本的sed解决该问题http://directory.fsf.org/GNU/sed.html.

如果您无法检测出错误原因。发送邮件到wireshark-dev说明您的问题。当然,邮件里要附上config.log以及其他您认为对解决问题有帮助的东西,例如make过程的追踪。

2.7. 在Windows下编译源

在Windows平台下,我们建议最好是使用二进制包直接安装,除非您是从事Wireshark开发的。 如果想了解关于Windows下编译安装Wireshark,请查看我们的开发WIKI网站http://wiki.wireshark.org/Development来了解最新的开发方面的文档。

2.8. 在Windows下安装Wireshark

本节将探讨在Windows下安装Wireshark二进制包。

2.8.1. 安装Wireshark

您获得的Wireshark二进制安装包可能名称类似Wireshark-setup-x.y.z.exe. Wireshark安装包包含WinPcap,所以您不需要单独下载安装它。

您只需要在http://www.wireshark.org/download.html#releases下载Wireshark安装包并执行它即可。除了普通的安装之外,还有几个组件供挑选安装。

[]提示:尽量保持默认设置

如果您不了解设置的作用的话。

选择组件[11]

Wireshark(包括GTK1和GTK2接口无法同时安装):

如果您使用GTK2的GUI界面遇到问题可以尝试GTK1,在Windows下256色(8bit)显示模式无法运行GTK2.但是某些高级分析统计功能在GTK1下可能无法实现。

  • Wireshark GTK1-Wireshark 是一个GUI网络分析工具

  • Wireshark GTK2-Wireshark 是一个GUI网络分析工具(建议使用GTK2 GUI模组工具)

  • GTK-Wimp-GTKWimp是诗歌GTK2窗口模拟(看起来感觉像原生windows32程序,推荐使用)

  • TSshark-TShark 是一个命令行的网络分析工具

插件/扩展(Wireshark,TShark分析引擎):

  • Dissector Plugins-分析插件:带有扩展分析的插件

  • Tree Statistics Plugins-树状统计插件:统计工具扩展

  • Mate - Meta Analysis and Tracing Engine (experimental):可配置的显示过滤引擎,参考http://wiki.wireshark.org/Mate.

  • SNMP MIBs: SNMP,MIBS的详细分析。

Tools/工具(处理捕捉文件的附加命令行工具

User’s Guide-用户手册-本地安装的用户手册。如果不安装用户手册,帮助菜单的大部分按钮的结果可能就是访问internet.

  • Editcap - Editcap is a program that reads a capture file and writes some or all of the packets into another capture file. /Editcap是一个读取捕捉文件的程序,还可以将一个捕捉文件力的部分或所有信息写入另一个捕捉文件。(文件合并or插入?)
  • Text2Pcap - Text2pcap is a program that reads in an ASCII hex dump and writes the data into a libpcap-style capture file./Tex2pcap是一个读取ASCII hex,写入数据到libpcap个文件的程序。

  • Mergecap - Mergecap is a program that combines multiple saved capture files into a single output file. / Mergecap是一个可以将多个播捉文件合并为一个的程序。

  • Capinfos - Capinfos is a program that provides information on capture files. /Capinfos是一个显示捕捉文件信息的程序。

“Additional Tasks”页

  • Start Menu Shortcuts-开始菜单快捷方式-增加一些快捷方式到开始菜单

  • Desktop Icon-桌面图标-增加Wireshark图标到桌面

  • Quick Launch Icon-快速启动图标-增加一个Wireshark图标到快速启动工具栏

  • Associate file extensions to Wireshark-Wireshark文件关联-将捕捉包默认打开方式关联到Wireshark

Install WinPcap?”页

Wireshark安装包里包含了最新版的WinPcap安装包。

如果您没有安装WinPcap 。您将无法捕捉网络流量。但是您还是可以打开以保存的捕捉包文件。

  • Currently installed WinPcap version-当前安装的WinPcap版本

  • Install WinPcap x.x -如果当前安装的版本低于Wireshark自带的,该选项将会是默认值。

  • Start WinPcap service "NPF" at startup -将WinPcap的服务NPF在启动时运行-这样其它非管理员用户就同样可以捕捉包了。

更多关于WinPcap的信息:

安装命令选项

您可以直接在命令行运行安装包,不加任何参数,这样会显示常用的参数以供交互安装。 在个别应用中,可以选择一些参数定制安装:

  • /NCRC 禁止CRC校检

  • /S 静默模式安装或卸载Wireshark.注意:静默模式安装时不会安装WinPcap!

  • /desktopicon 安装桌面图标,/desktopicon=yes表示安装图标,反之则不是,适合静默模式。

  • /quicklaunchicon 将图标安装到快速启动工具栏,=yes-安装到工具栏,=no-不安装,不填按默认设置。

  • /D 设置默认安装目录($INSTDIR),首选安装目录和安装目录注册表键值,该选项必须设置到最后。即使路径包含空格

例 2.5. 

wireshark-setup-0.99.5.exe /NCRC /S /desktopicon=yes /quicklaunchicon=no /D=C:\Program Files\Foo

2.8.2. 手动安装WinPcap

[]注意

事先声明,Wireshark安装时会谨慎对待WinPcap的安装,所以您通常不必担心WinPcap。

下面的WinPcap仅适合您需要尝试未包括在Wireshark内的不同版本WinPcap。例如一个新版本的WinPcap发布了,您需要安装它。

单独的WinPcap版本(包括alpha or beta版)可以在下面地址下载到

在下载页面您将会发现WinPcap的安装包名称通常类似于”auto-installer”。它们可以在NT4.0/2000/XP/vista下安装。

2.8.3. 更新Wireshark

有时候您可能想将您的WinPcap更新到最新版本,如果您订阅了Wireshark通知邮件,您将会获得Wireshark新版本发布的通知,见第 1.6.4 节 “邮件列表”

新版诞生通常需要8-12周。更新Wireshark就是安装一下新版本。下载并安装它就可以。更新通常不需要重新启动,也不会更改过去的默认设置

2.8.4. 更新WinPcap

WinPcap的更新不是十分频繁,通常一年左右。新版本出现的时候您会收到WinPcap的通知。更新WinPcap后需要重新启动。

[]警告
在安装新版WinPcap之前,如果您已经安装了旧版WinPcap,您必须先卸载它。最近版本的WinPcap安装时会自己卸载旧版。

2.8.5. 卸载Wireshark

你可以用常见方式卸载Wireshark,使用添加/删除程序,选择”Wireshark”选项开始卸载即可。

Wireshark卸载过程中会提供一些选项供您选择卸载哪些部分,默认是卸载核心组件,但保留个人设置和WinPcap.

WinPcap默认不会被卸载,因为其他类似Wireshark的程序有可能同样适用WinPcap

2.8.6. 卸载WinPcap

你可以单独卸载WinPcap,在添加/删除程序选择”WinPcap”卸载它。

[]注意
卸载WinPcap之后您将不能使用Wireshark捕捉包。

在卸载完成之后最好重新启动计算机。



[9] 译者注:看到别人翻译Pipelin之类的,似乎就是叫管道,不知道是否准确

[10] 译者注:本人不熟悉UNIX/LINUX,这一段翻译的有点云里雾里,可能大家通过这部分想安装Wireshark会适得其反,那就对不住了。下面个人说一下UNIX/LINUX下安装方法。 UNIX/LINUX下安装时,有两种安装方式,1是下载源码包自己编译,这种方式的好处是因为下载源码包是单一的,可以自行加以修改,编译就是适合自己平台的了。 2、是利用已经做好的发行包直接安装,这种方法的好处是只要下载到跟自己平台对应的就可以,但缺点也在这里,不是每个平台都能找到合适的。不管是编译安装,还是使用发行包安装,都需要有一些有些基本基本支持。比如Linux下的GTK+支持,捕捉包时需要用的libpcap. 这一点可以参考第 2.3 节 “在UNIX下安装之前 ”。编译的一般步骤是解压,编译,安装(tar zxvf Wireshark-0.99.5-tar.gz;make;make install).直接安装则是根据各自平台安装的特点。

[11] 涉及到过多的名次,软件又没有中文版,这里及以后尽量不翻译名称