插件窝 干货文章 Wireshark过滤规则及过滤选项如何理解

Wireshark过滤规则及过滤选项如何理解

过滤器 过滤 tcp http 389    来源:    2025-04-22

Wireshark的过滤规则是网络分析的核心功能,它能帮助用户精准定位目标流量。以下是系统化的解析:

一、过滤规则类型 1. 捕获过滤器(BPF语法) - 位置:Capture → Options → Capture Filter - 特点:在抓包时生效,减少内存占用 - 示例:host 192.168.1.1 && tcp port 80

  1. 显示过滤器

- 位置:主窗口过滤器栏 - 特点:对已捕获数据筛选 - 语法:ip.addr == 192.168.1.1 && tcp.port == 80

二、核心过滤语法 1. 协议过滤 - tcp/udp/icmp/http等协议名直接使用 - 示例:httpssl

  1. 地址过滤

- IPv4:ip.addr == 10.0.0.1 - IPv6:ipv6.addr == ::1 - MAC:eth.addr == 00:1a:2b:cc:dd:ee

  1. 端口过滤

- tcp.port == 80 - udp.srcport == 53

  1. 逻辑运算符

- 与:&&and - 或:||or - 非:!not

三、高级过滤技巧 1. 范围过滤 - 字节偏移:tcp[0:2] == 0x1500 - 端口范围:tcp.port >= 8000 && tcp.port <= 9000

  1. 内容匹配

- 十六进制:frame contains 00:ff - 字符串:http contains "admin"

  1. 特殊过滤器

- 重传包:tcp.analysis.retransmission - HTTP方法:http.request.method == "GET"

四、实用过滤方案 1. 排错组合 - tcp.analysis.flags && !tcp.analysis.window_update - icmp.type == 3(目标不可达)

  1. 性能分析

- tcp.time_delta > 1(响应延迟>1秒) - frame.time_delta > 0.5(帧间隔>500ms)

  1. 安全检测

- tcp.flags.syn == 1 && tcp.flags.ack == 0(SYN扫描) - dns.qry.name contains "malware"

五、调试技巧 1. 自动补全:输入时按Ctrl+Space触发字段建议 2. 语法检查:无效规则会显示红色背景 3. 保存过滤器:通过Filter Expression按钮保存常用规则

六、注意事项 1. 捕获过滤器不支持显示过滤器的丰富语法 2. 复杂表达式可能影响性能 3. 协议字段名称区分大小写(如http.host正确,HTTP.HOST错误)

建议通过以下方式练习: 1. 右键数据包 → Apply as Filter 2. 使用工具栏的Expression按钮构建过滤器 3. 分析示例:(http || dns) && !(ip.addr == 192.168.1.100)表示抓取HTTP或DNS流量,但排除特定IP

掌握这些过滤技巧可提升80%以上的分析效率,建议配合Wireshark官方文档(https://www.wireshark.org/docs/)中的Display Filter Reference查阅完整字段列表。