天天看點

Wireshark的過濾器

 Wireshark的過濾器

使用Wireshark時最常見的問題,是當您使用預設設定時,會得到大量備援資訊,以至于很難找到自己需要的部分。

過猶不及。

這就是為什麼過濾器會如此重要。它們可以幫助我們在龐雜的結果中迅速找到我們需要的資訊。

-

捕捉過濾器:用于決定将什麼樣的資訊記錄在捕捉結果中。需要在開始捕捉前設定。

顯示過濾器:在捕捉結果中進行詳細查找。他們可以在得到捕捉結果後随意修改。

那麼我應該使用哪一種過濾器呢?

兩種過濾器的目的是不同的。

捕捉過濾器是資料經過的第一層過濾器,它用于控制捕捉資料的數量,以避免産生過大的日志檔案。

顯示過濾器是一種更為強大(複雜)的過濾器。它允許您在日志檔案中迅速準确地找到所需要的記錄。

兩種過濾器使用的文法是完全不同的。我們将在接下來的幾頁中對它們進行介紹:

設定捕捉過濾器的步驟是:

- 選擇 capture -> options。

- 填寫"capture filter"欄或者點選"capture filter"按鈕為您的過濾器起一個名字并儲存,以便在今後的捕捉中繼續使用這個過濾器。

- 點選開始(Start)進行捕捉。

<a target="_blank" href="http://blog.51cto.com/attachment/201108/091149609.jpg"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201108/091545635.jpg"></a>

<b>Protocol</b><b>(協定)</b>:

可能的值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp.

如果沒有特别指明是什麼協定,則預設使用所有支援的協定。 

<b>Direction</b><b>(方向)</b>:

可能的值: src, dst, src and dst, src or dst

如果沒有特别指明來源或目的地,則預設使用 "src or dst" 作為關鍵字。

例如,"host 10.2.2.2"與"src or dst host 10.2.2.2"是一樣的。 &lt;BR

<b>Host(s)</b>:

可能的值: net, port, host, portrange.

如果沒有指定此值,則預設使用"host"關鍵字。

例如,"src 10.1.1.1"與"src host 10.1.1.1"相同。 

<b>Logical Operations</b><b>(邏輯運算)</b>:

可能的值: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)"不同。

例子:

<b>tcp dst port 3128</b>

顯示目的TCP端口為3128的封包。

<b>ip src host 10.1.1.1</b>

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

<b>host 10.1.2.3</b>

顯示目的或來源IP位址為10.1.2.3的封包。

<b>src portrange 2000-2500</b>

顯示來源為UDP或TCP,并且端口号在2000至2500範圍内的封包。

<b>not imcp</b>

顯示除了icmp以外的所有封包。(icmp通常被ping工具使用)

<b>src host 10.7.2.12 and not dst net 10.200.0.0/16</b>

顯示來源IP位址為10.7.2.12,但目的地不是10.200.0.0/16的封包。

<b>(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</b>

顯示來源IP為10.4.1.12或者來源網絡為10.6.0.0/16,目的地TCP端口号在200至10000之間,并且目的位于網絡10.0.0.0/8内的所有封包。

注意事項:

當使用關鍵字作為值時,需使用反斜杠“\”。

"ether proto \ip" (與關鍵字"ip"相同).

這樣寫将會以IP協定作為目标。

"ip proto \icmp" (與關鍵字"icmp"相同).

這樣寫将會以ping工具常用的icmp作為目标。 

可以在"ip"或"ether"後面使用"multicast"及"broadcast"關鍵字。

當您想排除廣播請求時,"no broadcast"就會非常有用。

通常經過捕捉過濾器過濾後的資料還是很複雜。此時您可以使用顯示過濾器進行更加細緻的查找。

它的功能比捕捉過濾器更為強大,而且在您想修改過濾器條件時,并不需要重新捕捉一次。

<a target="_blank" href="http://blog.51cto.com/attachment/201108/091635748.jpg"></a>

您可以使用大量位于OSI模型第2至7層的協定。點選"Expression..."按鈕後,您可以看到它們。

比如:IP,TCP,DNS,SSH

<a target="_blank" href="http://blog.51cto.com/attachment/201108/092920131.jpg"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201108/093303616.jpg"></a>

您同樣可以在如下所示位置找到所支援的協定:

<a target="_blank" href="http://blog.51cto.com/attachment/201108/093457951.jpg"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201108/094229633.jpg"></a>

<b>String1, String2</b> (可選項):

協定的子類。

點選相關父類旁的"+"号,然後選擇其子類。

<a target="_blank" href="http://blog.51cto.com/attachment/201108/094411624.jpg"></a>

Comparison operators (比較運算符):

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

英文寫法: 

C語言寫法: 

含義:

eq 

== 

等于

ne

!=

不等于

gt

&gt;

大于

lt

&lt;

小于

ge

&gt;=

大于等于

le

&lt;=

小于等于

<b>Logical expressions</b><b>(邏輯運算符)</b>:

and

&amp;&amp;

邏輯與

or

||

邏輯或

xor

^^

邏輯異或

not

!

邏輯非

被程式員們熟知的邏輯異或是一種排除性的或。當其被用在過濾器的兩個條件之間時,隻有當且僅當其中的一個條件滿足時,這樣的結果才會被顯示在螢幕上。

讓我們舉個例子:

"tcp.dstport 80 xor tcp.dstport 1025"

隻有當目的TCP端口為80或者來源于端口1025(但又不能同時滿足這兩點)時,這樣的封包才會被顯示。

<b>snmp || dns || icmp</b>

顯示SNMP或DNS或ICMP封包。

<b>ip.addr == 10.1.1.1</b>

顯示來源或目的IP位址為10.1.1.1的封包。

<b>ip.src != 10.1.2.3 or ip.dst != 10.4.5.6</b>

顯示來源不為10.1.2.3或者目的不為10.4.5.6的封包。

換句話說,顯示的封包将會為:

來源IP:除了10.1.2.3以外任意;目的IP:任意

以及

來源IP:任意;目的IP:除了10.4.5.6以外任意

<b>ip.src != 10.1.2.3 and ip.dst != 10.4.5.6</b>

顯示來源不為10.1.2.3并且目的IP不為10.4.5.6的封包。 

來源IP:除了10.1.2.3以外任意;同時須滿足,目的IP:除了10.4.5.6以外任意

<b>tcp.port == 25</b>

顯示來源或目的TCP端口号為25的封包。

<b>tcp.dstport == 25</b>

顯示目的TCP端口号為25的封包。

<b>tcp.flags</b>

顯示包含TCP标志的封包。

<b>tcp.flags.syn == 0x02</b>

顯示包含TCP SYN标志的封包。

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

<a target="_blank" href="http://blog.51cto.com/attachment/201108/094824851.jpg"></a>

本文轉自清風拂面 51CTO部落格,原文連結:http://blog.51cto.com/crazy123/628979

繼續閱讀