Wireshark是一款非常棒的Unix和Windows上的開(kāi)源網(wǎng)絡(luò)協(xié)議分析器。Wireshark中文版可以實(shí)時(shí)檢測(cè)網(wǎng)絡(luò)通訊數(shù)據(jù),也可以檢測(cè)其抓取的網(wǎng)絡(luò)通訊數(shù)據(jù)快照文件。Wireshark中文版可以通過(guò)圖形界面瀏覽這些數(shù)據(jù),可以查看網(wǎng)絡(luò)通訊數(shù)據(jù)包中每一層的詳細(xì)內(nèi)容。Wireshark擁有許多強(qiáng)大的特性:包含有強(qiáng)顯示過(guò)濾器語(yǔ)言(rich display filter language)和查看TCP會(huì)話(huà)重構(gòu)流的能力;它更支持上百種協(xié)議和媒體類(lèi)型; 擁有一個(gè)類(lèi)似tcpdump(一個(gè)Linux下的網(wǎng)絡(luò)協(xié)議分析工具)的名為tethereal的的命令行版本。
特色功能:
Wireshark(前稱(chēng)Ethereal)是一個(gè)網(wǎng)絡(luò)封包分析軟件。網(wǎng)絡(luò)封包分析軟件的功能是擷取網(wǎng)絡(luò)封包, 并盡可能顯示出最為詳細(xì)的網(wǎng)絡(luò)封包資料。網(wǎng)絡(luò)封包分析軟件的功能可想像成 "電工技師使用電表來(lái)量測(cè)電流、電壓、電阻" 的工作 - 只是將場(chǎng)景移植到網(wǎng)絡(luò)上,并將電線替換成網(wǎng)絡(luò)線。
在過(guò)去,網(wǎng)絡(luò)封包分析軟件是非常昂貴,或是專(zhuān)門(mén)屬于營(yíng)利用的軟件。Ethereal的出現(xiàn)改變了這一切。在GNU GPL通用許可證的保障范圍底下,使用者可以以免費(fèi)的代價(jià)取得軟件與其程式碼,并擁有針對(duì)其原始碼修改及客制化的權(quán)利。Ethereal是目前全世界最廣泛的網(wǎng)絡(luò)封包分析軟件之一
Wireshakr抓包界面
說(shuō)明:數(shù)據(jù)包列表區(qū)中不同的協(xié)議使用了不同的顏色區(qū)分。協(xié)議顏色標(biāo)識(shí)定位在菜單欄View --> Coloring Rules。如下所示
WireShark 主要分為這幾個(gè)界面
1. Display Filter(顯示過(guò)濾器), 用于設(shè)置過(guò)濾條件進(jìn)行數(shù)據(jù)包列表過(guò)濾。菜單路徑:Analyze --> Display Filters。
2. Packet List Pane(數(shù)據(jù)包列表), 顯示捕獲到的數(shù)據(jù)包,每個(gè)數(shù)據(jù)包包含編號(hào),時(shí)間戳,源地址,目標(biāo)地址,協(xié)議,長(zhǎng)度,以及數(shù)據(jù)包信息。 不同協(xié)議的數(shù)據(jù)包使用了不同的顏色區(qū)分顯示。
3. Packet Details Pane(數(shù)據(jù)包詳細(xì)信息), 在數(shù)據(jù)包列表中選擇指定數(shù)據(jù)包,在數(shù)據(jù)包詳細(xì)信息中會(huì)顯示數(shù)據(jù)包的所有詳細(xì)信息內(nèi)容。數(shù)據(jù)包詳細(xì)信息面板是最重要的,用來(lái)查看協(xié)議中的每一個(gè)字段。各行信息分別為
(1)Frame: 物理層的數(shù)據(jù)幀概況
(2)Ethernet II: 數(shù)據(jù)鏈路層以太網(wǎng)幀頭部信息
(3)Internet Protocol Version 4: 互聯(lián)網(wǎng)層IP包頭部信息
(4)Transmission Control Protocol: 傳輸層T的數(shù)據(jù)段頭部信息,此處是TCP
(5)Hypertext Transfer Protocol: 應(yīng)用層的信息,此處是HTTP協(xié)議
TCP包的具體內(nèi)容
從下圖可以看到wireshark捕獲到的TCP包中的每個(gè)字段。
4. Dissector Pane(數(shù)據(jù)包字節(jié)區(qū))。
Wireshark過(guò)濾器設(shè)置
初學(xué)者使用wireshark時(shí),將會(huì)得到大量的冗余數(shù)據(jù)包列表,以至于很難找到自己自己抓取的數(shù)據(jù)包部分。wireshar工具中自帶了兩種類(lèi)型的過(guò)濾器,學(xué)會(huì)使用這兩種過(guò)濾器會(huì)幫助我們?cè)诖罅康臄?shù)據(jù)中迅速找到我們需要的信息。
(1)抓包過(guò)濾器
捕獲過(guò)濾器的菜單欄路徑為Capture --> Capture Filters。用于在抓取數(shù)據(jù)包前設(shè)置。
如何使用?可以在抓取數(shù)據(jù)包前設(shè)置如下。
ip host 60.207.246.216 and icmp表示只捕獲主機(jī)IP為60.207.246.216的ICMP數(shù)據(jù)包。獲取結(jié)果如下:
(2)顯示過(guò)濾器
顯示過(guò)濾器是用于在抓取數(shù)據(jù)包后設(shè)置過(guò)濾條件進(jìn)行過(guò)濾數(shù)據(jù)包。通常是在抓取數(shù)據(jù)包時(shí)設(shè)置條件相對(duì)寬泛,抓取的數(shù)據(jù)包內(nèi)容較多時(shí)使用顯示過(guò)濾器設(shè)置條件顧慮以方便分析。同樣上述場(chǎng)景,在捕獲時(shí)未設(shè)置捕獲規(guī)則直接通過(guò)網(wǎng)卡進(jìn)行抓取所有數(shù)據(jù)包,如下
執(zhí)行ping www.huawei.com獲取的數(shù)據(jù)包列表如下
觀察上述獲取的數(shù)據(jù)包列表,含有大量的無(wú)效數(shù)據(jù)。這時(shí)可以通過(guò)設(shè)置顯示器過(guò)濾條件進(jìn)行提取分析信息。ip.addr == 211.162.2.183 and icmp。并進(jìn)行過(guò)濾。
上述介紹了抓包過(guò)濾器和顯示過(guò)濾器的基本使用方法。在組網(wǎng)不復(fù)雜或者流量不大情況下,使用顯示器過(guò)濾器進(jìn)行抓包后處理就可以滿(mǎn)足我們使用。下面介紹一下兩者間的語(yǔ)法以及它們的區(qū)別。