當編譯并安裝好Wireshark后,就可以執行“Wireshark”命令來啟動Wireshark。在用Wireshark截獲數據包之前,應該為其設置相應的過濾規則,可以只捕獲感興趣的數據包。Wireshark使用與Tcpdump相似的過濾規則,并且可以很方便地存儲已經設置好的過濾規則。
◆Wireshark主窗口有很多的GUI程序組成。
(1) File(文件):這個菜單包含:打開文件、合并文件、保存/打印/導出整個或部分捕獲文件、退出。
(2) Edit(編輯)這個菜單包括:查找包、時間參照、標記一個或多個包、設置參數、(剪切、復制、粘貼)。
(3) View(查看):這個菜單控制捕獲數據的顯示,包括:給定特定的一類包標以不同的顏色、字體縮放、在一個新窗口中顯示一個包、展開&折疊詳細信息面板的樹狀結構。
(4) Go:這個菜單實現轉到一個特定包。.
(5) apture(捕獲):這個菜單實現開始、停止捕獲,編輯捕獲過濾條件的功能。
(6) Analyze(分析):這個菜單包含編輯顯示過濾、enable(開)或disable(關)協議解碼器、配置用戶指定的解碼方法、追蹤一個TCP 流。
(7) Statistics(統計):該菜單完成統計功能。包括捕獲的包的一個摘要、基于協議的包的數量等樹狀統計圖等許多功
(8) Help(幫助)這個菜單包含了一些對用戶有用的信息。比如基本幫助、支持的協議列表、手冊頁、在線訪問到網站等等。
◆ Wireshark界面結構
該工具提供一個強健的GUI界面,用來整理網絡數據的捕獲以及隨后的網絡通信瀏覽。主窗口包括一組菜單項,界面結構如圖1。許多菜單從名字上看一目了然,這里不再闡述。第一個面板包含所有捕獲報文的摘要。該面板包含報文號、時間戳、源、目的、協議以及信息域。這些域是可定制的,并且用戶可刪掉或加入其他的報文字段信息。
498)this.style.width=498;">
圖 3 Wireshark界面結構
圖注:
1. 控制面板和主菜單;
2. 報文摘要窗口;
3. 過濾器。
4. 報文細節窗口;
◆設置Wireshark的過濾規則
在用Wireshark截獲數據包之前,應該為其設置相應的過濾規則,可以只捕獲感興趣的數據包。Wireshark使用與Tcpdump相似的過濾規則,并且可以很方便地存儲已經設置好的過濾規則。要為Wireshark配置過濾規則,首先單擊“Capture”選單,然后選擇“Capture Filters...”菜單項,打開“Wireshark :Capture Filter”對話框。因為此時還沒有添加任何過濾規則,因而該對話框右側的列表框是空的(如圖2所示)。在Wireshark中添加過濾器時,需要為該過濾器指定名字及規則。
498)this.style.width=498;">
圖 4 為Wireshark添加一個過濾器
例如,要在主機192.168.0.3和192.168.0.11間創建過濾器,可以在“Filter name”編輯框內輸入過濾器名字“cjh”,在“Filter string”編輯框內輸入過濾規則“host 192.168.0.3 and 192.168.0.11”,然后單擊“新建”按鈕即可。
在Wireshark中使用的過濾規則和Tcpdump幾乎完全一致,這是因為兩者都基于pcap庫的緣故。Wireshark能夠同時維護很多個過濾器。網絡管理員可以根據實際需要選用不同的過濾器,這在很多情況下是非常有用的。例如,一個過濾器可能用于截獲兩個主機間的數據包,而另一個則可能用于截獲ICMP包來診斷網絡故障。單擊“保存”按鈕,會到對話框。單擊“關閉”按鈕完成設置。
1. 指定過濾器
要將過濾器應用于嗅探過程,需要在截獲數據包之前或之后指定過濾器。要為嗅探過程指定過濾器,并開始截獲數據包,可以單擊“Capture”選單,選擇“Start...”選單項,打開“iterface”對話框,單擊該對話框中的“Filter:”按鈕,然后選擇要使用的網絡接口,如圖5所示。
498)this.style.width=498;">
圖 5 為Wireshark指定網絡接口
l注意:在“Capture Options”對話框中,“Update list of packets in real time”復選框被選中了。這樣可以使每個數據包在被截獲時就實時顯示出來,而不是在嗅探過程結束之后才顯示所有截獲的數據包。
在選擇了所需要的過濾器后,單擊“確定”按鈕,整個嗅探過程就開始了。Wireshark可以實時顯示截獲的數據包,因此能夠幫助網絡管理員及時了解網絡的運行狀況,從而使其對網絡性能和流量能有一個比較準確的把握。如圖6 。
498)this.style.width=498;">
圖 6 Wireshark實時顯示截獲的數據包
Capture Options其他選項:
Interface(接口)
這個字段指定在哪個接口進行捕獲。這是一個下拉字段,只能從中選擇Wireshark 識別出來的接口,默認是第一塊支持捕獲的非loopback 接口卡。如果沒有接口卡,那么第一個默認就是第一塊loopback 接口卡。在某些系統中,loopback 接口卡不能用來捕獲(loopback 接口卡在Windows平臺是不可用的)。
lIP address(IP 地址)
所選接口卡的IP 地址。如果不能解析出IP 地址,則顯示"unknown"
lLink-layer header type(鏈路層頭類型)
除非你在極個別的情況下可能用到這個字段,大多數情況下保持默認值。具體的描述,見”
lBuffer size: n megabyte(s) (緩沖區大小:n 兆)
輸入捕獲時使用的buffer 的大小。這是核心buffer 的大小,捕獲的數據首先保存在這里,直到寫入磁盤。如果遇到包丟失的情況,增加這個值可能解決問題。
lCapture packets in promiscuous mode (在混雜模式捕獲包)
這個選項允許設置是否將網卡設置在混雜模式。如果不指定,Wireshark 僅僅捕獲那些進入你的計算機的或送出你的計算機的包。(而不是LAN 網段上的所有包).
lLimit each packet to n bytes (限制每一個包為n 字節)
這個字段設置每一個數據包的最大捕獲的數據量。有時稱作snaplen 。如果disable 這個選項默認是65535, 對于大多數協議來講中夠了。
lCapture Filter(捕獲過濾)
這個字段指定一個捕獲過濾。 “在捕獲時進行過濾”部分進行討論。默認是空的,即沒過過濾。也可以點擊標為Capture Filter 的按鈕, Wireshark 將彈出Capture Filters(捕獲過濾)對話框,來建立或者選擇一個過濾。