首页/系统/Linux 运维命令速查/dig 进阶:+trace 与批量查询
网络命令82 条

dig 进阶:+trace 与批量查询

从根域开始逐级追踪解析路径(+trace),或读文件批量查域名(-f),定位「解析链路哪一级出问题」。

Linux 运维命令速查系统更新于 2026-10-13

dig 追踪解析链路是什么

dig 加 +trace 会自己从根域名服务器开始,沿委派链路逐级向下一路问到底:先问根、再问顶级域、最后问到承载记录的权威服务器,并把每一跳的应答完整打印出来。它不走本地缓存,所以能看到真实的 NS 委派关系——域名迁移后「解析还没生效还是已经切到新服务商」这类问题,用 +trace 比 ping 域名可靠得多。配合 -f 读域名清单,还能一次批量巡检几十上百个域名的解析结果。

基本信息

适用平台GNU/Linux、macOS(bind-utils / bind9-dnsutils 中的 dig)
语法dig +trace 域名 与 dig -f 域名清单 +short
批量输入-f 每行一个域名,# 开头视为注释
关键差异+trace 不读本地缓存,+short 只输出答案
权限普通用户即可
适用实现BIND 9 及兼容实现(knot-dnsutils 等)

典型使用场景

  • 域名迁移后确认各级 DNS 委派是否已经指向新服务商。
  • 排查「本地能解析、其他运营商解析不到」这类差异问题。
  • 批量巡检域名的 A 记录,输出结果用于资产台账核对。
  • 核对 NS 记录与权威服务器地址是否与实际部署一致。
  • 迁移前记录解析快照,迁移后做前后对比。

常用写法

常用写法
dig +trace example.com | head -40              # 从根开始的逐级委派路径
dig +trace example.com | grep -E 'NS|A'        # 只看委派与地址记录
dig +short example.com                         # 单域名速查
printf 'qiqicto.com\nexample.com\n' > domains.txt
dig +short -f domains.txt | sort -u            # 批量查询并去重
dig +noall +answer -f domains.txt              # 保留域名上下文,便于归属
dig +short @8.8.8.8 -f domains.txt | sort -u   # 指定公共 DNS 批量核查
dig NS example.com +short                      # 只看权威 NS 列表

选项与输出读法

选项作用使用要点
+trace从根逐级追踪不读本地缓存,看到的是真实委派链路
+short只输出答案批量时没有域名前缀,多域名难以分辨
-f 文件批量查询每行一个域名,# 开头行会被忽略
+noall +answer只保留回答段保留完整记录格式,适合脚本解析归属
+nocmd不打印 dig 回显输出更干净
@服务器指定查询服务器用于对比不同 DNS 的解析差异
+trace 的起点取决于本机递归配置,逐级结果可能与真实客户端路径存在差异。判断「谁是权威」时应以最后 answer 段中的记录与权威服务器地址为准,而不是只看中间过程。
批量查询时 +short 不带域名前缀,多个域名的结果混在一起无法分辨归属,核对台账极易张冠李戴。脚本里改用 +noall +answer,或逐个域名查询后自己打印域名再拼结果。
解析慢要区分是缓存还是权威的问题:分别对本地递归服务器、公共 DNS、权威服务器各查一次,对比响应时间与结果,能快速定位慢在哪一段链路。

易错点

  • 用 ping 域名判断解析是否已经迁移,被本地缓存误导:ping 命中的可能是操作系统或本地递归的旧缓存,看委派链路要用 +trace。
  • 批量查询用 +short 却指望输出里有域名归属,多域名结果混在一起无法分辨,核对时容易张冠李戴;改用带上下文的输出格式。
  • 只看最终答案不看 TTL:TTL 很小时结果会快速变化,据此下结论容易反复;迁移判定要结合权威服务器记录与 TTL 值。
  • 忽略查询源差异:本地 DNS、公共 DNS、权威服务器结果可能不同,只查一家就断言全球解析都正确并不成立。

数据来源与参考

  • man 1 dig(BIND 9 官方手册)

相关工具

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