文章目录
- 1. **捕获过滤器(Capture Filter)**
- 语法格式:
- 常见捕获过滤器示例:
- 2. **显示过滤器(Display Filter)**
- 语法格式:
- 常见比较运算符:
- 常见显示过滤器示例:
- 逻辑操作符:
- 总结:
- 应用
Wireshark的过滤器规则可以分为 捕获过滤器和 显示过滤器,这两种过滤器有不同的编写规则。以下是它们的基本使用方法和编写规则:
1. 捕获过滤器(Capture Filter)
捕获过滤器是在抓包时使用的过滤条件,它决定Wireshark在抓包时应该捕获哪些数据包。
捕获过滤器使用的是 BPF语法(Berkeley Packet Filter),常用于在抓包过程中限制要捕获的流量,以减少数据包的数量。以下是常用的捕获过滤器规则:
系统已经自带了一些捕获的过滤器。
编写的时候 左边是过滤器的名称,右边是过滤器的规则。
语法格式:
<表达式>
常见捕获过滤器示例:
- 捕获某个IP地址的流量
host 192.168.1.1
- 捕获某个IP地址的TCP流量
tcp host 192.168.1.1
tcp port 80 and host 192.168.1.1
- 捕获某个IP地址的HTTPS流量
tcp port 443 and host 192.168.1.1
- 捕获指定端口的流量
port 80
- 捕获特定IP段的流量
net 192.168.1.0/24
- 捕获ARP包
arp
- 捕获TCP流量
tcp
- 捕获UDP流量
udp
- 捕获来自特定MAC地址的流量
ether src host 00:11:22:33:44:55
捕获过滤器是从源头进行过滤,而显示过滤器是在抓取的包中,拿到自己想要的内容。
2. 显示过滤器(Display Filter)
在页面的上面有显示过滤器:
显示过滤器是在抓包之后,用于筛选和显示满足特定条件的数据包。显示过滤器使用的是Wireshark自己的过滤语法,可以更加灵活地根据数据包的具体内容进行筛选。
语法格式:
<字段名> <比较运算符> <值>
常见比较运算符:
==
:等于!=
:不等于>
:大于<
:小于>=
:大于等于<=
:小于等于and
:与or
:或not
:非
常见显示过滤器示例:
- 显示某个IP地址的流量
ip.addr == 192.168.1.1
- 显示源IP地址是192.168.1.1的流量
ip.src == 192.168.1.1
- 显示目的IP地址是192.168.1.1的流量
ip.dst == 192.168.1.1
- 显示TCP端口80的流量(HTTP)
tcp.port == 80
- 显示HTTP流量
http
- 显示HTTPS流量
ssl
- 显示DNS查询
dns
- 显示TCP流量
tcp
- 显示UDP流量
udp
- 显示包含某个字符串的HTTP流量
http contains "example"
- 显示某个TCP会话的流量(基于TCP流编号)
tcp.stream eq 5
- 显示ICMP流量(如ping)
icmp
逻辑操作符:
- AND(与)
ip.src == 192.168.1.1 and tcp.port == 80
- OR(或)
ip.src == 192.168.1.1 or ip.dst == 192.168.1.1
- NOT(非)
not tcp.port == 80
总结:
- 捕获过滤器:用于在抓包之前定义要捕获的流量类型,语法较为简洁,类似于BPF(Berkeley Packet Filter)格式。
- 显示过滤器:用于在抓包后筛选显示指定条件的数据包,语法更加复杂,可以针对更详细的数据包字段进行过滤。
如果你需要从大量数据包中找到特定的流量,显示过滤器是非常强大的工具。而如果你想在抓包时只捕获相关流量,使用合适的捕获过滤器可以提高效率。
应用
比如我的现在ip地址是:
抓取的都是来自己我自己电脑的包