第 2 章 编译/安装Wireshark

目录

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>
test--------------

注意

您可能需要修改例 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命令来运行它了。

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

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过程的追踪。

[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).直接安装则是根据各自平台安装的特点。

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安装包并执行它即可。除了普通的安装之外,还有几个组件供挑选安装。

提示:尽量保持默认设置

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

<a name="2.8.1.1"></a>选择组件[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是一个显示捕捉文件信息的程序。

<a name="c2.8.1.2"></a>“Additional Tasks”页

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

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

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

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

<a name="c2.8.1.3"></a>Install WinPcap?”页

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

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

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

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

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

更多关于WinPcap的信息:

<a name="c2.8.1.4"></a>安装命令选项

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

  • /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捕捉包。

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

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