dig 命令用于 linux 域名解析诊断,不走系统缓存、结果真实;默认查 a/aaaa 记录,需显式指定 mx、ns、cname、txt、aaaa 等类型;可指定 dns 服务器(如 @8.8.8.8)、直连权威服务器、反向解析(-x);常用精简输出:+short、+noall +answer、+trace。

Linux 中用 dig 查询域名的详细解析记录,关键在于理解它默认输出的结构,并通过参数控制查询目标、服务器和显示内容。它不走系统缓存,结果更真实,适合诊断和验证。
看懂默认输出的五个核心部分
执行 dig example.com 后,输出分为清晰区块:
- HEADER SECTION:含 status(如 NOERROR、NXDOMAIN、SERVFAIL)、ID、标志位(qr=响应,rd=递归请求,ra=支持递归)
-
QUESTION SECTION:明确显示你查的是什么,比如
example.com. IN A - ANSWER SECTION:真正有效的解析结果;为空不代表失败,要结合 status 判断
- AUTHORITY SECTION:返回权威服务器(NS 记录),常见于被委派子域或非递归响应
- STATISTICS:查询耗时、所用 DNS 服务器(SERVER 行)、时间戳等,用于确认实际通信对象
查指定类型的 DNS 记录
不加类型时,dig 默认只查 A(IPv4)或 AAAA(IPv6),其他记录必须显式指定:
- 查邮件服务器:
dig example.com MX - 查权威 DNS:
dig example.com NS - 查别名:
dig example.com CNAME - 查文本记录(如 SPF、DKIM):
dig example.com TXT - 查 IPv6 地址:
dig example.com AAAA - 反向解析(IP → 域名):
dig -x 1.1.1.1
指定 DNS 服务器并绕过本地配置
默认 dig 使用 /etc/resolv.conf 中的 DNS,结果可能被缓存或重定向。要验证真实状态,需手动指定:
- 用公共 DNS 比较结果:
dig @8.8.8.8 example.com A和dig @114.114.114.114 example.com A - 直连权威服务器(最准):先查 NS:
dig example.com NS,再查其中一个:dig @ns1.example.com example.com A - 确认 SERVER 行是否与预期一致,避免被中间设备劫持或转发
精简或增强输出以便分析
默认输出信息丰富但冗长,脚本或快速判断时建议组合开关:
- 只看答案 IP(含 CNAME 展开):
dig example.com +short - 稳定提取 ANSWER SECTION(推荐脚本使用):
dig example.com +noall +answer - 查看完整递归路径(从根开始逐级):
dig example.com +trace - 隐藏所有默认头和统计,仅留答案和错误提示:
dig example.com +noall +answer +stats











