过滤器分为抓包过滤器和显示过滤器

抓包过滤器配置于抓包前,配置后,只抓经过抓包过滤器过滤的包
显示过滤器配置于抓包后,配置后,将已抓取的包进行过滤,得出心仪的包

抓包过滤器:

只抓取以太网类型为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==
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次