首页/网络/网络排障速查/dig 基本用法与输出结构判读
DNS 与解析排查46 条

dig 基本用法与输出结构判读

dig 是 DNS 排查的事实标准:一次查询输出 HEADER 状态、OPT(EDNS)、ANSWER、AUTHORITY、ADDITIONAL 与耗时统计,覆盖排查所需的全部字段。

网络排障速查网络更新于 2026-10-13

dig 是什么

dig 是域名系统排查的事实标准工具:它按协议原样构造查询,再把服务器返回的报文按区块分门别类地展示出来,头部状态、应答记录、权威段、附加段与耗时统计一应俱全。与操作系统自带的小工具相比,它不做额外加工,所以『查询结果本身是什么样』一目了然。排查域名问题时,先用它定位到底是解析链路有问题,还是应用拿到的结果不对。

基本信息

适用平台Linux、macOS 需安装 dig 所属的工具包;Windows 可用系统自带的小工具替代
默认行为不带记录类型时查地址记录,默认使用系统配置的解析服务器
常用参数指定服务器查询、只看答案值、不递归、显示统计、逐层溯源
结果分块头部、附加段、问题段、应答段、权威段、附加数据段、统计行
观察重点状态码是否正常、标志位是否符合预期、应答的服务器是不是你以为的那一台

典型使用场景

  • 确认解析结果:核对域名当前解析出的地址是否正确
  • 验证权威数据:绕过缓存直接向权威服务器查询,判断是源站配置问题还是缓存问题
  • 定位解析服务:确认实际应答的服务器地址与端口,排查内网劫持与转发
  • 批量核对记录:一次性导出某域名的多种记录,用于迁移前后对比
  • 为变更服务:域名切换前后用同一命令留存证据,避免口头争论

基本查询与输出结构

基本查询与输出结构
$ dig example.com
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24312
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION: ; EDNS: version: 0, udp: 1232
;; QUESTION SECTION: ;example.com. IN A
;; ANSWER SECTION: example.com. 3600 IN A 93.184.216.34
;; Query time: 12 msec
;; SERVER: 192.168.1.1#53(192.168.1.1) (UDP)
;; WHEN: Mon Oct 12 10:30:00 CST 2026

输出逐段读法

区段内容正常与异常
头部状态响应码,如正常、无此域名、服务器失败、拒绝非正常码先看是哪一类,再决定排查方向
标志位是否响应、是否权威、是否期望递归、是否允许递归、是否已校验向权威查询却看到允许递归,说明查错了对象
问题段实际发出的查询名与类型与预期不一致说明命令写错或脚本传参出错
应答段记录名、生存时间、记录类型、记录值生存时间很短说明频繁变更或做过预切换
统计行查询耗时与实际应答的服务器耗时异常大指向解析链路慢
端口与传输本次使用的端口与传输方式看到截断标志时说明应答过大并改走其他传输
排障先看三件事:状态码是否正常、标志位是否符合预期、应答的服务器是不是你配置的那一台;三项都对,再去看应答内容对不对。
只看答案不看状态码会踩坑:某些情况下即使状态异常,也仍可能打印出缓存里的旧答案,容易得出错误结论。
容器与本机自带解析代理的环境里,查询很可能被转发到别处:应答行里的服务器地址就是判断『到底问到了谁』的关键依据。
用带递归请求的方式去问不提供递归的服务器会被拒绝,这不是故障;判断权威侧是否正常,应当直接向该域的权威服务器查询。

易错点

  • 只盯应答段忽略状态码,把服务器失败或空应答误读成域名不存在
  • 忽略应答的服务器地址,容器或本机代理转发导致查的根本不是想象中的那台服务器
  • 把生存时间很短的记录当作不稳定:那通常是有意为之,用于快速切换
  • 在需要权威结论时用本地缓存服务器查询,得到的只是缓存视角的结果
  • 只用一次查询就断定解析异常:多台服务器、多次采样交叉验证才能定性

数据来源与参考

  • ISC BIND 9 手册:dig 工具
  • RFC 1035:DNS 报文格式

相关工具

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