首页/网络/协议速查/DNS 报文的四个区段
DNS 与域名解析60 条

DNS 报文的四个区段

QUESTION 问什么、ANSWER 答案、AUTHORITY 权威/委派、ADDITIONAL 附加(glue、OPT);dig 默认输出正好对应这些段。

协议速查网络更新于 2026-10-13

DNS 报文的四段

一条 DNS 报文分成四个区段:问题段说明问的是什么名字与类型,回答段放最终资源记录,权威段放权威服务器列表或 SOA,附加段放胶水地址与 EDNS 的 OPT 记录。头部里还有四个计数字段,分别对应问题数与三个区段的记录条数。dig 的默认输出正好按这个顺序排列,看懂四段的分工,抓包解析就不会乱。

基本信息

区段数量四个:问题、回答、权威、附加
头部计数QDCOUNT、ANCOUNT、NSCOUNT、ARCOUNT
问题段通常恰好一条,记录查询名与类型
回答段最终答案,CNAME 链也在这里逐跳列出
权威段权威 NS 或 SOA,负缓存窗口写在这里
附加段胶水地址与 EDNS 的 OPT 记录

逐段查看

逐段查看
dig example.com NS +noall +question +answer +authority +additional
dig example.com NS +noall +authority +additional   # 委派信息在权威段
dig www.example.com +noall +answer                  # 只看最终答案
dig nx.example.com +noall +authority                # NXDOMAIN 时看 SOA 的负缓存 TTL

区段读法

区段内容读法
问题段查询名、类型、类一般恰好一条
回答段最终资源记录CNAME 链逐跳列出,末尾才是目标类型
权威段权威 NS 或 SOANXDOMAIN 时含 SOA,决定负缓存时长
附加段胶水地址与 OPT 记录解析器靠它跳过额外查询轮次

典型使用场景

  • 排查解析绕路:从回答段的 CNAME 链看请求究竟经过了哪些名字
  • 分析负缓存:NXDOMAIN 时读权威段 SOA 的最小 TTL,判断缓存多久
  • 核对委派配置:权威段的 NS 列表与父区委派是否一致
  • 抓包对照:以头部计数为准核对解析结果,识别畸形或被裁剪的报文
  • 协议开发:按区段顺序与压缩指针规则解析报文
抓包解析时报文的区段条数应以头部的四个计数为准。计数与实际解析出的记录数不符,或者出现了不该有的段,通常是畸形包或人为构造的报文,在安全审计里值得单独标记。

易错点

  • 用 ANY 查询当作查全部记录的工具:多数解析器已拒绝或只返回缓存里已有的部分
  • 只看回答段就下结论:CNAME 链与最终地址不在同一条记录里,容易漏掉中间环节
  • 忽略权威段的 SOA,无法解释某些解析失败为什么会被缓存很久
  • 忘记附加段的胶水记录,看到 NS 却连不上权威服务器时找不到原因,多数是父区没下发胶水地址

数据来源与参考

  • RFC 1035 §4.1
  • RFC 6891(OPT 位于 ADDITIONAL)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌