# 第?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/).同時獲取源文件和二進制發行版。選擇您需要下載的鏈接,然后選擇源文件或二進制發行包所在的鏡像站點(盡可能離你近一點的站點)。
> 
> 下載所有需要的文件 !
> 一般來說,除非您已經下載Wireshark,如果您想編譯Wireshark源文件,您可能需要下載多個包。這些在后面章節會提到。
> 
> 注意
> 當你發現在網站上有多個二進制發行版可用,您應該選擇適合您平臺的版本,他們同時通常會有多個版本緊跟在當前版本后面,那些通常時擁有那些平臺的用戶編譯的。
基于以上原因,您可能想自己下載源文件自己編譯,因為這樣相對方便一點。
## 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--------------
```
> 
> 注意
> 您可能需要修改[例?2.1 “從源文件編譯GTK+”](#calibre_link-11 "例?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+”](#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>
```
> 
> 注意
> 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
```
> 
> 注意
> 如果您使用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
```
|  | 注意 |
|
使用管道命令行 gzip –dc Wireshark-0.99.5-tar.gz|tar xvf 同樣可以[[9](#calibre_link-16)]
|
|  | 注意 |
|
如果您在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安裝包并執行它即可。除了普通的安裝之外,還有幾個組件供挑選安裝。
> 
> 提示:盡量保持默認設置
> 如果您不了解設置的作用的話。
#### <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
> 
> 注意
> 事先聲明,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后需要重新啟動。
> 
> 警告
> 在安裝新版WinPcap之前,如果您已經安裝了舊版WinPcap,您必須先卸載它。最近版本的WinPcap安裝時會自己卸載舊版。
### 2.8.5.?卸載Wireshark
你可以用常見方式卸載Wireshark,使用添加/刪除程序,選擇”Wireshark”選項開始卸載即可。
Wireshark卸載過程中會提供一些選項供您選擇卸載哪些部分,默認是卸載核心組件,但保留個人設置和WinPcap.
WinPcap默認不會被卸載,因為其他類似Wireshark的程序有可能同樣適用WinPcap
### 2.8.6.?卸載WinPcap
你可以單獨卸載WinPcap,在添加/刪除程序選擇”WinPcap”卸載它。
> 
> 注意
> 卸載WinPcap之后您將不能使用Wireshark捕捉包。
在卸載完成之后最好重新啟動計算機。
[[11](#calibre_link-194)] 涉及到過多的名次,軟件又沒有中文版,這里及以后盡量不翻譯名稱