尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Linux DNS 查询完全指南:从 dig 入门到精通

Linux DNS 查询完全指南:从 dig 入门到精通
📅 发布时间:2026/8/3 9:30:02

Linux DNS 查询完全指南:从dig入门到精通

掌握 Linux 下最强大的 DNS 排查工具,成为网络排障专家


前言:为什么需要了解 DNS 查询?

DNS(域名系统)是互联网的“电话簿”,它将人类易记的域名(如www.example.com)转换为机器可读的 IP 地址(如93.184.216.34)。当网站无法访问、解析缓慢或怀疑被劫持时,一个高效的 DNS 查询工具就是你的“照妖镜”。

在 Linux 生态中,dig(Domain Information Groper)毫无疑问是 DNS 查询领域的“瑞士军刀”——功能最全、细节最丰富、输出最可控。本文将带你从零开始,全面掌握dig的使用,同时简要介绍其他辅助工具。


一、环境准备:安装dig

1.1 检查是否已安装

whichdig# 或dig-v

1.2 各发行版安装命令

发行版命令
Ubuntu / Debiansudo apt install dnsutils -y
CentOS / RHEL / Fedorasudo yum install bind-utils -y或sudo dnf install bind-utils -y
Alpine Linuxapk add bind-tools
Arch Linuxsudo pacman -S bind-tools

二、dig命令核心语法

dig[@DNS服务器][域名][记录类型][选项参数]
参数部分说明示例
@DNS服务器指定查询的目标 DNS 服务器(默认使用/etc/resolv.conf)@8.8.8.8
域名要查询的目标域名www.baidu.com
记录类型DNS 资源记录类型(默认 A)A、AAAA、MX、CNAME、NS、TXT、SOA
选项参数控制输出格式与行为+trace、+short、+json

三、最常用的 DNS 记录类型(全解析)

类型全称作用说明查询示例
AAddress返回域名对应的 IPv4 地址dig example.com A
AAAAIPv6 Address返回域名对应的 IPv6 地址dig example.com AAAA
CNAMECanonical Name返回域名的别名(指向另一个规范域名)dig www.example.com CNAME
MXMail Exchange返回邮件服务器地址及优先级(数值越小优先级越高)dig example.com MX
NSName Server返回该域名的权威名称服务器dig example.com NS
TXTText返回文本记录(常用于 SPF、DKIM、域名验证等)dig example.com TXT
SOAStart of Authority返回区域权威信息(主 DNS、管理员邮箱、刷新时间等)dig example.com SOA
PTRPointer反向解析:根据 IP 查询对应的域名dig -x 8.8.8.8
SRVService返回特定服务的服务器位置(常用于 SIP、LDAP)dig _sip._tcp.example.com SRV
CAACertification Authority返回允许为域名签发证书的 CA 列表dig example.com CAA
ANYAll Types返回所有类型的记录(⚠️ 现代 DNS 多已禁用)dig example.com ANY

四、dig输出结果详解(逐段解读)

执行dig baidu.com后,输出通常包含以下 6 个部分:

4.1 Header(头信息)

; <<>> DiG 9.16.1-Ubuntu <<>> baidu.com ;; global options: +cmd
  • 显示使用的dig版本、查询的目标域名。
  • global options: +cmd表示当前启用的全局选项。

4.2 OPT PSEUDOSECTION(EDNS 扩展段)

;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232
  • status: NOERROR:查询成功(其他状态:NXDOMAIN 域名不存在,SERVFAIL 服务器故障)。
  • flags:qr(查询响应)、rd(期望递归)、ra(服务器支持递归)。
  • udp: 1232:支持的最大 UDP 数据包大小。

4.3 QUESTION SECTION(问题段)

;; QUESTION SECTION: ;baidu.com. IN A
  • 这里显示你问了什么:查询baidu.com的 A 记录。

4.4 ANSWER SECTION(应答段)⭐ 核心

;; ANSWER SECTION: baidu.com. 210 IN A 110.242.68.66 baidu.com. 210 IN A 110.242.68.4
  • 210:TTL(Time To Live),单位秒,表示这条记录在本地缓存的有效时长。
  • IN:Internet 类(固定)。
  • A:记录类型。
  • IP 地址:最终的解析结果。

4.5 AUTHORITY SECTION(权威段)

;; AUTHORITY SECTION: baidu.com. 64810 IN NS ns4.baidu.com. baidu.com. 64810 IN NS ns7.baidu.com.
  • 显示该域名由哪些权威 DNS 服务器负责管理。

4.6 ADDITIONAL SECTION(附加段)

;; ADDITIONAL SECTION: ns4.baidu.com. 64810 IN A 112.80.248.73 ns7.baidu.com. 64810 IN A 180.76.76.76
  • 提供权威 NS 服务器对应的 IP 地址,帮助减少额外查询。

4.7 Footer(统计段)

;; Query time: 23 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) ;; WHEN: Sun Aug 02 10:30:00 CST 2026 ;; MSG SIZE rcvd: 112
  • Query time:查询耗时(毫秒),反映 DNS 服务器的响应速度。
  • SERVER:实际响应的 DNS 服务器地址。
  • MSG SIZE:响应数据包大小。

五、核心参数详解(按使用频率排序)

5.1+short—— 输出精简结果

只返回最终的 IP 地址,适合脚本处理和快速查看:

$digbaidu.com +short110.242.68.66110.242.68.4

5.2+trace—— 完整追踪解析路径 🔥

模拟 DNS 递归解析全过程,从根服务器 → 顶级域服务器 → 权威服务器,直至拿到最终答案。这是排查 DNS 链路的“终极武器”:

digwww.jd.com +trace

输出示例解读:

. 518400 IN NS a.root-servers.net. # 第一步:根服务器 . 518400 IN NS b.root-servers.net. ;; Received 525 bytes from 192.168.1.1#53 in 2 ms com. 172800 IN NS a.gtld-servers.net. # 第二步:.com 顶级域 com. 172800 IN NS b.gtld-servers.net. ;; Received 1174 bytes from 198.41.0.4#53 in 180 ms jd.com. 86400 IN NS ns1.jd.com. # 第三步:jd.com 权威 DNS jd.com. 86400 IN NS ns2.jd.com. ;; Received 113 bytes from 192.48.79.30#53 in 86 ms www.jd.com. 30 IN A 123.125.114.144 # 最终答案 ;; Received 63 bytes from 123.125.114.144#53 in 25 ms

5.3+noall +answer—— 只显示应答部分

过滤掉杂乱的辅助信息,只看最终解析结果:

digbaidu.com +noall +answer# 输出只包含 ANSWER SECTION

5.4+stats—— 显示统计信息

显示查询耗时、服务器响应时间等:

digbaidu.com +stats

5.5+json—— JSON 格式输出

便于程序解析(需要较新版本的dig):

digbaidu.com +json

5.6+tcp—— 强制使用 TCP 协议

默认使用 UDP,某些场景(如 DNSSEC 或大响应包)需要 TCP:

digbaidu.com +tcp

5.7-x—— 反向查询(IP → 域名)

根据 IP 地址反查对应的域名:

dig-x8.8.8.8# 输出:dns.google.

5.8-f—— 批量查询

从一个文件中读取多个域名,一次性查询:

echo"baidu.com">domains.txtecho"google.com">>domains.txtdig-fdomains.txt

5.9+dnssec—— DNSSEC 验证

查询并验证 DNSSEC 签名:

digsigfail.verteiltesysteme.net +dnssec# 会显示签名验证失败信息digsigok.verteiltesysteme.net +dnssec# 会显示签名验证成功信息

六、实战场景示例

场景1:排查本地 DNS 是否有问题

# 对比本地 DNS 和公共 DNS 的结果digbaidu.com# 使用本地 /etc/resolv.conf 中的 DNSdig@8.8.8.8 baidu.com# 使用 Google DNSdig@1.1.1.1 baidu.com# 使用 Cloudflare DNS# 如果结果不同,说明本地 DNS 可能被污染或缓存异常

场景2:检查 DNS 解析是否被劫持

# 用 +trace 追踪完整路径,看是否被中间节点篡改digwww.google.com +trace# 如果权威服务器返回的结果与最终答案不符,说明存在劫持

场景3:检查新添加的域名解析是否生效

# 直接查询权威 DNS 服务器,跳过本地缓存dig@ns1.yourdomain.com yourdomain.com A# 如果权威服务器返回新记录,说明已生效

场景4:测量 DNS 查询延迟

digbaidu.com +stats|grep"Query time"# 输出:;; Query time: 23 msec

场景5:批量检查多个域名的 IP

fordomaininbaidu.com sina.com163.com;doecho-n"$domain: "dig+short$domaindone

场景6:CDN 节点归属查询(反向解析)

dig-x123.125.114.144# 输出:spider.123.125.114.144 → 百度蜘蛛的 IP

场景7:检查邮件服务器配置

# 查询 MX 记录dig163.com MX +short# 输出:10 163mx01.mxmail.netease.com.# 查询 SPF 记录(TXT 类型的一部分)dig163.com TXT +short|grepspf

场景8:域名迁移验证

# 迁移前备份所有记录digexample.com ANY>dns_backup.txt# 迁移后对比 NS 记录digexample.com NS +short

七、高级技巧:~/.digrc配置文件

在用户目录下创建.digrc文件,设置默认参数,每次执行dig时自动生效:

echo"+noall +answer +stats">~/.digrc

之后每次执行dig baidu.com,都会自动应用+noall +answer +stats,只显示答案和统计信息,省去手动敲参。


八、dig查询结果状态码速查表

状态码含义常见原因
NOERROR查询成功正常响应
NXDOMAIN域名不存在域名拼写错误或未注册
SERVFAIL服务器故障DNS 服务器配置错误或上游不可达
REFUSED拒绝查询服务器策略拒绝(如 ACL 限制)
FORMERR格式错误查询报文格式有误
NOTIMP未实现服务器不支持该查询类型

九、其他 DNS 查询工具(简要介绍)

除了dig,Linux 下还有其他常用 DNS 查询工具,各有侧重。

9.1nslookup—— 交互式查询工具

系统自带,支持交互式和非交互式两种模式。

# 非交互式:直接查询nslookupbaidu.com# 指定 DNS 服务器nslookupbaidu.com8.8.8.8# 查询 MX 记录nslookup-type=MX163.com# 交互式模式(输入 exit 退出)nslookup>settype=MX>163.com>exit

适用场景:快速查询、交互式调试。


9.2host—— 精简版查询工具

系统自带,输出简洁,适合快速查看。

# 基础查询hostbaidu.com# 指定类型host-tMX163.com# 反向查询host8.8.8.8# 查询所有记录host-abaidu.com

适用场景:快速确认域名是否有解析。


9.3whois—— 域名注册信息查询

查询域名的注册人、注册商、创建时间、过期时间等。

# 安装(Ubuntu/Debian)sudoaptinstallwhois-y# 查询域名信息whois baidu.com

适用场景:查询域名归属、过期时间、联系信息。


9.4dnsrecon—— 安全审计工具 🔒

专用于 DNS 枚举和信息收集的安全工具,可进行区域传输、子域名爆破等。

# 安装sudoaptinstalldnsrecon-y# 基础枚举dnsrecon-dbaidu.com# 字典爆破子域名dnsrecon-dbaidu.com-D/usr/share/wordlists/subdomains.txt

适用场景:安全测试、子域名发现、DNS 配置审计。


9.5 在线 DNS 查询工具

无需安装,浏览器即可使用,适合临时查询。

工具名称特点
站长工具 DNS 查询国内访问快,支持多地解析对比
DNSPod 公共 DNS 诊断腾讯出品,诊断工具完善
MXToolbox国际知名,支持 DNS、邮件、黑名单等全方位检测
Google Admin ToolboxGoogle 官方工具,包含 Dig、DNS 检查等

适用场景:临时查询、跨地域解析对比、非 Linux 环境。


9.6 各工具对比总结

工具详细程度适用场景系统自带
dig⭐⭐⭐⭐⭐专业深度排查、链路追踪❌(需安装)
nslookup⭐⭐⭐日常快速查询、交互调试✅
host⭐⭐快速确认有无解析✅
whois⭐⭐查询域名注册信息❌(需安装)
dnsrecon⭐⭐⭐⭐安全测试、子域名枚举❌(需安装)
在线工具⭐⭐临时查询、跨地域对比无需安装

十、常见报错与解决方法

报错信息原因解决方法
;; connection timed out; no servers could be reachedDNS 服务器不可达检查网络连接,或换用@8.8.8.8
;; Got answer: SERVFAILDNS 服务器无法解析该域名可能域名不存在,或服务器配置错误
;; Got answer: NXDOMAIN域名不存在检查域名是否拼写错误
;; Got answer: REFUSED服务器拒绝查询换用公共 DNS(如 8.8.8.8)
dig: command not found未安装 dig参照第一章安装dnsutils

总结

dig是 Linux 下 DNS 排障的“第一利器”,其核心优势在于:

  1. 输出可控:通过+short、+noall +answer等参数精准控制输出。
  2. 链路追踪:+trace是诊断解析链问题的核心武器。
  3. 批量处理:-f支持批量查询,配合脚本实现自动化。
  4. 协议支持:支持 UDP/TCP、EDNS、DNSSEC 等高级特性。

配合nslookup(快速查询)、whois(注册信息)和在线工具(跨地域对比),你可以应对日常工作中 99% 的 DNS 排查场景。


如果本文对你有帮助,欢迎点赞、收藏、转发!😊

相关新闻

  • 轻量化Hermes-Agent架构设计与技术选型解析
  • 才赋源人力资源外包靠谱商家实测排名,价格透明,避坑指南速收藏 - mypinpai
  • 蝴蝶效应:从混沌理论到现实启示

最新新闻

  • 思科模拟器Packet Tracer下载安装与配置全指南
  • Web Bluetooth API与Wio Terminal:零安装实现网页与嵌入式设备双向通信
  • Dubbo接口测试实战:Telnet与Python自动化方案
  • 3步解密NCM文件:ncmdumpGUI实现网易云音乐跨平台播放解决方案
  • DeepSpeed迁移AMD卡翻车实录:ZeRO stage3配ROCm通信后端显存炸了两次
  • C++多继承与菱形继承:内存布局、指针偏移与设计选择

日新闻

  • 112、LLC谐振变换器的输入电压瞬态仿真分析
  • 2026深圳疑难签证办理指南:拒签再签/商务签/高端定制机构怎么选 - 互联网科技品牌测评
  • C-LODOP在Edge等现代浏览器中的部署、适配与实战应用

周新闻

  • 怀化母婴除甲醛公司测甲醛中心怎么选:康之居母婴除甲醛标准、流程、避坑指南 - 信誉隆金银铂奢回收
  • 三步打造你的终极音乐中心:foobox-cn网络电台功能完整指南
  • Lance湖仓格式:为多模态AI工作流设计的终极数据存储方案

月新闻

  • ClickHouse版本管理深度实战:4步构建零风险升级与回滚体系
  • Java 23 种设计模式:从踩坑到精通 | 番外:责任链模式 —— 物流审批流程实战
  • 华硕笔记本性能解放指南:G-Helper轻量级控制工具全面解析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号