顯示過濾器表達(dá)式的作用是在Wireshark抓包工具捕獲數(shù)據(jù)包之后,從已捕獲的所有數(shù)據(jù)包中顯示出符合條件的數(shù)據(jù)包,隱藏不符合條件的數(shù)據(jù)包。顯示過濾器的表達(dá)式區(qū)分大小寫。
篩選分為協(xié)議篩選和表達(dá)式篩選。
協(xié)議篩選根據(jù)通信協(xié)議篩選數(shù)據(jù)包,如HTTP、FTP等。常用的協(xié)議有UDP、TCP、ARP、ICMP、SMTP、POP、DNS、IP、Telnet、SSH、RDP、RIP、OSPF等。
表達(dá)式篩選分為基本過濾表達(dá)式和復(fù)合過濾表達(dá)式。
一條基本的表達(dá)式由過濾項(xiàng)、過濾關(guān)系、過濾值3項(xiàng)組成。
例如,在ip.addr == 192.168.1.1這條表達(dá)式中,ip.addr是過濾項(xiàng)、==是過濾關(guān)系、192.168.1.1是過濾值。這條表達(dá)式的意思是找出所有IP中源或目標(biāo)IP地址等于192.168.1.1的數(shù)據(jù)包。
1.過濾項(xiàng)
初學(xué)者往往會感覺過濾表達(dá)式比較復(fù)雜,最主要的原因就是過濾項(xiàng):一是不知道有哪些過濾項(xiàng),二是不知道過濾項(xiàng)該怎么寫。
這兩個問題有一個共同的答案,Wireshark的過濾項(xiàng)是“協(xié)議+ . +協(xié)議字段”的模式。以端口為例,端口出現(xiàn)在TCP中,那么有端口這個過濾項(xiàng)的寫法就是tcp.port。
推廣到其他協(xié)議,如ETH、IP、HTTP、Telnet、FTP、ICMP、SNMP等都是這個書寫思路。當(dāng)然,出于縮減長度的原因,有些字段沒有使用協(xié)議規(guī)定的名稱,而是使用簡寫(例如,Destination Port在Wireshark中寫為dstport),又加了一些協(xié)議中沒有的字段(例如,TCP只有源端口和目標(biāo)端口字段,為了簡便,使用Wireshark增加了tcp.port字段來同時代表源端口和目標(biāo)端口),但總的思路沒有變。而且在實(shí)際使用時輸入“協(xié)議+ . ”,Wireshark就會有支持的字段提示,看一下名稱就大概知道要用哪個字段了。
2.過濾關(guān)系
過濾關(guān)系就是大于、小于、等于等幾種等式關(guān)系,我們可以直接參照官方給出的表,如表1所示。注意,其中有“English”和“C-like”兩個字段,“English”和“C-like”這兩種寫法在Wireshark中是等價(jià)的,都是可用的。
表1 基本過濾關(guān)系
3.過濾值
過濾值就是設(shè)定的過濾項(xiàng)應(yīng)該滿足過濾關(guān)系的標(biāo)準(zhǔn),如500、5000、50000等。過濾值的寫法一般已經(jīng)被過濾項(xiàng)和過濾關(guān)系設(shè)定好了,只需要填寫期望值即可。