在成功執行Wireshark以後,咱們就可以進入下一步,更進一步瞭解這個強大的工具。
如下是一張地址爲192.168.1.2的計算機正在訪問「openmaniak.com」站點時的截圖。php
![]() |
1. MENUS(菜單) 2. SHORTCUTS(快捷方式) 3. DISPLAY FILTER(顯示過濾器) 4. PACKET LIST PANE(封包列表) |
5. PACKET DETAILS PANE(封包具體信息) 6. DISSECTOR PANE(16進制數據) 7. MISCELLANOUS(雜項) |
1. MENUS(菜單)
html
![]() |
- "File"(文件) - "Edit" (編輯) - "View"(查看) - "Go" (轉到) - "Capture"(捕獲) - "Analyze"(分析) - "Statistics" (統計) - "Help" (幫助) |
打開或保存捕獲的信息。 查找或標記封包。進行全局設置。 設置Wireshark的視圖。 跳轉到捕獲的數據。 設置捕捉過濾器並開始捕捉。 設置分析選項。 查看Wireshark的統計信息。 查看本地或者在線支持。 |
![]() |
3. DISPLAY FILTER(顯示過濾器)
web
![]() |
4. PACKET LIST PANE(封包列表)
網絡
![]() |
![]() |
![]() |
![]() |
![]() |
7. MISCELLANOUS(雜項)
frontend
![]() |
正如您在Wireshark教程第一部分看到的同樣,安裝、執行Wireshark並開始分析網絡是很easy的。
使用Wireshark時最多見的問題,是當您使用默認設置時,會獲得大量冗餘信息,以致於很是難找到本身需要的部分。
過猶不及。
這就是爲何過濾器會如此重要。它們可以幫助咱們在龐雜的結果中迅速找到咱們需要的信息。tcp
- - |
捕捉過濾器:用於決定將什麼樣的信息記錄在捕捉結果中。需要在開始捕捉前設置。 顯示過濾器:在捕捉結果中進行具體查找。他們可以在獲得捕捉結果後任意改動。 |
1. 捕捉過濾器
捕捉過濾器的語法與其餘使用Lipcap(Linux)或者Winpcap(Windows)庫開發的軟件同樣,比方著名的TCPdump。捕捉過濾器必須在開始捕捉前設置完成,這一點跟顯示過濾器是不一樣的。
設置捕捉過濾器的步驟是:
- 選擇 capture -> options。
- 填寫"capture filter"欄或者點擊"capture filter"button爲您的過濾器起一個名字並保存,以便在從此的捕捉中繼續使用這個過濾器。
- 點擊開始(Start)進行捕捉。
spa
語法: |
|
|
|
|
|
|
||||||
樣例: |
|
|
|
|
|
|
樣例:3d
tcp dst port 3128 |
ip src host 10.1.1.1 |
host 10.1.2.3 |
src portrange 2000-2500 |
not imcp |
src host 10.7.2.12 and not dst net 10.200.0.0/16 |
(src host 10.4.1.12 or src net 10.6.0.0/16) and tcp dst portrange 200-10000 and dst net 10.0.0.0/8 |
注意事項:
當使用keyword做爲值時,需使用反斜槓「\」。
"ether proto \ip" (與keyword"ip"一樣).
這樣寫將會以IP協議做爲目標。
"ip proto \icmp" (與keyword"icmp"一樣).
這樣寫將會以ping工具常用的icmp做爲目標。
可以在"ip"或"ether"後面使用"multicast"及"broadcast"keyword。
當您想排除廣播請求時,"no broadcast"就會很實用。指針
查看 TCPdump的主頁以得到更具體的捕捉過濾器語法說明。
在Wiki Wireshark website上可以找到不少其它捕捉過濾器的樣例。
2. 顯示過濾器:
一般通過捕捉過濾器過濾後的數據仍是很是複雜。此時您可以使用顯示過濾器進行更加仔細的查找。
它的功能比捕捉過濾器更爲強大,而且在您想改動過濾器條件時,並不需要又一次捕捉一次。
語法: | Protocol | . |
|
. |
|
operator |
|
Operations |
expr |
|||||
|
|
|
|
|
|
|
|
英文寫法: | C語言寫法: | 含義: |
|
|
等於 |
|
|
不等於 |
|
|
大於 |
|
|
小於 |
|
|
大於等於 |
|
|
小於等於 |
英文寫法: | C語言寫法: | 含義: |
|
|
邏輯與 |
|
|
邏輯或 |
|
|
邏輯異或 |
|
|
邏輯非 |
樣例:
snmp || dns || icmp | 顯示SNMP或DNS或ICMP封包。 |
ip.addr == 10.1.1.1 |
ip.src != 10.1.2.3 or ip.dst != 10.4.5.6 |
ip.src != 10.1.2.3 and ip.dst != 10.4.5.6 |
tcp.port == 25 | 顯示來源或目的TCPport號爲25的封包。 |
tcp.dstport == 25 | 顯示目的TCPport號爲25的封包。 |
tcp.flags | 顯示包括TCP標誌的封包。 |
tcp.flags.syn == 0x02 | 顯示包括TCP SYN標誌的封包。 |
![]() |
表達式正確 |
![]() |
表達式錯誤 |