在 Wireshark 中如何筛选数据包

1. 显示过滤器(Display Filters)

显示过滤器用于 在已捕获的数据包中筛选,语法类似于编程语言中的条件表达式。

(1)基本过滤

表达式 说明
ip.addr == 192.168.1.1 显示所有涉及 192.168.1.1 的 IP 包
ip.src == 192.168.1.1 显示源 IP 是 192.168.1.1 的包
ip.dst == 192.168.1.1 显示目标 IP 是 192.168.1.1 的包
eth.addr == 00:11:22:33:44:55 按 MAC 地址过滤
tcp.port == 80 显示 TCP 端口 80(HTTP)的流量
udp.port == 53 显示 UDP 端口 53(DNS)的流量

(2)协议过滤

表达式 说明
http 显示所有 HTTP 流量
dns 显示所有 DNS 查询
tcp 显示所有 TCP 流量
udp 显示所有 UDP 流量
icmp 显示所有 ICMP(Ping)流量
ssltls 显示 SSL/TLS 加密流量
arp 显示 ARP 请求/响应
bootpdhcp 显示 DHCP 流量

(3)高级过滤(基于内容)

表达式 说明
http.request.method == "GET" 显示 HTTP GET 请求
http.request.method == "POST" 显示 HTTP POST 请求
http contains "login" 显示 HTTP 请求中包含 "login" 的包
tcp.payload contains "password" 显示 TCP 载荷中包含 "password" 的包
dns.qry.name contains "google.com" 显示查询 google.com 的 DNS 请求
smtp.req.command == "MAIL" 显示 SMTP 邮件发送请求

(4)逻辑运算符(AND/OR/NOT)

| 表达式 | 说明 |
|--------------------------------------------|---------------------------------|-------|------------------|
| tcp.port == 80 && ip.src == 192.168.1.1 | 显示源 IP 192.168.1.1 且端口 80 的流量 |
| `http | | dns` | 显示 HTTP 或 DNS 流量 |
| !arp | 排除所有 ARP 流量 |
| tcp.flags.syn == 1 && tcp.flags.ack == 0 | 显示 TCP SYN 包(用于检测扫描) |

(5)特殊过滤(TCP 状态、错误)

表达式 说明
tcp.analysis.retransmission 显示 TCP 重传包(网络问题)
tcp.analysis.duplicate_ack 显示重复 ACK
tcp.flags.reset == 1 显示 TCP RST(连接重置)包
icmp.type == 3 显示 ICMP 目标不可达错误

2. 捕获过滤器(Capture Filters)

捕获过滤器用于 在抓包时就过滤掉不需要的数据(减少存储量),语法与显示过滤器不同。

(1)基本捕获过滤

表达式 说明
host 192.168.1.1 只抓取涉及 192.168.1.1 的流量
src host 192.168.1.1 只抓取源 IP 是 192.168.1.1 的流量
dst host 192.168.1.1 只抓取目标 IP 是 192.168.1.1 的流量
port 80 只抓取 TCP/UDP 端口 80 的流量
tcp port 443 只抓取 TCP 443(HTTPS)流量
udp port 53 只抓取 UDP 53(DNS)流量

(2)逻辑运算符

表达式 说明
host 192.168.1.1 and port 80 抓取 192.168.1.1 的 80 端口流量
not arp 排除 ARP 流量
src net 192.168.1.0/24 抓取来自 192.168.1.0/24 的流量

3. 如何验证过滤语法?

在 Wireshark 的 Filter 输入框

  • 如果 语法正确 ,输入框背景是 绿色

  • 如果 语法错误 ,输入框背景是 红色

可以点击 Expression... 按钮查看支持的协议和字段。

相关推荐
qinyia1 小时前
WisdomSSH解决NFS服务因“RPC fragment too large“导致的性能警告
网络·网络协议·rpc
松涛和鸣2 小时前
22、双向链表作业实现与GDB调试实战
c语言·开发语言·网络·数据结构·链表·排序算法
天宇&嘘月8 小时前
Nginx的https搭建
网络·nginx·https
_星辰大海乀8 小时前
IP 协议
服务器·网络·tcp/ip·nat·子网掩码·ip协议
屿行屿行9 小时前
【Linux】Socket编程(基于实际工程分析)
linux·服务器·网络
Evan芙9 小时前
Rocky Linux 9 网卡改名及静态IP地址配置完整步骤
linux·网络·智能路由器
不过普通话一乙不改名10 小时前
Linux 网络收包的进阶之路:从普通 socket 到 AF_XDP 零拷贝
linux·运维·网络
苏州知芯传感12 小时前
环境智能的触角:MEMS微振镜赋能分布式光纤传感网络
网络·分布式·3d·mems·激光·微振镜
dualven_in_csdn12 小时前
【疑难问题】某些win11机器 网卡统计也会引起dns client 占用cpu问题
运维·服务器·网络
DanB2413 小时前
Java(网络编程)
java·网络·php