wireshark過濾

Wireshark(前稱Ethereal)是一個網絡封包分析軟件。網絡封包分析軟件的功能是擷取網絡封包,並儘可能顯示出最爲詳細的網絡封包資料。Wireshark使用WinPCAP作爲接口,直接與網卡進行數據報文交換。

過濾器的區別

    捕捉過濾器(CaptureFilters):用於決定將什麼樣的信息記錄在捕捉結果中。需要在開始捕捉前設置。

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

兩種過濾器的不同點:

    捕捉過濾器是數據經過的第一層過濾器,它用於控制捕捉數據的數量,以避免產生過大的日誌文件。

    顯示過濾器是一種更爲強大(複雜)的過濾器。它允許您在日誌文件中迅速準確地找到所需要的記錄。

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

捕捉過濾器

語法: Protocol Direction Host(s) Value Logical Operations Other expression

例子: tcp dst 10.1.1.1 80 and tcp dst 10.2.2.2 3128


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)”不同。

例子:


tcp dst port 3128

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


ip src host 10.1.1.1顯示來源 IP 地址爲 10.1.1.1 的封包。


host 10.1.2.3顯示目的或來源 IP 地址爲 10.1.2.3 的封包。


src portrange 2000-2500顯示來源爲 UDP 或 TCP,並且端口號在 2000 至 2500 範圍內的封包。


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


src host 10.7.2.12 and not dst net 10.200.0.0/16顯示來源 IP 地址爲 10.7.2.12,但目的地不是 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顯示來源 IP 爲 10.4.1.12 或者來源網絡爲 10.6.0.0/16,目的地 TCP 端口號在 200 至 10000 之間,並且目的位於網絡 10.0.0.0/8 內的所有封包。


src net 192.168.0.0/24

src net 192.168.0.0 mask 255.255.255.0

顯示來源 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,SSHString1, String2 (可選項):協議的子類。

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


Comparison operators (比較運算符):可以使用 6 種比較運算符:

英文寫法: 

C 語言寫法: 

含義:eq == 等於

ne != 不等於

gt > 大於

lt < 小於

ge >= 大於等於

le <= 小於等於


Logical expressions(邏輯運算符):

英文寫法: 

C 語言寫法: 

含義:

and && 邏輯與

or || 邏輯或

xor ^^ 邏輯異或

not ! 邏輯非



顯示過濾器

語法: Protocol . String 1 . String 2 Comparison operator Value Logical Operations Otherexpression

例子: ftp passive ip == 10.2.3.4 xor icmp.type


例子:snmp || dns || icmp 顯示 SNMP 或 DNS 或 ICMP 封包。ip.addr == 10.1.1.1顯示來源或目的 IP 地址爲 10.1.1.1 的封包。


ip.src != 10.1.2.3 or ip.dst != 10.4.5.6

顯示來源不爲 10.1.2.3 或者目的不爲 10.4.5.6 的封包。換句話說,顯示的封包將會爲:來源 IP:除了 10.1.2.3 以外任意;目的 IP:任意以及來源 IP:任意;目的 IP:除了 10.4.5.6 以外任意

ip.src != 10.1.2.3 and ip.dst != 10.4.5.6顯示來源不爲 10.1.2.3 並且目的 IP 不爲 10.4.5.6 的封包。換句話說,顯示的封包將會爲:來源 IP:除了 10.1.2.3 以外任意;同時須滿足,目的 IP:除了 10.4.5.6 以外任意


tcp.port == 25 顯示來源或目的 TCP 端口號爲 25 的封包。tcp.dstport == 25 顯示目的 TCP 端口號爲 25 的封包。tcp.flags 顯示包含 TCP 標誌的封包。tcp.flags.syn == 0×02 顯示包含 TCP SYN 標誌的封包

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章