開啟抓包之旅:Wireshark過濾器使用規則介紹

之前學習Wireshark,看到關於過濾器的介紹,特別是新手不明白捕捉過濾器和顯示過濾器的區別與作用。這篇文章感覺寫的挺好,特來分享。使用Wireshark時最常見的問題,是當您使用默認設置時,會得到大量冗餘信息,以至於很難找到自己需要的部分。這就是為什麼過濾器會如此重要。它們可以幫助我們在龐雜的結果中迅速找到我們需要的信息。

開啟抓包之旅:Wireshark過濾器使用規則介紹

過濾器的區別

捕捉過濾器(CaptureFilters):用於決定將什麼樣的信息記錄在捕捉結果中。需要在開始捕捉前設置。顯示過濾器(DisplayFilters):在捕捉結果中進行詳細查找。他們可以在得到捕捉結果後隨意修改。那麼我應該使用哪一種過濾器呢?

兩種過濾器的目的是不同的。捕捉過濾器是數據經過的第一層過濾器,它用於控制捕捉數據的數量,以避免產生過大的日誌文件。顯示過濾器是一種更為強大(複雜)的過濾器。它允許您在日誌文件中迅速準確地找到所需要的記錄。

兩種過濾器使用的語法是完全不同的。

捕捉過濾器

Protocol(協議):可能的值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp.如果沒有特別指明是什麼協議,則默認使用所有支持的協議。

Direction(方向):可能的值: src, dst, src and dst, src or dst如果沒有特別指明來源或目的地,則默認使用 "src or dst" 作為關鍵字。例如,"host 10.2.2.2″與"src or dst host 10.2.2.2″是一樣的。

Host(s):可能的值: net, port, host, portrange.如果沒有指定此值,則默認使用"host"關鍵字。例如,"src 10.1.1.1″與"src host 10.1.1.1″相同。

Logical Operations(邏輯運算):可能的值:not, and, or.否("not")具有最高的優先級。或("or")和與("and")具有相同的優先級,運算時從左至右進行。例如,"not tcp port 3128 and tcp port 23″與"(not tcp port 3128) and tcp port 23″相同。"not tcp port 3128 and tcp port 23″與"not (tcp port 3128 and tcp port 23)"不同。

開啟抓包之旅:Wireshark過濾器使用規則介紹

開啟抓包之旅:Wireshark過濾器使用規則介紹

顯示來源IP地址為10.1.1.1的封包。

注意事項:

當使用關鍵字作為值時,需使用反斜槓""。"ether proto \ip" (與關鍵字"ip"相同).這樣寫將會以IP協議作為目標。

"ip proto \icmp" (與關鍵字"icmp"相同).這樣寫將會以ping工具常用的icmp作為目標。

可以在"ip"或"ether"後面使用"multicast"及"broadcast"關鍵字。當您想排除廣播請求時,"no broadcast"就會非常有用。

Protocol(協議):

您可以使用大量位於OSI模型第2至7層的協議。點擊"Expression…"按鈕後,您可以看到它們。比如:IP,TCP,DNS,SSH

String1, String2 (可選項):

協議的子類。點擊相關父類旁的"+"號,然後選擇其子類。

Comparison operators (比較運算符):

可以使用6種比較運算符:

開啟抓包之旅:Wireshark過濾器使用規則介紹

顯示過濾器

開啟抓包之旅:Wireshark過濾器使用規則介紹

顯示來源不為10.1.2.3並且目的IP不為10.4.5.6的封包。換句話說,顯示的封包將會為:來源IP:除了10.1.2.3以外任意;同時須滿足,目的IP:除了10.4.5.6以外任意

開啟抓包之旅:Wireshark過濾器使用規則介紹

如果過濾器的語法是正確的,表達式的背景呈綠色。如果呈紅色,說明表達式有誤。


分享到:


相關文章: