== | eq | 等于 |
!= | ne | 不等于 |
> | gt | 高于 |
< | lt | 低于 |
>= | ge | 不高于 |
<= | le | 不低于 |
contains | 包含某个字符 | |
match | 某串字符匹配某个条件 | |
&& | and | 逻辑与 |
|| | or | 逻辑或 |
! | not | 逻辑非 |
在显示过滤器工具条Filter输入框内直接输入显示过滤语句
右键数据包的某个属性选择apply as filter(直接作为显示过滤器使用)或prepare a filter(作为有待应用的显示过滤器)即可应用显示过滤器
选中协议中的某个字段,对应过滤参数显示在底部状态栏
选中某个属性右键apply as column即可把数据包某个属性作为数据包列表新列
以下附上ARP数据包包头格式以供参考:
以下附上IP数据包包头格式以供参考:
以下是几个复杂一些的过滤语句:
ip.src==10.0.0.0/24 and http.host contains "sohu" 显示10.0.0.0/24网络的主机,发送包含"sohu"字符串的所有流量
ip.addr==10.0.0.0/24 and http.host matches "\.com$" 显示10.0.0.0/24网络的主机,访问域名以".com"结尾的网站的所有流量
ip.src==10.0.0.0/24 and eth.dst==ffff.ffff.ffff 显示源于10.0.0.0/24网络的的所有IP广播地址
not arp and eth.dst==ffff.ffff.ffff 显示 所有广播包,但ARP请求所触发的广播包除外
not arp and not icmp 显示除ARP和ICMP外的所有流量
tcp.port==<> 显示指定的TCP源,目的端口(比如:tcp.port==80)
tcp.dstport==<> 显示指定的TCP目的端口
tcp.srcport==<> 显示指定的TCP源端口
tcp.analysis 分析TCP性能有关参数
tcp.analysis.retransmission 显示重传的tcp数据包
tcp.analysis.duplicate_ack 显示确认多次的tcp数据包
tcp.analysis.zero_windows 显示含零窗口通告信息的TCP数据包
tcp.flags 检查数据包TCP头部中的标记位
tcp.flags.syn==1 显示syn置1的数据包
tcp.flags.reset==1 显示reset置1的数据包
tcp.flags.fin==1 显示fin置1的数据包
tcp.window_size_value < <> 显示tcp头部窗口大小字段低于指定值得数据包
tcp.stream eq <> 显示某条TCP连接从建立到终结,回话双方生成的所有数据包(比如:tcp.stream eq 0)
提示如何跟随一条TCP流:右键想要查看完整TCP数据流的TCP包,选择follow-tcp stream既可跟随tcp流
以下附上TCP数据包包头格式以供参考:
http.host==<> 显示访问指定主机名的HTTP协议数据包
http.request.method=="GET" 显示包含HTTP GET方法的数据包
http.request.uri=="" 显示HTTP客户端发起的包含指定URI请求的HTTP数据包(比如:http.request.uri=="www.baidu.com")
http.request.uri contains "" 显示HTTP客户端发起的包含某指定字符串的URI请求的HTTP数据包(比如:http.request.uri contains"baidu")
http.cookie 显示网络中传播的所有包含cookie请求的HTTP数据包
http.set_cookie 显示所有包含由HTTP服务器发送给HTTP客户端的cookie set命令的HTTP数据包
dns.flags.response==0 显示dns查询报文
dns.flags.response==1 显示dns响应报文
dns.count.answers>=4 显示answers字段大于或等于4的DNS响应报文
ftp.request.command==<> 显示包含特定请求的ftp数据包
ftp 显示从TCP21端口传送的包含FTP命令的FTP数据包
ftp-data 显示从TCP20端口或其他端口发出的包含实际FTP数据的FTP报文
wireshark显示过滤器所采用的正则表达式语法,等同于Perl语言所采用的正则表达式
^ 匹配行的开头
$ 匹配行的结尾
| 用来表示二者任选其一
() 起分组作用
* 匹配0次或多次
+ 匹配1次或多次
? 匹配0次或1次
{n} 精确匹配n次
{n,} 至少n次
{n,m} 匹配n次到m次之间
显示过滤器中的字节偏移型过滤器与抓包过滤器中的用法相同在此不在赘述,详情请看我之前写的文章《Wireshark网络分析实战笔记(一)抓包过滤器》
eth.dst[0:2]==01:00:5e
1.配置显示过滤器宏:依次点击analyze—display filter macros
2.使用显示过滤器宏:在filter中输入 ${test1:192.168.1.1;80}
其中test1是我要使用的显示过滤器宏的名称;
第一个参数192.168.1.1传给表达式中$1;
第二个参数80传给表达式中$2;