Wireshark

一個網路封包分析軟體

Wireshark(前稱Ethereal)是一個網路封包分析軟體。網路封包分析軟體的功能是擷取網路封包,並儘可能顯示出最為詳細的網路封包資料。Wireshark使用WinPCAP作為介面,直接與網卡進行數據報文交換。

徠網路封包分析軟體的功能可想像成 "電工技師使用電錶來量測電流、電壓、電阻" 的工作 - 只是將場景移植到網路上,並將電線替換成網路線。在過去,網路封包分析軟體是非常昂貴的,或是專門屬於盈利用的軟體。Ethereal的出現改變了這一切。在GNUGPL通用許可證的保障範圍底下,使用者可以以免費的代價取得軟體與其源代碼,並擁有針對其源代碼修改及客制化的權利。Ethereal是目前全世界最廣泛的網路封包分析軟體之一。

應用


Wireshark使用目的
徠Wireshark
徠Wireshark
以下是一些使用Wireshark目的的例子:
網路管理員使用Wireshark來檢測網路問題,網路安全工程師使用Wireshark來檢查資訊安全相關問題,開發者使用Wireshark來為新的通訊協定除錯,普通使用者使用Wireshark來學習網路協定的相關知識。當然,有的人也會“居心叵測”的用它來尋找一些敏感信息……
Wireshark不是入侵偵測系統(Intrusion Detection System,IDS)。對於網路上的異常流量行為,Wireshark不會產生警示或是任何提示。然而,仔細分析Wireshark擷取的封包能夠幫助使用者對於網路行為有更清楚的了解。Wireshark不會對網路封包產生內容的修改,它只會反映出目前流通的封包資訊。 Wireshark本身也不會送出封包至網路上。

發展簡史


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。

工作流程


Wireshark
Wireshark
(1)確定Wireshark的位置。如果沒有一個正確的位置,啟動Wireshark後會花費很長的時間捕獲一些與自己無關的數據。
(2)選擇捕獲介面。一般都是選擇連接到Internet網路的介面,這樣才可以捕獲到與網路相關的數據。否則,捕獲到的其它數據對自己也沒有任何幫助。
(3)使用捕獲過濾器。通過設置捕獲過濾器,可以避免產生過大的捕獲文件。這樣用戶在分析數據時,也不會受其它數據干擾。而且,還可以為用戶節約大量的時間。
(4)使用顯示過濾器。通常使用捕獲過濾器過濾后的數據,往往還是很複雜。為了使過濾的數據包再更細緻,此時使用顯示過濾器進行過濾。
(5)使用著色規則。通常使用顯示過濾器過濾后的數據,都是有用的數據包。如果想更加突出的顯示某個會話,可以使用著色規則高亮顯示。
(6)構建圖表。如果用戶想要更明顯的看出一個網路中數據的變化情況,使用圖表的形式可以很方便的展現數據分佈情況。
(7)重組數據。Wireshark的重組功能,可以重組一個會話中不同數據包的信息,或者是一個重組一個完整的圖片或文件。由於傳輸的文件往往較大,所以信息分佈在多個數據包中。為了能夠查看到整個圖片或文件,這時候就需要使用重組數據的方法來實現。

時標


時標依賴於抓包電腦的系統時間。有一點需要注意:抓取的第一條和最後一條報文的時標並不是高度精確的。

過濾器


Wireshark擁有強大的過濾器引擎,用戶可以使用過濾器篩選出有用的數據包,排除無關信息的干擾。