# 第 2 章 编译/安装Wireshark
**目录**
+ [2.1\. 须知](#calibre_link-233)
+ [2.2\. 获得源](#calibre_link-7)
+ [2.3\. 在UNIX下安装之前](#calibre_link-9)
+ [2.4\. 在UNIX下编译Wireshark](#calibre_link-10)
+ [2.5\. 在UNIX下安装二进制包](#calibre_link-15)
+ [2.5.1\. 在Linux或类似环境下安装RPM包](#calibre_link-234)
+ [2.5.2\. 在Debian环境下安装Deb包](#calibre_link-235)
+ [2.5.3\. 在Gentoo Linux环境下安装Portage](#calibre_link-236)
+ [2.5.4\. 在FreeBSD环境下安装包](#calibre_link-237)
+ [2.6\. 解决UNIX下安装过程中的问题](#calibre_link-17)
+ [2.7\. 在Windows下编译源](#calibre_link-19)
+ [2.8\. 在Windows下安装Wireshark](#calibre_link-23)
+ [2.8.1\. 安装Wireshark](#calibre_link-238)
+ [2.8.2\. 手动安装WinPcap](#calibre_link-239)
+ [2.8.3\. 更新Wireshark](#calibre_link-240)
+ [2.8.4\. 更新WinPcap](#calibre_link-241)
+ [2.8.5\. 卸载Wireshark](#calibre_link-242)
+ [2.8.6\. 卸载WinPcap](#calibre_link-243)
## 2.1. 须知
万事皆有开头,Wireshark也同样如此。要想使用Wireshark,你必须:
* 获得一个适合您操作系统的二进制包,或者
* 获得源文件为您的操作系统编译。
目前,只有两到三种Linux发行版可以传送Wireshark,而且通常传输的都是过时的版本。至今尚未有UNIX版本可以传输Wireshark . Windows的任何版本都不能传输Wireshark.基于以上原因,你需要知道从哪能得到最新版本的Wireshark以及如何安装它。
本章节向您展示如何获得源文件和二进制包,如何根据你的需要编译Wireshark源文件。
以下是通常的步骤:
1. 下载需要的相关包,例如:源文件或者二进制发行版。
2. 将源文件编译成二进制包(如果您下载的是源文件的话)。这样做做可以整合编译和/或安装其他需要的包。
3. 安装二进制包到最终目标位置。
## 2.2. 获得源
你可以从Wireshark网站[http://www.wireshark.org](http://www.wireshark.org/).同时获取源文件和二进制发行版。选择您需要下载的链接,然后选择源文件或二进制发行包所在的镜像站点(尽可能离你近一点的站点)。
> ![](https://box.kancloud.cn/2016-01-14_56970a171a4c5.png)
> 下载所有需要的文件 !
> 一般来说,除非您已经下载Wireshark,如果您想编译Wireshark源文件,您可能需要下载多个包。这些在后面章节会提到。
> ![](https://box.kancloud.cn/2016-01-14_56970a171a4c5.png)
> 注意
> 当你发现在网站上有多个二进制发行版可用,您应该选择适合您平台的版本,他们同时通常会有多个版本紧跟在当前版本后面,那些通常时拥有那些平台的用户编译的。
基于以上原因,您可能想自己下载源文件自己编译,因为这样相对方便一点。
## 2.3. 在UNIX下安装之前
在编译或者安装二进制发行版之前,您必须确定已经安装如下包:
1. GTK+, The GIMP Tool Kit.
您将会同样需要Glib.它们都可以从[www.gtk.org](www.gtk.org)获得。
2. Libpcap , Wireshark用来捕捉包的工具
您可以从[www.tcpdump.org](www.tcpdump.org)获得。
根据您操作系统的不同,您或许能够安装二进制包,如RPMs.或许您需要获得源文件并编译它。
如果您已经下载了GTK+源文件,[例 2.1 “从源文件编译GTK+”](#calibre_link-11 "例 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--------------
```
> ![](https://box.kancloud.cn/2016-01-14_56970a171a4c5.png)
> 注意
> 您可能需要修改[例 2.1 “从源文件编译GTK+”](#calibre_link-11 "例 2.1. 从源文件编译GTK+")中提供的版本号成对应您下载的GTK+版本。如果GTK的目录发生变更,您同样需要修改它。,tar xvf 显示您需要修改的目录。
> ![](https://box.kancloud.cn/2016-01-14_56970a171a4c5.png)
> 注意
> 如果您使用Linux,或者安装了GUN **tar**,您可以使用**tar zxvfgtk+-1.2.10.tar.gz**命令。同样也可能使用**gunzip –c**或者**gzcat**而不是许多UNIX中的**gzip –dc**
> ![](https://box.kancloud.cn/2016-01-14_56970a171a4c5.png)
> 注意
> 如果您在windows中下载了gtk+ 或者其他文件。您的文件可能名称为:`gtk+-1_2_8_tar.gz`
如果在执行[例 2.1 “从源文件编译GTK+”](#calibre_link-11 "例 2.1. 从源文件编译GTK+")中的指令时有错误发生的话,你可以咨询GTK+网站。
如果您已经下载了libpcap源,一般指令如[例 2.2 “编译、安装libpcap”](#calibre_link-12 "例 2.2. 编译、安装libpcap") 显示的那样会帮您完成编译。同样,如果您的操作系统不支持**tcpdump**,您可以从[tcpdump](http://www.tcpdump.org/)网站下载安装它。
**例 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>
```
> ![](https://box.kancloud.cn/2016-01-14_56970a171a4c5.png)
> 注意
> Libpcap的目录需要根据您的版本进行修改。**tar xvf**命令显示您解压缩的目录。
RedHat 6.x及其以上版本环境下(包括基于它的发行版,如Mandrake),您可以直接运行RPM安装所有的包。大多数情况下的Linux需要安装GTK+和Glib.反过来说,你可能需要安装所有包的定制版。安装命令可以参考[例 2.3 “在RedHat Linux 6.2或者基于该版本得发行版下安装需要的RPM包”](#calibre_link-13 "例 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
```
> ![](https://box.kancloud.cn/2016-01-14_56970a171a4c5.png)
> 注意
> 如果您使用RedHat 6.2之后的版本,需要的RMPs包可能已经变化。您需要使用正确的RMPs包。
在Debian下您可以使用apt-ge命令。apt-get 将会为您完成所有的操作。参见[例 2.4 “在Deban下安装Deb”](#calibre_link-14 "例 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
```
| ![](https://box.kancloud.cn/2016-01-14_56970a171a4c5.png) | 注意 |
|
使用管道命令行 gzip –dc Wireshark-0.99.5-tar.gz|tar xvf 同样可以[[9](#calibre_link-16)]
|
| ![](https://box.kancloud.cn/2016-01-14_56970a171a4c5.png) | 注意 |
|
如果您在Windows下下载了Wireshark,你会发现文件名中的那些点变成了下划线。
|
2. 将当前目录设置成源文件的目录。
3. 配置您的源文件以编译成适合您的Unix的版本。命令如下:
```
./configure
```
如果找个步骤提示错误,您需要修正错误,然后重新configure.解决编译错误可以参考[第 2.6 节 “解决UNIX下安装过程中的问题 ”](#calibre_link-17 "2.6. 解决UNIX下安装过程中的问题 ")
4. 使用make命令将源文件编译成二进制包,例如:
```
make
```
5. 安装您编译好的二进制包到最终目标,使用如下命令:
```
make install
```
一旦您使用make install安装了Wireshark,您就可以通过输入Wireshark命令来运行它了。
[[9](#calibre_link-18)] 译者注:看到别人翻译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包”](#calibre_link-13 "例 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](#calibre_link-20)]
安装过程中可能会遇到一些错误信息。这里给出一些错误的解决办法:
如果**configure**那一步发生错误。你需要找出错误的原因,您可以检查日志文件config.log(在源文件目录下),看看都发生了哪些错误。有价值的信息通常在最后几行。
一般原因是因为您缺少GTK+环境,或者您的GTK+版本过低。configure错误的另一个原因是因为因为缺少libpcap(这就是前面提到的捕捉包的工具)。
另外一个常见问题是很多用户抱怨最后编译、链接过程需要等待太长时间。这通常是因为使用老式的**sed**命令(比如solaris下传输)。自从libtool脚本使用sed命令建立最终链接命令,常常会导致不可知的错误。您可以通过下载最新版本的sed解决该问题[http://directory.fsf.org/GNU/sed.html](http://directory.fsf.org/GNU/sed.html).
如果您无法检测出错误原因。发送邮件到[wireshark-dev](mailto:wireshark-dev@wireshark.org)说明您的问题。当然,邮件里要附上config.log以及其他您认为对解决问题有帮助的东西,例如make过程的追踪。
[[10](#calibre_link-21)] 译者注:本人不熟悉UNIX/LINUX,这一段翻译的有点云里雾里,可能大家通过这部分想安装Wireshark会适得其反,那就对不住了。下面个人说一下UNIX/LINUX下安装方法。 UNIX/LINUX下安装时,有两种安装方式,1是下载源码包自己编译,这种方式的好处是因为下载源码包是单一的,可以自行加以修改,编译就是适合自己平台的了。 2、是利用已经做好的发行包直接安装,这种方法的好处是只要下载到跟自己平台对应的就可以,但缺点也在这里,不是每个平台都能找到合适的。不管是编译安装,还是使用发行包安装,都需要有一些有些基本基本支持。比如Linux下的GTK+支持,捕捉包时需要用的libpcap. 这一点可以参考[第 2.3 节 “在UNIX下安装之前 ”](#calibre_link-9 "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](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](http://www.wireshark.org/download.html#releases)下载Wireshark安装包并执行它即可。除了普通的安装之外,还有几个组件供挑选安装。
> ![](https://box.kancloud.cn/2016-01-14_56970a172d0d5.png)
> 提示:尽量保持默认设置
> 如果您不了解设置的作用的话。
#### <a name="2.8.1.1"></a>选择组件[[11](#calibre_link-193)]
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](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的信息:
* Wireshark 相关[http://wiki.wireshark.org/WinPcap](http://wiki.wireshark.org/WinPcap)
* WinPcap官方网站:[http://www.winpcap.org](http://www.winpcap.org/)
#### <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
> ![](https://box.kancloud.cn/2016-01-14_56970a171a4c5.png)
> 注意
> 事先声明,Wireshark安装时会谨慎对待WinPcap的安装,所以您通常不必担心WinPcap。
下面的WinPcap仅适合您需要尝试未包括在Wireshark内的不同版本WinPcap。例如一个新版本的WinPcap发布了,您需要安装它。
单独的WinPcap版本(包括alpha or beta版)可以在下面地址下载到
* WinPcap官方网站:[http://www.winpcap.org](http://www.winpcap.org/)
* Wiretapped.net 镜像站点: [http://www.mirrors.wiretapped.net/security/packet-capture/winpcap](http://www.mirrors.wiretapped.net/security/packet-capture/winpcap)
在下载页面您将会发现WinPcap的安装包名称通常类似于”auto-installer”。它们可以在NT4.0/2000/XP/vista下安装。
### 2.8.3. 更新Wireshark
有时候您可能想将您的WinPcap更新到最新版本,如果您订阅了Wireshark通知邮件,您将会获得Wireshark新版本发布的通知,见[第 1.6.4 节 “邮件列表”](#calibre_link-166 "1.6.4. 邮件列表")
。
新版诞生通常需要8-12周。更新Wireshark就是安装一下新版本。下载并安装它就可以。更新通常不需要重新启动,也不会更改过去的默认设置
### 2.8.4. 更新WinPcap
WinPcap的更新不是十分频繁,通常一年左右。新版本出现的时候您会收到WinPcap的通知。更新WinPcap后需要重新启动。
> ![](https://box.kancloud.cn/2016-01-14_56970a170c848.png)
> 警告
> 在安装新版WinPcap之前,如果您已经安装了旧版WinPcap,您必须先卸载它。最近版本的WinPcap安装时会自己卸载旧版。
### 2.8.5. 卸载Wireshark
你可以用常见方式卸载Wireshark,使用添加/删除程序,选择”Wireshark”选项开始卸载即可。
Wireshark卸载过程中会提供一些选项供您选择卸载哪些部分,默认是卸载核心组件,但保留个人设置和WinPcap.
WinPcap默认不会被卸载,因为其他类似Wireshark的程序有可能同样适用WinPcap
### 2.8.6. 卸载WinPcap
你可以单独卸载WinPcap,在添加/删除程序选择”WinPcap”卸载它。
> ![](https://box.kancloud.cn/2016-01-14_56970a171a4c5.png)
> 注意
> 卸载WinPcap之后您将不能使用Wireshark捕捉包。
在卸载完成之后最好重新启动计算机。
[[11](#calibre_link-194)] 涉及到过多的名次,软件又没有中文版,这里及以后尽量不翻译名称