wireshark过滤,wireshark过滤规则

http://www.itjxue.com  2023-01-13 18:27  来源:未知  点击次数: 

【Wireshark】Wireshark 过滤器表达式语法

? Wireshark 的世界里有2种过滤器,分别是捕获过滤器和显示过滤器。

采用恰当的过滤器,不但能提高数据分析的灵活性,而且能让分析者更快看到自己想要的分析对象。

BPF(Berkeley Packet Filter)全称为伯克利包过滤,是一种功能非常强大的过滤语法.这个语法被广泛应用于多种数据包嗅探软件,因为大部分数据包嗅探软件都依赖于使用BPF的libpcap/WinPcap库.诸如tcpdump,wireshark等等。

捕获过滤器:wireshark 仅捕获过滤器设置的数据,其它数据不收集,用于定向分析问题。

显示过滤器:wireshark 对已经捕获的数据,进行显示设置。只是不显示的数据还是在内存中的,修改显示过滤器就可以显示出来,不适合大流量的场景。

捕获过滤器语法规则 BPF(Berkeley Packet Filter),使用 google 搜索 “BPF 语法” 能搜索到很多相关内容。

显示过滤器是对已经抓取的数据,进行显示过滤设置。 语法是 wireshark 自己的语法,可以使用 wireshark 辅助生成过滤表达式。

WireShark DisplayFilter Examples

Wireshark基础使用和表达式语法

Chapter 6. Working With Captured Packets

Wireshark入门与进阶系列之常见捕获过滤器

BPF过滤规则

wireshark常用过滤规则

可使用单个或多个过滤条件(可使用==,=等),多个条件时使用and or进行连接

例子:ip.src ==192.168.1.107 or ip.dst ==192.168.1.107

例子:

tcp.port eq 80 // 不管端口是来源的还是目标的都显示

tcp.port == 80

tcp.dstport == 80 // 只显tcp协议的目标端口80tcp.srcport == 80 // 只显tcp协议的来源端口80

过滤端口范围tcp.port = 1 and tcp.port = 80

例子:

tcp udp arp icmp http smtp ftp dns等等

排除arp包,如!arp ??或者 ??not arp

例子太以网头过滤

eth.dst == A0:00:00:04:C5:84 // 过滤目标mac

eth.src eq A0:00:00:04:C5:84 // 过滤来源mac

例子:

udp.length == 26 这个长度是指udp本身固定长度8加上udp下面那块数据包之和

tcp.len = 7 ??指的是ip数据包(tcp下面那块数据),不包括tcp本身

ip.len == 94 除了以太网头固定长度14,其它都算是ip.len,即从ip本身到最后

frame.len == 119 整个数据包长度,从eth开始到最后

例子:

http.request.method == “GET”

http.request.method == “POST”

http.request.uri == “/img/logo-edu.gif”

http contains “GET”

http contains “HTTP/1.”

tcp.flags 显示包含TCP标志的封包。

tcp.flags.syn == 0x02 ????显示包含TCP SYN标志的封包。

tcp contains "关键字"

9.报文

wireshark的过滤器 ip.addr、ip.src和ip.dst有什么不同?

针对wireshark最常用的自然是针对IP地址的过滤。其中有几种情况:

(1)对源地址为192.168.0.1的包的过滤,即抓取源地址满足要求的包。

表达式为:ip.src == 192.168.0.1

(2)对目的地址为192.168.0.1的包的过滤,即抓取目的地址满足要求的包。

表达式为:ip.dst == 192.168.0.1

(3)对源或者目的地址为192.168.0.1的包的过滤,即抓取满足源或者目的地址的ip地址是192.168.0.1的包。

表达式为:ip.addr == 192.168.0.1,或者 ip.src == 192.168.0.1 or ip.dst == 192.168.0.1

(4)要排除以上的数据包,我们只需要将其用括号囊括,然后使用 "!" 即可。

表达式为:!(表达式)

(责任编辑:IT教学网)

更多

推荐数据库文章