wireshark中,分爲兩種過濾器:捕獲過濾器 和 顯示過濾器html
捕獲過濾器 是指wireshark一開始在抓包時,就肯定要抓取哪些類型的包;對於不須要的,不進行抓取。ios
顯示過濾器 是指wireshark對全部的包都進行抓取,當用戶分析數據包的信息,便於篩選出須要的數據包。express
總結來講,捕獲過濾器 是在用戶開始任務以前就要使用的規則;而顯示過濾器 是任務開始以後(不管是否已完成)要使用的規則。less
Protocolstcp
ether,fddi,ip,arp,rarp,decnet,lat,sca,moprc,mopdl,tcp and udp學習
注:若不指定,默認使用全部支持的協議code
Directionhtm
src,dst,src and dst,src or dst
注:若不指定,默認使用雙向(src or host)blog
Hostdns
net,port,host,portrange
注:若不指定,默認全部(host)
Logical Operations
and,or,not
注:not優先級最高,or和not優先級相等,從左至右依次運算
Other expression
其餘的過濾條件,當有多重表達條件時與Logica Operatios 一塊兒連用
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 //使用邏輯非運算符,不抓取廣播包
==(eq) //等於,equal !=(ne) //不等於,no equal <(lt) //小於,less than >(gt) //大於,great than >=(ge) //大於等於,great equal <=(le) //小於等於,less equal && //邏輯「與」運算 || //邏輯「或」運算 ! //邏輯「非」運算
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的數據包
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:如圖所示,在顯示過濾器中輸入規則時,會出現提示信息,可據此瞭解更多的協議過濾規則
參考: