这份备忘单基于我多年的实战经验,参考了 Wireshark 官方文档和社区最佳实践,整理了常见的显示过滤器(Display Filters)。这些过滤器可以让你快速定位特定协议、地址、标志位等信息,避免在数万条数据包中盲目搜索。

为什么需要这份备忘单?在实际项目中,比如排查 ARP 风暴、分析 BGP 路由抖动、调试 HTTP 应用延迟,或调查 TCP 重传问题,这些过滤器能将分析时间从小时级缩短到分钟级。Wireshark 的过滤语法灵活,支持逻辑运算符、比较运算符和子串匹配,但记住常用过滤器是关键。建议大家在 Wireshark 中练习这些过滤器,并结合 Tshark 命令行工具自动化分析。
1. ARP 协议过滤器ARP(Address Resolution Protocol)是局域网中 IP 地址与 MAC 地址解析的核心协议。在网络故障中,ARP 问题常导致广播风暴或地址冲突。作为入门级过滤器,ARP 系列能帮你快速隔离请求/响应包,分析 MAC/IP 映射。
使用场景:排查“无法 ping 通”问题时,过滤特定 IP 的 ARP 请求;监控 DHCP 环境中的 ARP 欺骗攻击。记住,ARP 是无连接的,opcode 1 为请求,2 为响应。
实用技巧:结合 eth.src 使用,查看谁在发起 ARP 广播。示例:arp.src.proto_ipv4 == 192.168.1.100 && arp.opcode == 1 – 显示从 192.168.1.100 发送的 ARP 请求。
2. BGP 协议过滤器BGP(Border Gateway Protocol)是互联网核心路由协议,处理 AS 路径、社区属性等复杂信息。在企业 WAN 或 ISP 环境中,BGP 过滤器是排查路由泄露、黑洞路由的利器。
使用场景:监控 BGP 更新消息,过滤特定 AS 路径;诊断 MED 属性导致的路由选择问题。BGP 消息类型包括 Open、Update、Notification,type 过滤器是起点。
实用技巧:用 bgp.type == 1 过滤 Open 消息,检查邻居建立;结合 bgp.as_path 搜索循环路径。示例:bgp.as_path contains "65001" – 显示经过 AS 65001 的路由。
3. Ethernet 协议过滤器Ethernet 是 LAN 基础,过滤器聚焦 MAC 地址、类型和标志位。适用于无线/有线混合环境下的广播控制和 QoS 调试。
使用场景:隔离多播流量导致的拥塞;检查 VLAN 标签前的 Ethernet 类型。eth.type 是万金油过滤器。
实用技巧:eth.multicast && eth.dst == 01:00:5e:xx:xx:xx 过滤特定组播组。示例:eth.type == 0x0800 – 只显示 IPv4 流量。
4. 过滤运算符过滤运算符是 Wireshark 语法的核心,支持数值、字符串比较。掌握这些,能构建复杂表达式。
使用场景:数值范围过滤 TTL;字符串匹配 URI。默认 eq 为相等。
实用技巧:链式使用,如 ip.ttl gt 100 && ip.ttl lt 255。示例:http.request.uri contains "login" – 过滤登录请求。
5. 过滤逻辑运算符逻辑运算符允许 AND/OR/NOT 组合,构建多层过滤。括号分组是关键,避免歧义。
使用场景:(ip.src == 10.0.0.1 or ip.dst == 10.0.0.1) and tcp.port == 80 – 过滤特定主机的 HTTP 流量。
实用技巧:用 not 排除噪声,如 not icmp – 隐藏 ping 包。示例:(tcp.flags.syn == 1 and tcp.flags.ack == 0) or (tcp.flags.fin == 1) – SYN/FIN 包。
6. Frame Relay 协议过滤器Frame Relay 是旧式 WAN 协议,过滤器聚焦 DLCI、拥塞位。虽少用,但遗留系统常见。
使用场景:迁移项目中,检查 FECN/BECN 拥塞通知;过滤特定 DLCI 通道。
实用技巧:fr.dlci == 100 – 隔离虚拟电路。示例:fr.fecn == 1 – 前向拥塞包。
7. HTTP 协议过滤器HTTP 是 Web 流量主力,过滤器覆盖头字段、方法、状态码。适用于应用性能监控和安全扫描。
使用场景:过滤 404 错误响应;追踪 Cookie 注入攻击。http.request.method 是高频使用。
实用技巧:http contains "POST" && http.request.uri contains "/api" – API 调用包。示例:http.response.code == 500 – 服务器错误。
8. ICMP 协议过滤器ICMP(Internet Control Message Protocol)用于错误报告和诊断,如 ping。过滤器聚焦类型、代码、ID。
使用场景:过滤 Echo Request/Reply 追踪延迟;隔离 Destination Unreachable。
实用技巧:icmp.type == 8 – Ping 请求。示例:icmp.code == 3 && icmp.type == 3 – 端口不可达。
9. ICMPv6 协议过滤器ICMPv6 扩展了 IPv6 的邻居发现、移动性支持。过滤器类似 ICMP,但增加选项和 RA 字段。
使用场景:IPv6 迁移中,过滤 Router Advertisement;检查 CGA 安全选项。
实用技巧:icmpv6.type == 133 – Router Solicitation。示例:icmpv6.ra.router_lifetime > 0 – 活跃路由器。
10. IEEE 802.1Q 协议过滤器802.1Q 是 VLAN 标签标准,过滤器针对 VID、PCP 等。适用于交换机端口镜像分析。
使用场景:过滤特定 VLAN 的广播;QoS 优先级检查。
实用技巧:vlan.id == 100 – VLAN 100 流量。示例:vlan.priority == 7 – 最高优先级包。
11. IPv4 协议过滤器IPv4 是主流,过滤器覆盖地址、标志、分片、QoS。ip.src/dst 是基础。
使用场景:过滤特定子网流量;诊断 DF 位导致的分片失败。
实用技巧:ip.frag_offset != 0 – 分片包。示例:ip.dsfield.dscp == 46 – EF QoS 包。
12. IPv6 协议过滤器IPv6 过滤类似 IPv4,但增加流标签、扩展头。ipv6.src/dst 基础。
使用场景:双栈环境中,过滤分片扩展头;检查路由头类型。
实用技巧:ipv6.fragment.more == 1 – 更多 IPv6 分片。示例:ipv6.flow == 0x12345 – 特定流标签。
13. MPLS 协议过滤器MPLS(Multiprotocol Label Switching)用于 VPN 和流量工程,过滤器针对标签、EXP、TTL。
使用场景:MPLS VPN 泄露排查;OAM 维护消息监控。
实用技巧:mpls.label == 100 – 特定标签流量。示例:mpls.exp == 5 – 中等 QoS。
14. PPP 协议过滤器PPP(Point-to-Point Protocol)用于拨号和串行链路,过滤器简单,聚焦地址、协议。
使用场景:DSL 连接调试;PPPoe 会话监控。
实用技巧:ppp.protocol == 0x0021 – IPv4 over PPP。示例:ppp.direction == 1 – 入站帧。
15. RIP 协议过滤器RIP(Routing Information Protocol)简单距离矢量协议,过滤器针对命令、度量。
使用场景:小型网络路由收敛分析;版本兼容检查。
实用技巧:rip.command == 2 – 响应消息。示例:rip.metric < 16 – 有效路由。
16. TCP 协议过滤器TCP 是传输层骨干,过滤器详尽,覆盖标志、选项、重传。
使用场景:连接建立/终止分析;SACK 效率优化。
实用技巧:tcp.flags.syn == 1 && tcp.flags.ack == 0 – SYN 包。示例:tcp.analysis.retransmission – 重传包。
17. UDP 协议过滤器UDP 轻量,过滤器简单,聚焦端口、长度、校验。
使用场景:DNS/ RTP 流量监控;UDP 洪泛攻击检测。
实用技巧:udp.port == 53 – DNS 流量。示例:udp.length > 512 – 大 UDP 包。
18. VTP 协议过滤器VTP(VLAN Trunking Protocol)用于 Cisco 交换机 VLAN 同步,过滤器针对版本、修订、摘要。
使用场景:VLAN 传播故障排查;域隔离检查。
实用技巧:vtp.version == 2 – VTP v2 消息。示例:vtp.conf_rev_num > 10 – 高修订配置。