Wireshark經常使用技巧

本節主要講解wireshark使用的一些經常使用的技巧,其實主要是使用過程當中,用的最爲頻繁的一些包的篩選規則。web

Wireshark中有兩種過濾器:express

(1).捕獲過濾器:告訴wireshark咱們只須要捕獲知足什麼條件的包,而不知足條件的包則不須要捕獲。因爲捕獲過濾器是在wireshark在捕獲過程當中採用的,因此捕獲過濾器的過濾條件最多侷限在傳輸層的協議,也就是能夠經過ip和端口指定規則,而更加上層的應用層協議則不能用在捕獲過濾器中。網絡

語法: Protocol  Direction  Host(s)   Value  LogicalOperations  Other  expressionmvc

例子: tcp       dst              10.1.1.1  80     or             tcp   dst  10.2.2.2 3128app

解釋:Protocol表示協議,Direction表示方向,Host指定IP地址,Value通常指定端口,可使用邏輯操做鏈接其餘的表達式來生成複合表達式。例如:socket

tcp.dstport==8888tcp

捕獲目的tcp端口爲8888的包code

ip.src == 10.1.1.1blog

捕獲來源地址爲10.1.1.1的包ip

ip.addr == 10.1.1.1

捕獲目的或者來源地址爲10.1.1.1的包

not icmp

捕獲除了icmp包的全部包

有關更多的捕獲過濾器請參考wireshark的文檔

(2).顯示過濾器:該過濾器是在已經抓到的包中篩選出本身想分析的數據包,也就是說該過濾器是在捕獲工做已經完成以後作的,其數據基礎就是已經捕獲到的那些數據包,該過濾器支持的協議就是wireshark可以識別的全部協議,因爲是在已經捕獲下來的包中進行篩選,因此該過濾器中的條件表達式能夠支持全部的上層協議,其篩選條件也能夠根據每一個協議的不一樣部分進行篩選。下面以HTTP協議爲例子:

3

查看全部http請求的數據包(包括GET,POST等等的請求,只要是web請求都算)

4

全部POST請求的數據包

5

全部請求的URL中包含字符串」.jpg」的包

6

全部http響應狀態碼爲200的包

7

能夠看到HTTP協議有不少字段提供篩選,wireshark還支持matches操做符,進行正則篩選

1

查找全部http請求URL中包含 /mvc/字符串而且請求的是帶參數的aspx頁面的包

關於各類協議的字段文檔能夠查閱wireshark的文檔,都有詳細說明,包括協議的每一個字段部分的含義。其實對於作app或者是web開發的來講常見的http篩選字段已經足夠用了

此外wireshark除了能夠根據協議的每一個字段的內容值進行篩選以外,還能夠指定數據包中的第幾個字節的二進制數據值進行篩選,這種經過包中二進制數據進行篩選的方法通常在socket的私有二進制協議中比較有用,這些協議通常是私有定義的,而且是基於二進制的協議,例如第幾個字節表示什麼意思,wireshark確定是不能識別這些包的,那麼咱們能夠本身根據二進制數據進行篩選

1

篩選出ip源或目標地址爲172.16.1.126 而且udp端口爲50798 而且rtp包的第2個字節的值是0xE0的包,這樣的包是rtp數據包一幀結束的包。

固然上面的例子咱們是能夠經過rtp協議的字段rtp.marker==1爲條件來進行篩選的,舉上面的例子是爲了說明如何根據包中的二進制數據值進行篩選。

Wireshark有很是強大的抓包與過濾功能,本節也僅僅列舉了其中最經常使用的篩選規則,在顯示過濾器的規則中wireshark能夠根據每一層的協議進行篩選,例如網絡層(IP,ARP,ICMP等協議),傳輸層(TCP,UDP)等協議,應用層(HTTP,RTMP,RTSP等協議),各層協議的字段能夠經過邏輯與(&&,and),或(||,or),非(|,not)等運算符鏈接成複合表達式進行過濾

相關文章
相關標籤/搜索