1. 程式人生 > >wireshark過濾器

wireshark過濾器

wireshark 抓包

過濾器分為抓包過濾器和顯示過濾器

抓包過濾器配置於抓包前,配置後,只抓經過抓包過濾器過濾的包
顯示過濾器配置於抓包後,配置後,將已抓取的包進行過濾,得出心儀的包

抓包過濾器:

只抓取以太網類型為0x0800的流量   ether proto 0800
只抓vlan 10 的流量  vlan 10
抓 vlan 10 、vlan 20 、 vlan 30 的流量  vlan 10 and vlan 20 and 30
只抓發往主機10.1.1.1的所有流量  dest host 10.1.1.1
只抓源於192.168.1.0/24的所以流量  src net 192.168.1.0/24 或src net 192.168.1.0 netmask 255.255.255.0

不抓廣播或多播  no broadcast 或 no multicast
只抓源於或發往2001::/16的ipv6數據包  net 2001::/16
只抓取icmp流量  ip proto 1
只抓ICMP echo request 流量 icmp[icmptype]==icmp-echo或icmp[icmptype]==8
只抓目的端口為80的數據包 dst port 80 或 dst port http
只抓所有TCP連接中用來發起(SYN標記位置1)連接或終止鏈接(FIN標記位置1)的數據包(TCP連接屬於全雙工連接,客戶端與服務器之間會建立雙向連接  tcp [tcpflags] & (tcp-syn | tcp-fin) != 0
只抓RST標記位置1的TCP數據包  [tcpflags]&(tcp-rst) !=0
抓特定長度的包,長度小於10  len<= 10
只抓源或目的端口範圍在2000到2500之間的TCP數據包  tcp portrange 2000-2500
抓取所以TELNET流量,但由主機192.168.1.1發起的除外  tcp port 23 and not src host 192.168.1.1
proto[offset:bytes]  根據字節偏移和凈載匹配來過濾
proto(協議類型:ip\udp\tcp等)【從協議頭部的開始所偏移的字節數:抓包過濾器所要檢查的字節數】
只抓目的端口範圍為50-100的TCP數據包  tcp[2:2]>50 and tcp[2:2]<100
只抓窗口大小字段值低於8192的TCP數據包  tcp[14:2]<8192
ipv4多播流量:以太網幀的目的MAC地址必以01:00:5e打頭
ipv6多播流量:以太網幀的目的MAC地址必以33:33打頭

SYN:打開連接
FIM:拆除連接
ACK: 確認收到數據
RST:立即拆除連接
PSH:表示應將數據提交給末端應用程序(進程)處理

顯示過濾器:

包含某個(串)字符 contains  //http.host contains cisco
某串字符匹配某個條件 match   //http.host matches www.cisco.com
在參數和條件操作符之間可以留空格,也可以不留空格
源和目的IP地址至少一個不為 192.168.1.100   // ip.addr != 192.168.1.100
源和目的ip地址均不為 192.168.1.100   //!(ip.addr == 192.168.1.100)
ETHERNET過濾器:只顯示發往或源於具有某MAC地址的主機的數據幀   //eth.src==10:0b:a9:33:64:12
ARP過濾器:只顯示請求幀   //arp.opcode==1
IP、ICMP過濾器   //ip.src == 10.1.1.1
只顯示交換與一一對IP主機之間的所有IP數據包   //ip.addr==200.1.1.1 and ip.addr==19.168.1.1
只顯示發往IP多播目的地址的所有數據包   //ip.dse == 224.0.0.0/4
只顯示發往或源於某個IPV6地址的主機的IPV6數據包   //ipv6.addr==::1
顯示指定IP子網(10.0.0.0/24)的主機,發往域名中包含指定字符串的網站(比如sohu)的所有IP流量   //ip.src==10.0.0.0/24 and http.host contains "souhu"
顯示發源於指定IP子網(10.0.0.0/24)的所有IP廣播流量   //ip.src==10.0.0.0/24 and eth.dst==ffff.ffff.ffff
只顯示是所有廣播包,但主機執行ARP請求操作時所觸發的廣播包除外   //not arp and eth.dst==ffff.ffff.ffff
顯示除ICMP和ARP外所有流量   //not arp && not icmp
根據TCP/UDP端口來篩選包   //tcp.port == 《value》//udp.srcport==<value>
tcp.analysis:分析TCP重傳、重復確認、窗口大小、
tcp.analysis.retransmission
tcp.analysis.duplicate_ack
tcp.analysis.zero_window
tcp.flags:檢查數據包TCP頭部中各標記位的置位情況
tcp.flags.syn==1
tcp.flags.reset==1
tcp.flags.fin==1
tcp.window_size_value<10 //檢查頭部窗口大小字段值低於10的數據包
HTTP顯示過濾器:
顯示訪問某指定主機名的HTTP協議數據包  //http.host=="www.baidu.com"
顯示包含HTTP GET方法的HTTP數據包   //http.request.method=="GET"
顯示HTTP客戶端發起的包含指定URI請求的HTTP數據包 // http.request.uri == "/v2/rating/mail.goole.com"
顯示包含字符串:"mail.google.com"的URI請求的HTTP數據包   //http.request.uri contains "mail.google.com"
顯示網絡中傳播的所有包含COOKIE請求的HTTP協議數據包   //http.cookie
顯示所有包含HTTP服務器發送給HTTP客戶的COOLIE SET命令的HTTP數據包   //http.set_cookie
顯示包含ZIP文件中的HTTP數據包   //http matches ".zip" && http.request.method=="GET"
DNS顯示過濾器:
dns.flags.response==0  //DNS查詢
dns.flags.response==1   //DNS響應
FTP過濾器:
顯示所有包含特定FTP請求命令的FTP數據包  //ftp
顯示所有從TCP端口20或從其他端口發出的包含實際FTP數據的FTP數據包  //ftp-data

正則表達式:

^:匹配行開頭
$:匹配行結尾
|:二選一
*:0至多次
+:1至多次
?:最多一次
{n}:精確N次
{n,}:至少N次
{n,m}:不低於N次也不高於M次

wireshark過濾器