Wireshark過濾總結 (超實用)


Wireshark過濾總結 (超實用)


文章目錄

    • #Wireshark提供了兩種過濾器:
      • 1、捕獲過濾器
      • 2、顯示過濾器
    • #過濾器具體寫法
      • #顯示過濾器寫法
        • 1、過濾值比較符號及表達式之間的組合
        • 2、針對ip的過濾
        • 3、針對協議的過濾
        • 4、針對端口的過濾(視傳輸協議而定)
        • 5、針對長度和內容的過濾
        • 5、針對http請求的一些過濾實例。
      • #捕捉過濾器寫法
        • 1、比較符號
        • 2、常用表達式實例



#Wireshark提供了兩種過濾器:

1、捕獲過濾器

捕獲過濾器:在抓包之前就設定好過濾條件,然後只抓取符合條件的數據包。

Wireshark過濾總結 (超實用)

2、顯示過濾器

顯示過濾器:在已捕獲的數據包集合中設置過濾條件,隱藏不想顯示的數據包,只顯示符合條件的數據包。

Wireshark過濾總結 (超實用)

注意:這兩種過濾器所使用的語法是完全不同的,想想也知道,捕捉網卡數據的其實並不是Wireshark,而是WinPcap,當然要按WinPcap的規則來,顯示過濾器就是Wireshark對已捕捉的數據進行篩選。

使用捕獲過濾器的主要原因就是性能。如果你知道並不需要分析某個類型的流量,那麼可以簡單地使用捕獲過濾器過濾掉它,從而節省那些會被用來捕獲這些數據包的處理器資源。當處理大量數據的時候,使用捕獲過濾器是相當好用的。

Wireshark攔截通過網卡訪問的所有數據,前提是沒有設置任何代理。Wireshark不能攔截本地迴環訪問的請求,即127.0.0.1或者localhost。

#過濾器具體寫法

#顯示過濾器寫法

1、過濾值比較符號及表達式之間的組合

Wireshark過濾總結 (超實用)

Wireshark過濾總結 (超實用)

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的工具欄中點擊捕獲 →捕獲過濾器,可以看到一些過濾器的寫法,如下圖:

Wireshark過濾總結 (超實用)

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>




Wireshark過濾總結 (超實用)


分享到:


相關文章: