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:如图所示,在显示过滤器中输入规则时,会出现提示信息,可据此了解更多的协议过滤规则
参考: