应用层报文判读71 条

DNS 抓包过滤速查

把常用 DNS 过滤串成一组:按名、按类型、只看失败、只看截断、只看 TCP 53——排查时直接取用,减少现场现拼。

把常用过滤集中起来

域名系统的排查现场往往节奏很快,临时拼过滤条件既慢又容易写错。把最常用的几组条件提前整理好——按域名查询、按记录类型、只看失败、只看截断、只看非默认端口——现场直接取用即可。这样既减少语法试错的时间,也避免因为条件写得不准而得出错误结论。需要留意的是加密解析流量在内容层不可见,只能看到连接形态。

基本信息

适用平台Wireshark / tshark 显示过滤器
常用字段dns、dns.flags.*、dns.qry.name、dns.qry.type
端口范围53(默认)、5353(组播解析)
限制加密解析只能按连接特征筛选,内容不可见

典型使用场景

  • 现场快速筛出失败响应,先看数量再钻取
  • 按记录类型定位特定类型的解析问题
  • 只看查询或只看响应,避免混淆两类报文
  • 快速确认是否存在被截断的响应
  • 在非默认端口上排查组播或本地解析行为
  • 为新同事提供可直接复制的起手条件

速查清单

速查清单
dns                                            # 全部域名流量
!dns.flags.response                            # 只看查询
dns.flags.response == 1 && dns.flags.rcode != 0 # 只看失败
dns.flags.truncated == 1                       # 只看截断
dns.qry.type == 16                             # 只看文本类型记录
tcp.port == 53 || udp.port == 53               # 非默认端口的补充筛选
# 加密解析: 只能按端口与连接形态筛选,内容不可见

条件逐项读法

过滤条件作用使用注意
dns所有域名流量起手筛选,范围最宽
只看查询排除响应干扰注意取反写法不要写成排除全部流量
只看失败收敛到问题样本需要同时限定响应侧,否则查询也会被算进来
只看截断定位不完整响应截断响应需与回退流量配对分析
按记录类型聚焦特定查询类型取值需与协议定义一致
取反条件写错是高频问题:把「只看查询」写成对整个协议取反,会把不相关的流量一起排除,结果看起来像没有数据。
默认端口之外还有组播解析与其他本地解析方式,按需扩展筛选条件,但它们的内容层可读性与默认端口不同。

易错点

  • 过滤条件写反:取反范围写错会把无关流量一并排除,现场表现为「完全抓不到」
  • 把加密解析当明文分析:内容不可见是协议特性,需要换观测角度而非继续加过滤条件
  • 只看单条条件的结果:查询与响应混在一起统计会让失败率明显偏低
  • 条件长期不复用:每次现场重写容易引入笔误,整理成清单可显著降低出错率

数据来源与参考

  • Wireshark 显示过滤器参考(dns)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌