Wireshark過濾器詳解
1.Wireshark主要提供兩種主要的過濾器
捕獲過濾器:當進行資料包捕獲時,只有那些滿足給定的包含/排除表示式的資料包會被捕獲
顯示過濾器:該過濾器根據指定的表示式用於一個已捕獲的資料包集合,它將隱藏不想顯示的資料包或者只顯示那些需要的資料包
2.捕獲過濾器
2.1捕獲過濾器的BPF語法:
使用BPF語法建立的過濾器被稱為expression(表示式),並且每個表示式包含一個或多個primitives(原語)。每個原語包含一個或多個qualifiers(限定詞),然後跟著一個ID名字或數字
限定詞 |
|
例子 |
Type |
指出名字或數字所代表的含義 |
host、net、port |
Dir |
指出傳輸方向是前往還是來自名字或數字 |
src、dst |
Proto |
限定所要匹配的協議 |
Ether、ip、tcp、udp、ftp |
一個捕獲過濾器樣例
src host 192.168.0.10 && port 80
在給定表示式的組成部分中,一個src限定詞和host 192.168.0.10組成了一個原語。這個原語本身就是表示式,可以用它只捕獲那些源IP地址是192.168.0.10的流量
你也可以使用以下三種邏輯運算子,對原語進行組合,從而創建出更高階的表示式:
連線運算子 與(&&)
選擇運算子 或(||)
否定運算子 非(!)
所以上述表示式只對源地址是192.168.0.10和源埠或目標埠是80的流量進行捕獲
3.顯示過濾器
顯示應用器應用於篩選符合過濾器的資料包,對不符合條件的資料進行隱藏,只需清空顯示過濾表示式即可回到原先的捕獲檔案
3.1應用顯示過濾器的兩種方法
3.1.1過濾器表示式對話方塊
3.2.2過濾器表示式語法結構
比較操作符
操作符 |
說明 |
== |
等於 |
!= |
不等於 |
> |
大於 |
< |
小於 |
>= |
大於或等於 |
<= |
小於或等於 |
邏輯操作符
操作符 |
說明 |
and |
兩個條件同時被滿足 |
or |
其中有一個條件滿足 |
xor |
有且僅有一個條件滿足 |
not |
沒有條件滿足 |
3.3.3顯示過濾器表示式例項(常用)
過濾器 |
說明 |
!tcp.port==3389 |
排除RDP流量 |
tcp.flags.syn==1 |
具有SYN標誌位的TCP資料包 |
tcp.flags.rst==1 |
具有RST標誌位的TCP資料包 |
!arp |
排除ARP流量 |
tcp.port23 ||tcp.port21 |
檔案管理流量(Telnet或FTP) |
smtp ||pop||imap |
文字email流量(SMTP/POP/IMAP) |