1. 程式人生 > >【網路】關於wireshark的過濾器規則學習小結

【網路】關於wireshark的過濾器規則學習小結

關於wireshark的過濾器規則學習小結

前言

這兩天一直在熟悉wireshark的過濾器語法規則,以前也接觸過這個工具,但只是學校老師教的如何去選擇一個介面進行抓取,以及如何去分析一個包的資料。可惜當時對此也沒有過多深入。對於我當前,並未接觸太多的功能,現在只是對這兩天學到的一些簡單的過濾規則做一個總結。

1. 測試環境說明

2. 過濾器規則說明

目前網路上對於wireshark的流程使用實在太多,在此也就不再贅述,現只針對過濾器的一些簡單使用規則進行一些舉例說明。

要注意的是wireshark中,分為兩種過濾器:捕獲過濾器和顯示過濾器。

捕獲過濾器】是指wireshark一開始在抓包時,就確定要抓取哪些型別的包;對於不需要的,不進行抓取;

顯示過濾器】是指wireshark對所有的包都進行抓取,當用戶分析資料包的資訊,便於篩選出需要的資料包。

總結來說,捕獲過濾器是在使用者開始任務之前就要使用的規則;而顯示過濾器是任務開始之後(無論是否已完成)要使用的規則。

兩種過濾器語法規則不盡相同,下面做出一些示例:

a)捕獲過濾器

  1)語法結構 

  Protocols

ether,fddi,ip,arp,rarp,decnet,lat,sca,moprc,mopdl,tcp and udp

注:若不指定,預設使用所有支援的協議

  Direction

src,dst,src and dst,src or dst

注:若不指定,預設使用雙向(src or host)

  Host

net,port,host,portrange

注:若不指定,預設所有(host)

  Logical Operations

and,or,not

注:not優先順序最高,or和not優先順序相等,從左至右依次運算

  Other expression

其他的過濾條件,當有多重表達條件時與Logica Operatios 一起連用

  2)使用示例

  【過濾地址

host 192.168.1.1  //只抓取源/目的IP為192.168.1.1的資料包

src host 192.168.1.1 && dst host 192.168.1.2  //只抓取源IP為192.168.1.1,目的IP為192.168.1.2的資料包

net 192.168.1.0/24 net  //用於表示一個網段

  【過濾埠

!port 80  //不抓取埠為80的資料包

tcp portrange 1-1024  //只抓取使用tcp協議的1-1024埠的資料包

dst port 80  //只抓取目標埠為80的所有資料包

src host 192.168.1.5 && port 443   //抓取所有源IP為192.168.1.5,並且與443埠有關的資料包

  【過濾協議

tcp,udp,icmp,arp  //直接輸入某一個協議,則只抓取該協議的資料包

!brocast  //使用邏輯非運算子,不抓取廣播包

b) 顯示過濾器


  1)使用示例 

  【可使用連線符

==(eq)  //等於,equal

!=(ne)  //不等於,no equal

<(lt)  //小於,less than

>(gt)  //大於,great than

>=(ge)  //大於等於,great equal

<=(le)  //小於等於,less equal

&&  //邏輯“與”運算

||  //邏輯“或”運算

!  //邏輯“非”運算

  【過濾IP地址

ip.addr==192.168.1.3  //只顯示源/目的IP為192.168.1.3的資料包

not ip.src==1.1.1.1  //不顯示源IP為1.1.1.1的資料包

ip.src==1.1.1.1 or ip.dst==1.1.1.2  //只顯示源IP為1.1.1.1或目的IP為1.1.1.2的資料包

  【過濾埠

tcp.port eq 80  //只顯示源/目的埠為80的資料包

tcp.dstport==80  //只顯示目的埠為80的資料包

tcp.srcport

tcp.port >=1 and tcp.port<=80  //只顯示源/目的埠大於等於1,小於等於80的資料包

  【過濾MAC地址

eth.dst==A0:00:00:04:C5:84  //只顯示目的MAC為A0:00:00:04:C5:84 的資料包

eth.addr eq A0:00:00:04:C5:84  //作用同上

  【過濾協議類別

tcp、ip、dhcp、oicq、ftp、ssl等等

udp || icmp || dns  //只顯示udp、icmp、dns相關協議的資料包

not arp 等於 !arp  //不顯示arp協議的資料包

  【過濾協議引數

tcp.flags.syn == 0x02  //顯示包含syn標誌位的資料包

frame.len==119  //整個資料包長度,從eth開始到最後

http.request.method=="get"  //顯示http請求中method值為get的包

tips:如圖所示,在顯示過濾器中輸入規則時,會出現提示資訊,可據此瞭解更多的協議過濾規則

c) 注意事項

  1)捕獲過濾器對於一個選項的引數之間使用空格進行連線

  2)顯示過濾器對於一個選項的引數之間使用點”.”進行連線

  3) 輸入過濾器規則時,如果語法正確,底色顯示為綠色;如果語法錯誤,顯示為紅色。

  4) 使用捕獲過濾器時,要先選擇要捕獲的介面,再填寫過濾器規則

 

本文轉載於: