乾貨,Wireshark使用技巧-過濾規則



介紹Wireshark抓包時使用的過濾規則。
tcp



熟練使用Wireshark,對協議分析大有幫助。本文介紹抓取報文時使用的過濾規則和對已有報文的顯示進行控制的顯示規則spa





01ip

ci


過濾規則使用class



在抓取報文時使用的規則,稱爲過濾規則,Wireshark底層是基於Winpcap,所以過濾規則是Winpcap定義的規則,設置過濾規則後,抓到的報文僅包含符合規則的報文,其它報文則被丟棄。udp


Wireshark的過濾規則,與Linux下tcpdump的過濾規則基本相同,兩者可相互參考。語法

0?wx_fmt=png


在抓包選項內填寫過濾規則,而後點開始便可使用過濾規則進行抓包。方法


過濾規則與協議相關,對wireshark過濾規則,只要瞭解相應協議(例如UDP、TCP),理解基本語法,都不算複雜。im

當前版本的Wireshark已經支持了部分簡單的過濾規則,大大地簡化了使用難度:數據

0?wx_fmt=png



僅使用默認的規則進行過濾徹底沒法知足過濾抓包須要,所以須要更深刻地對過濾規則進行了解,下一節進行詳細說明。



02



過濾規則例子


本節經過一些例子,來講明其用法。


一、僅抓取80端口的TCP報文


tcp port 80


這個規則是比較通用的僅抓取HTTP協議的規則,由於一般狀況下,HTTP協議都是走TCP 80端口,這樣設置抓包,能夠知足大部分場景。


二、抓取80端口和8080端口的TCP報文


tcp port 80 or tcp port 8080


按第一條規則,雖然能知足大部分狀況,但你們應該瞭解,HTTP協議能夠設置走任意端口,如比較通用的8080端口,爲更完整地抓包,則抓包規則中須要加入8080端口,所以咱們使用or將tcp port 80和 tcp port 8080兩個條件鏈接,則能抓取全部80端口和8080端口的TCP報文。


除了or,還有and和not能夠用在過濾規則中。


三、抓取IP爲192.168.0.1的80端口的TCP報文


tcp port 80 and host 192.168.0.1


and 鏈接符表示兩個條件必須爲真,結果才爲真,符合鏈接的兩個條件的報文才被抓取。



四、抓取除ip爲192.168.0.1而且端口爲80的報文外的全部報文


not (tcp port 80 and host 192.168.0.1)


not鏈接符表示非,則符合not修飾的規則的報文將不被抓取。


()將規則包含,來肯定規則的優先級。



五、抓取ip報文


ether proto 0x0800


以太網頭部有不少種協議,若是隻想抓取一種協議,如IP協議,則按這條規則抓取。ether及proto爲固定字段,表示以太頭的proto字段,而0x0800爲以太頭部的IP協議類型值。若是要抓取ARP協議,則將值0x0800改成0x0806便可。



六、抓取IP負載長度大於100字節的報文


ip[2:2] > 100


[]表示偏移,IP協議頭部偏移值爲2,規則含義爲ip數據段內偏移2字節的2字節內容的值大於100,而該內容若是熟悉IP協議的話,可知其爲ip.total_length,對ether/tcp/udp這些經常使用協議,均可採用相似方法取值,固然,優先採用更簡便的方法。



過濾規則適用於在抓包以前就設置好了條件,已經瞭解須要抓取那些報文,丟棄哪些報文的情景,若是須要在抓包以後進一步對報文進行分析,就必須使用顯示規則,顯示規則將在後續文章中介紹,敬請關注。


若是在過濾規則使用上有不懂的地方,能夠關注我進行了解,免費的。


0?wx_fmt=jpeg

長按進行關注。

相關文章
相關標籤/搜索