上一节是文法,本节是案例集。这里的过滤器按四类案情组织——连接类、性能类、安全类、协议类——每条都附判定解读,说明它筛出什么、怎么读结果。清单不求全,求的是每条都经过实战检验;配合 8.3 节的故障模式库使用,这两份材料合起来就是断案的随身手册。
# 套路一:握手发起后无应答(半开连接) tcp.flags.syn==1 && tcp.flags.ack==0 && !tcp.analysis.retransmission_seen 解读:只筛"没重传过的 SYN",命中说明 SYN 出去了但从未重传——多半是 过滤器或防火墙静默丢弃,配合时间轴确认后面没有 SYN 重传即可断定。 # 套路二:SYN 得到 RST 应答(端口未开或被拒) tcp.flags.syn==1 && tcp.flags.ack==0 && tcp.analysis.flags && tcp.flags.reset 解读:4.2 节的判定在过滤器层的直接应用——服务未启动、监听地址错、 或中间设备代答拒绝。看 RST 的返回延迟可区分(即时拒绝多为本地栈)。 # 套路三:握手完成但立即被拆(短命连接) tcp.flags.reset==1 && tcp.analysis.bytes_sent < 1000 解读:连接建立后没传多少数据就被 RST。批量命中时看发起方分布, 若集中在单一源对大量端口,是扫描特征而非业务问题。 # 套路四:SYN 洪水视角(未完成握手的 SYN) tcp.flags.syn==1 && !(tcp.flags.ack==1) && !(tcp.stream in {0}) 解读:更实用的做法是开 Conversations 统计看 SYN 与 SYN+ACK 的数量差, 差值大即大量半开连接——后文 8.1 节的统计工具是这类案子的主场。
# 套路五:所有 TCP 异常账本(一键分诊) tcp.analysis.flags 解读:重传、乱序、零窗口、重复确认全部高亮。这是性能案的第一条 过滤器,命中量本身就是网络健康度的粗指标。 # 套路六:重传按方向归类 tcp.analysis.retransmission && ip.src == 10.0.0.5 解读:只看某方向的重传。方向比总量更有信息:客户端方向重传多, 问题在下行或客户端上行链路;服务端方向多,查服务侧出口。 # 套路七:慢确认(接收方拖累发送方) tcp.analysis.ack_rtt > 0.5 && tcp.len == 0 解读:确认往返超过半秒。注意这是分析器给的参考值,命中率高的 连接要结合应用行为判断——有些协议就是间歇性轮询。 # 套路八:零窗口与窗口探测 tcp.window_size == 0 || tcp.analysis.zero_window 解读:对端收不动了。第 4 章讲过这不是网络丢包,是接收应用太慢, 方向要往服务端处理能力或客户端读缓冲上查。 # 套路九:大帧异常(MTU 问题的一票) frame.len > 1514 解读:超过常见以太网 MTU 还整帧出现的,要么开启了巨帧要么有 分片重组,配合 4.1 节的分片判定一起看。
# 套路十:内网扫描横截面 (ip.src == 192.168.31.0/24) && (tcp.flags.syn==1) && !(tcp.flags.ack==1) && (tcp.dstport < 1024) 解读:单源对大量低端口的 SYN。真正的判定看"目标端口离散度"—— Conversations 面板按端口聚合后一眼即知(8.1 节)。 # 套路十一:DNS 隧道与渗出特征 (dns.qry.type == 16) && (len(dns.qry.name) > 50) 解读:TXT 记录且查询名超长——正常业务很少这样用域名。命中后 人工读查询名内容,Base64 特征字符串即可定性。 # 套路十二:可疑信标节奏(外部周期访问) (ip.dst != 192.168.0.0/16) && (tls.handshake.type == 1) && (ip.dst_host exists == false) 解读:外联握手的起点清单。周期的判定靠时间分布而非单帧,导出 时间戳后看间隔方差——方差异常小的就是信标候选。 # 套路十三:明文密码暴露清点 (http.request.method == "POST") && (http.content_type contains "form") && !(tls) 解读:安全案与合规案的交叉点——清点仍在走明文的表单提交, 第 6 章红线清单的第一项证据。
# 套路十四:TLS 握手全链路(含警报) tls.handshake.type || tls.record.content_type == 21 解读:ClientHello 到 Finished 的完整链路,外加警报。断链案先跑这条, 再看最末一个握手指到哪一型(4.3 节的类型语义)。 # 套路十五:老版本 TLS 清点 tls.handshake.version == 0x0303 || tls.handshake.ciphersuite in {0x002f 0x0035} 解读:版本治理案的基本盘——哪些客户端还在 1.2 以下、用了弱套件, 导出后按客户端聚类即可出整改清单。 # 套路十六:HTTP 重定向链 http.response.code in {301 302 307 308} 解读:性能案的隐藏项——每次重定向都是一次完整 DNS 与握手。 页面上"只是打开就慢"的案子,重定向链经常贡献大半延迟。 # 套路十七:ICMP 差错与原委 icmp.type == 3 解读:网络不可达类差错。结合 ICMP 内嵌的原始 IP 头看是哪个 目的触发了差错——解析器会自动展开内层报文供过滤。

**第一,从一帧出发长出过滤器。**先在列表里找到一枚"典型嫌疑帧",详情树里右键字段"作为过滤器引用",再逐步加条件。从零默写长表达式的错误率远高于增量构造。
**第二,命中数也是信息。**过滤器跑完先看命中量:预期几十帧却命中几万帧,条件太宽(常见于复合字段陷阱);预期几千帧却零命中,多半是字段对不上协议(在 UDP 流量上筛 TCP 字段)。把"预期命中量"当成过滤器的一部分来设计,能少走弯路。
**第三,过滤器要与判定配套。**套路十一筛出超长 TXT 查询后,下一步不是下结论而是"读内容";套路十二筛出外联握手,下一步是"看间隔分布"。每个套路后面都有一句"解读",那才是断案的部分——筛子只负责把证据端上来。
⚠️ 这份清单不要背。理解每条背后的判定逻辑,用时按案情类目翻找、按现场改写。机械照搬过滤器的勘验和机械开检查单的医生一样,遇到变异案情就会失手。