文章目錄
- #Wireshark提供了兩種過濾器:
- 1、捕獲過濾器
- 2、顯示過濾器
- #過濾器具體寫法
- #顯示過濾器寫法
- 1、過濾值比較符號及表達式之間的組合
- 2、針對ip的過濾
- 3、針對協議的過濾
- 4、針對端口的過濾(視傳輸協議而定)
- 5、針對長度和內容的過濾
- 5、針對http請求的一些過濾實例。
- #捕捉過濾器寫法
- 1、比較符號
- 2、常用表達式實例
#Wireshark提供了兩種過濾器:
1、捕獲過濾器
捕獲過濾器:在抓包之前就設定好過濾條件,然後只抓取符合條件的數據包。
2、顯示過濾器
顯示過濾器:在已捕獲的數據包集合中設置過濾條件,隱藏不想顯示的數據包,只顯示符合條件的數據包。
注意:這兩種過濾器所使用的語法是完全不同的,想想也知道,捕捉網卡數據的其實並不是Wireshark,而是WinPcap,當然要按WinPcap的規則來,顯示過濾器就是Wireshark對已捕捉的數據進行篩選。
使用捕獲過濾器的主要原因就是性能。如果你知道並不需要分析某個類型的流量,那麼可以簡單地使用捕獲過濾器過濾掉它,從而節省那些會被用來捕獲這些數據包的處理器資源。當處理大量數據的時候,使用捕獲過濾器是相當好用的。
Wireshark攔截通過網卡訪問的所有數據,前提是沒有設置任何代理。Wireshark不能攔截本地迴環訪問的請求,即127.0.0.1或者localhost。
#過濾器具體寫法
#顯示過濾器寫法
1、過濾值比較符號及表達式之間的組合
2、針對ip的過濾
- 對源地址進行過濾
<code>ip.src == 192.168.0.1/<code>
- 對目的地址進行過濾
<code>ip.dst == 192.168.0.1/<code>
- 對源地址或者目的地址進行過濾
<code>ip.addr == 192.168.0.1/<code>
- 如果想排除以上的數據包,只需要將其用括號囊括,然後使用 “!” 即可
<code>!(ip.addr == 192.168.0.1)/<code>
3、針對協議的過濾
- 獲某種協議的數據包,表達式很簡單僅僅需要把協議的名字輸入即可
<code>http/<code>
注意:是否區分大小寫?答:區分,只能為小寫
- 捕獲多種協議的數據包
<code>http or telnet/<code>
- 排除某種協議的數據包
<code>not arp 或者 !tcp/<code>
4、針對端口的過濾(視傳輸協議而定)
- 捕獲某一端口的數據包(以tcp協議為例)
<code>tcp.port == 80/<code>
- 捕獲多端口的數據包,可以使用and來連接,下面是捕獲高於某端口的表達式(以udp協議為例)
<code>udp.port >= 2048/<code>
5、針對長度和內容的過濾
- 針對長度的過慮(這裡的長度指定的是數據段的長度)
<code>udp.length < 20
http.content_length <=30/<code>
- 針對uri 內容的過濾
<code>http.request.uri matches "user" (請求的uri中包含“user”關鍵字的)/<code>
注意:matches 後的關鍵字是不區分大小寫的!
<code>http.request.uri contains "User" (請求的uri中包含“user”關鍵字的)/<code>
注意:contains 後的關鍵字是區分大小寫的!
5、針對http請求的一些過濾實例。
- 過濾出請求地址中包含“user”的請求,不包括域名;
<code>http.request.uri contains "User"/<code>
- 精確過濾域名
<code>http.host==baidu.com/<code>
- 模糊過濾域名
<code>http.host contains "baidu"/<code>
- 過濾請求的content_type類型
<code>http.content_type =="text/html"/<code>
- 過濾http請求方法
<code>http.request.method=="POST"/<code>
- 過濾tcp端口
<code>tcp.port==80/<code>
<code>http && tcp.port==80 or tcp.port==5566/<code>
- 過濾http響應狀態碼
<code>http.response.code==302/<code>
- 過濾含有指定cookie的http數據包
<code>http.cookie contains "userid"/<code>
#捕捉過濾器寫法
在wireshark的工具欄中點擊捕獲 →捕獲過濾器,可以看到一些過濾器的寫法,如下圖:
1、比較符號
<code>與:&&或者and
或:||或者or
非:!或者not/<code>
實例:
<code>src or dst portrange 6000-8000 && tcp or ip6/<code>
2、常用表達式實例
- 源地址過濾
<code>src www.baidu.com/<code>
- 目的地址過濾
<code>dst www.baidu.com/<code>
- 目的地址端口過濾
<code>dst post 80/<code>
- 協議過濾
<code>udp/<code>
閱讀更多 ICodeYou 的文章