您好,登錄后才能下訂單哦!
在網絡中,我們通常不需要捕獲所有的數據包,我們經常只需要捕獲到我們想要的數據包就可以了,如:我們只需要捕獲tcp包或者arp包等。
當我們只需要捕獲tcp包時,在選擇網絡連接(網卡)之后,先不要選擇start,而是選擇option,然后再彈出窗口中的capture filter欄中輸入tcp即可,這樣我們wireshark就只會捕獲tcp類型的數據包了。
你也可以使用wireshark內置的過濾規則來限制捕獲數據包,只需要點擊capture filter,然后再彈出的窗口中,選擇相應的規則即可。我們也可以自己創建新的規則到內置規則中,這樣下次我們還需要進行類似的操作時就不用再手動書寫規則,而直接可以在內置規則中選擇即可。
選擇或書寫好規則后,只需要單擊start按鈕即可對相應的數據包進行捕獲。
捕獲過濾規則采用BPF語法,所以要靈活使用過濾器,則掌握BPF語法是關鍵。使用BPF語法創建的過濾器被稱為表達式,并且每個表達式包含一個或多個原語,每個原語包含一個或多個限定詞,然后后面再跟著一個ID名字或者數字,如:dst host 192.168.1.1 && tcp port 80。
這個例子的意思是捕獲發往目標主機ip地址為192.168.1.1的80端口的tcp流量數據包。
dst、host、tcp和port是限定詞,192.168.1.1和80是ID,&&是操作符,&&之前部分是為一個原語,即:dst host 192.168.1.1,&&之后部分為另一個原語,即:tcp port 80。
限定詞包括:
限定詞 | 說明 | 例子 |
Type | 指出名字或數字所代表的意義 | host、net、port |
Dir | 指明傳輸方向是前往還是來自名字或數字 | src、dst |
Proto | 限定所要匹配的協議 | ether、ip、tcp、udp、http、ftp、icmp等 |
我們還可以對協議域進行捕獲過濾,如表達式icmp[0]==8 || icmp[0]==0表示我們只捕獲echo請求(類型8)和echo回復(類型0)的icmp數據包。
常用捕獲過濾器:
過濾器 | 說明 |
tcp[13]&32==32 | 設置了 URG 位的 TCP 數據包 |
tcp[13]&16==16 | 設置了 ACK 位的 TCP 數據包 |
tcp[13]&8==8 | 設置了 PSH 位的 TCP 數據包 |
tcp[13]&4==4 | 設置了 RST 位的 TCP 數據包 |
tcp[13]&2==2 | 設置了 SYN 位的 TCP 數據包 |
tcp[13]&1==1 | 設置了 FIN 位的 TCP 數據包 |
tcp[13]==18 | TCP SYN-ACK 數據包 |
ether host 00:00:00:00:00:00(MAC地址) | 流入或流出該 MAC 地址的流量 |
!ether host 00:00:00:00:00:00(MAC地址) | 不流入或流出該 MAC 地址的流量 |
broadcast | 僅廣播流量 |
icmp | ICMP 流量 |
tcmp[0:2]==0x0301 | ICMP 目標不可達、主機不可達 |
ip | 僅 IPv4 流量 |
ip6 | 僅 IPv6 流量 |
udp | 僅 UDP 流量 |
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。