Ubuntu 22.04 dnsutils(dig/nslookup/host) 安装与命令参数详解
在 Ubuntu 22.04 上安装 dnsutils(dig/nslookup/host)并逐参数实测常用 DNS 查询命令输入输出,涵盖各种记录类型、反向解析、指定服务器、+short/+trace 等输出控制与过滤开关。
Ubuntu 22.04 dnsutils(dig/nslookup/host) 安装与命令参数详解
目标:在 Ubuntu 22.04 上安装 dnsutils(dig/nslookup/host),并逐参数实测常用 DNS 查询命令的输入与输出,涵盖 A/AAAA/MX/NS/TXT/SOA/CNAME/PTR 各记录类型、反向解析、指定服务器与端口、+short/+trace 等输出控制与过滤开关。本文命令与输出均为 Ubuntu 22.04(DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu)实测回显。
环境信息
- 操作系统:Ubuntu 22.04 LTS
- 工具版本:DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu(BIND 9.18)
- DNS 解析:两台测试机的解析均由本地转发解析器
127.0.0.11完成,dig/nslookup 输出中的SERVER即为它 - 内网 HTTP 靶机:
172.22.0.2:8000(index.html 18 字节、file1m.bin 1MB)与172.22.0.3:8000 - 外网域名:
www.baidu.com、www.quzuo.net - 网关地址:
172.17.0.1(存在反解记录) - 参考公共 DNS:
8.8.8.8、114.114.114.114 - 说明:本机
127.0.0.1未运行 DNS 服务,对 53 端口的 CHAOS 查询会连接被拒
工具概述
dnsutils(Ubuntu 上提供 dig、nslookup、host 三个工具,包体即 bind9-dnsutils)是基于 BIND 的 DNS 诊断工具集。dig 全称 Domain Information Groper,用于向 DNS 服务器发送查询并展示详尽的应答细节,是排查解析故障、检查记录类型与权威链路的首选;nslookup 提供简化的交互式查询;host 为极简快速的查询工具。本文针对 Ubuntu 22.04 实测。
安装
在线安装(apt)
Ubuntu 22.04 中 dig/nslookup/host 由 dnsutils 软件包(依赖 bind9-dnsutils)提供。
sudo apt update
sudo apt install -y dnsutils
安装后验证:
dig -v
DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu
离线安装(.deb 包)
# 在可联网机器下载(含 bind9-libs 等依赖)
cd /opt/netdiag-offline
apt-get download dnsutils bind9-libs libuv1 libnghttp2-14
# 目标机离线安装
sudo dpkg -i *.deb
安装后同样用 dig -v 验证版本。
命令实测
无参数:默认查询根域 NS
用途:不带任何参数时,dig 向根 . 发起 NS 查询,返回 13 台根服务器列表。输出较长,以下为 head -30 截断。
dig | head -30
; <<>> DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu <<>>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58563
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 16
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;. IN NS
;; ANSWER SECTION:
. 5 IN NS c.root-servers.net.
. 5 IN NS k.root-servers.net.
. 5 IN NS l.root-servers.net.
. 5 IN NS i.root-servers.net.
. 5 IN NS f.root-servers.net.
. 5 IN NS b.root-servers.net.
. 5 IN NS j.root-servers.net.
. 5 IN NS h.root-servers.net.
. 5 IN NS d.root-servers.net.
. 5 IN NS a.root-servers.net.
. 5 IN NS e.root-servers.net.
. 5 IN NS g.root-servers.net.
. 5 IN NS m.root-servers.net.
;; ADDITIONAL SECTION:
a.root-servers.net. 5 IN A 198.41.0.4
b.root-servers.net. 5 IN A 170.247.170.2
查询域名(默认 A 记录)
用途:只给域名时默认查 A 记录,输出含问题段、应答段与统计尾部的完整格式。
dig www.baidu.com
; <<>> DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54771
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 5 IN CNAME www.a.shifen.com.
www.a.shifen.com. 5 IN A 110.242.70.57
www.a.shifen.com. 5 IN A 110.242.69.21
;; Query time: 6 msec
;; SERVER: 127.0.0.11#53(127.0.0.11) (UDP)
;; WHEN: Tue Oct 06 04:52:55 UTC 2026
;; MSG SIZE rcvd: 101
显式指定记录类型 A
用途:在域名后写类型即可显式限定,效果与默认相同。
dig www.baidu.com A
; <<>> DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu <<>> www.baidu.com A
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60417
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 4 IN CNAME www.a.shifen.com.
www.a.shifen.com. 4 IN A 110.242.69.21
www.a.shifen.com. 4 IN A 110.242.70.57
;; Query time: 1 msec
;; SERVER: 127.0.0.11#53(127.0.0.11) (UDP)
;; WHEN: Tue Oct 06 04:52:55 UTC 2026
;; MSG SIZE rcvd: 101
查询 IPv6 地址(AAAA)
用途:返回域名的 IPv6 地址记录。
dig www.baidu.com AAAA
; <<>> DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu <<>> www.baidu.com AAAA
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27192
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;www.baidu.com. IN AAAA
;; ANSWER SECTION:
www.baidu.com. 5 IN CNAME www.a.shifen.com.
www.a.shifen.com. 5 IN AAAA 2408:871a:2100:1b23:0:ff:b07a:7ebc
www.a.shifen.com. 5 IN AAAA 2408:871a:2100:186c:0:ff:b07e:3fbc
;; Query time: 6 msec
;; SERVER: 127.0.0.11#53(127.0.0.11) (UDP)
;; WHEN: Tue Oct 06 04:53:01 UTC 2026
;; MSG SIZE rcvd: 125
查询邮件交换记录(MX)
用途:www 主机名本身无 MX,返回 CNAME 后在授权段给出 SOA 说明。
dig www.baidu.com MX
; <<>> DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu <<>> www.baidu.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28464
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;www.baidu.com. IN MX
;; ANSWER SECTION:
www.baidu.com. 4 IN CNAME www.a.shifen.com.
;; AUTHORITY SECTION:
a.shifen.com. 5 IN SOA ns1.a.shifen.com. baidu_dns_master.baidu.com. 2610060015 5 5 2592000 3600
;; ADDITIONAL SECTION:
www.a.shifen.com. 4 IN AAAA 2408:871a:2100:1b23:0:ff:b07a:7ebc
www.a.shifen.com. 4 IN AAAA 2408:871a:2100:186c:0:ff:b07e:3fbc
;; Query time: 24 msec
;; SERVER: 127.0.0.11#53(127.0.0.11) (UDP)
;; WHEN: Tue Oct 06 04:53:01 UTC 2026
;; MSG SIZE rcvd: 182
查询权威名称服务器(NS)
用途:返回域名所属的 NS 服务器及附加段中的地址信息。
dig baidu.com NS
; <<>> DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu <<>> baidu.com NS
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12941
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 12
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;baidu.com. IN NS
;; ANSWER SECTION:
baidu.com. 5 IN NS ns4.baidu.com.
baidu.com. 5 IN NS ns7.baidu.com.
baidu.com. 5 IN NS ns3.baidu.com.
baidu.com. 5 IN NS ns2.baidu.com.
baidu.com. 5 IN NS dns.baidu.com.
;; ADDITIONAL SECTION:
dns.baidu.com. 5 IN A 110.242.68.134
ns2.baidu.com. 5 IN A 220.181.33.31
ns3.baidu.com. 5 IN A 153.3.238.93
ns3.baidu.com. 5 IN A 36.155.132.78
ns4.baidu.com. 5 IN A 111.45.3.226
ns4.baidu.com. 5 IN A 14.215.178.80
ns7.baidu.com. 5 IN A 14.215.178.80
dns.baidu.com. 5 IN AAAA 240e:bf:b801:1002:0:ff:b024:26de
ns2.baidu.com. 5 IN AAAA 240e:940:603:4:0:ff:b01b:589a
ns7.baidu.com. 5 IN AAAA 240e:940:603:4:0:ff:b01b:589a
ns7.baidu.com. 5 IN AAAA 240e:bf:b801:1002:0:ff:b024:26de
;; Query time: 5 msec
;; SERVER: 127.0.0.11#53(127.0.0.11) (UDP)
;; WHEN: Tue Oct 06 04:53:01 UTC 2026
;; MSG SIZE rcvd: 352
查询文本记录(TXT)
用途:用于 SPF、域名归属验证等场景。
dig baidu.com TXT
; <<>> DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu <<>> baidu.com TXT
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8562
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;baidu.com. IN TXT
;; ANSWER SECTION:
baidu.com. 5 IN TXT "google-site-verification=GHb98-6msqyx_qqjGl5eRatD3QTHyVB6-xQ3gJB5UwM"
baidu.com. 5 IN TXT "9279nznttl321bxp1j464rd9vpps246v"
baidu.com. 5 IN TXT "_globalsign-domain-verification=qjb28W2jJSrWj04NHpB0CvgK9tle5JkOq-EcyWBgnE"
baidu.com. 5 IN TXT "v=spf1 include:spf1.baidu.com include:spf2.baidu.com include:spf3.baidu.com include:spf4.baidu.com -all"
;; Query time: 22 msec
;; SERVER: 127.0.0.11#53(127.0.0.11) (UDP)
;; WHEN: Tue Oct 06 04:53:05 UTC 2026
;; MSG SIZE rcvd: 367
查询权威起始记录(SOA)
用途:返回主 DNS、管理员邮箱序列号与各计时参数。
dig baidu.com SOA
; <<>> DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu <<>> baidu.com SOA
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33997
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;baidu.com. IN SOA
;; ANSWER SECTION:
baidu.com. 5 IN SOA dns.baidu.com. sa.baidu.com. 2012151506 300 300 2592000 600
;; Query time: 23 msec
;; SERVER: 127.0.0.11#53(127.0.0.11) (UDP)
;; WHEN: Tue Oct 06 04:53:05 UTC 2026
;; MSG SIZE rcvd: 81
查询别名记录(CNAME)
用途:www.quzuo.net 没有 CNAME 记录:状态仍为 NOERROR,但 ANSWER 计数为 0,授权段返回 SOA,即「无此类型记录」的正常表达。
dig www.quzuo.net CNAME
; <<>> DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu <<>> www.quzuo.net CNAME
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27236
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;www.quzuo.net. IN CNAME
;; AUTHORITY SECTION:
quzuo.net. 5 IN SOA dns7.hichina.com. hostmaster.hichina.com. 2026082616 3600 1200 86400 600
;; Query time: 39 msec
;; SERVER: 127.0.0.11#53(127.0.0.11) (UDP)
;; WHEN: Tue Oct 06 04:53:05 UTC 2026
;; MSG SIZE rcvd: 105
反向解析内网靶机地址(-x)
用途:-x 将 IP 转为 in-addr.arpa 的 PTR 查询。内网 172.22.0.2 存在反解记录。
dig -x 172.22.0.2
; <<>> DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu <<>> -x 172.22.0.2
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62125
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;2.0.22.172.in-addr.arpa. IN PTR
;; ANSWER SECTION:
2.0.22.172.in-addr.arpa. 600 IN PTR netdiag-ubuntu2204.netdiag-net.
;; Query time: 0 msec
;; SERVER: 127.0.0.11#53(127.0.0.11) (UDP)
;; WHEN: Tue Oct 06 04:53:09 UTC 2026
;; MSG SIZE rcvd: 108
反向解析公网地址(-x 8.8.8.8)
用途:公网地址反解返回 dns.google。
dig -x 8.8.8.8
; <<>> DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu <<>> -x 8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58181
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;8.8.8.8.in-addr.arpa. IN PTR
;; ANSWER SECTION:
8.8.8.8.in-addr.arpa. 5 IN PTR dns.google.
;; Query time: 5 msec
;; SERVER: 127.0.0.11#53(127.0.0.11) (UDP)
;; WHEN: Tue Oct 06 04:53:09 UTC 2026
;; MSG SIZE rcvd: 73
指定 DNS 服务器查询(@server)
用途:@8.8.8.8 绕过本地解析器直接向 Google 公共 DNS 发问;注意其返回的 TTL 与解析结果可能不同(此处为 103.x 海外节点)。
dig @8.8.8.8 www.baidu.com
; <<>> DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu <<>> @8.8.8.8 www.baidu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16357
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 874 IN CNAME www.a.shifen.com.
www.a.shifen.com. 109 IN A 110.242.70.57
www.a.shifen.com. 109 IN A 110.242.69.21
;; Query time: 246 msec
;; SERVER: 8.8.8.8#53(8.8.8.8) (UDP)
;; WHEN: Tue Oct 06 04:53:09 UTC 2026
;; MSG SIZE rcvd: 101
指定国内公共 DNS(@114.114.114.114)
用途:指定 114DNS 查询,EDNS 缓冲区为 1232。
dig @114.114.114.114 www.baidu.com
; <<>> DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu <<>> @114.114.114.114 www.baidu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33562
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 34 IN A 110.242.70.57
www.baidu.com. 34 IN A 110.242.69.21
;; Query time: 23 msec
;; SERVER: 114.114.114.114#53(114.114.114.114) (UDP)
;; WHEN: Tue Oct 06 04:53:13 UTC 2026
;; MSG SIZE rcvd: 74
精简输出(+short)
用途:只打印应答数据本身,适合脚本取值;CNAME 链与地址逐行列出。
dig www.baidu.com +short
www.a.shifen.com.
110.242.69.21
110.242.70.57
NS 记录精简输出
用途:配合 +short 只取 NS 域名列表。
dig baidu.com NS +short
ns2.baidu.com.
ns3.baidu.com.
ns7.baidu.com.
ns4.baidu.com.
dns.baidu.com.
迭代追踪解析路径(+trace)
用途:从根开始逐级迭代:根 → com → baidu.com 权威。输出很长,以下为 head -40 截断。
dig www.baidu.com +trace 2>&1 | head -40
; <<>> DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu <<>> www.baidu.com +trace
;; global options: +cmd
. 5 IN NS b.root-servers.net.
. 5 IN NS j.root-servers.net.
. 5 IN NS h.root-servers.net.
. 5 IN NS d.root-servers.net.
. 5 IN NS a.root-servers.net.
. 5 IN NS e.root-servers.net.
. 5 IN NS g.root-servers.net.
. 5 IN NS m.root-servers.net.
. 5 IN NS c.root-servers.net.
. 5 IN NS k.root-servers.net.
. 5 IN NS l.root-servers.net.
. 5 IN NS i.root-servers.net.
. 5 IN NS f.root-servers.net.
;; Received 503 bytes from 127.0.0.11#53(127.0.0.11) in 5 ms
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
com. 86400 IN DS 19718 13 2 8ACBB0CD28F41250A80A491389424D341522D946B0DA0C0291F2D3D7 71D7805A
com. 86400 IN RRSIG DS 8 1 86400 20261018200000 20261005190000 8763 . JMKeveIyzMFsw/etd7Bg78bDoTRcdD20qRqvp0N/ZPpOsoQ72jboRhal J2xvivWis9ypDGWNrBi9SbYTBiczkfenqwMAPMnWWxIEOkqlKLMDeO+z PQi57m9WcdbxTBPzj7hFassl8CzqXlXzDXFqI3aGVnBRD0c7pcKz/fe0 agUobMS7gfeRTh7k5GEO0CLCtDMtQ68YpLmsRVo4Dw56buzH1CunFJdd l1HFyRNq6ekjT3Nh5URXvMFjXuePADbveaqP8KlGRZyr9uijy2TH3x1o tZkr+3Ppmw1BUqa1a6qiFT6Qk78rSiOg9lO9fJCWN1qAgpcF0jtbN/I/ 6M+AWQ==
;; Received 1201 bytes from 192.112.36.4#53(g.root-servers.net) in 145 ms
baidu.com. 172800 IN NS ns2.baidu.com.
baidu.com. 172800 IN NS ns3.baidu.com.
baidu.com. 172800 IN NS ns4.baidu.com.
baidu.com. 172800 IN NS ns1.baidu.com.
baidu.com. 172800 IN NS ns7.baidu.com.
只看应答段(+noall +answer)
用途:关闭全部输出开关后仅打开 answer,最常用的过滤组合。
dig www.baidu.com +noall +answer
www.baidu.com. 5 IN CNAME www.a.shifen.com.
www.a.shifen.com. 5 IN A 110.242.70.57
www.a.shifen.com. 5 IN A 110.242.69.21
应答段 + 头部注释
用途:在 +noall +answer 基础上加回 comments,可见 HEADER 标志与 EDNS 信息。
dig www.baidu.com +noall +answer +comments
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11654
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; ANSWER SECTION:
www.baidu.com. 4 IN CNAME www.a.shifen.com.
www.a.shifen.com. 4 IN A 110.242.70.57
www.a.shifen.com. 4 IN A 110.242.69.21
注释 + 统计(头部)
用途:+comments +stats 输出头标志与 Query time/SERVER 等统计行。
dig www.baidu.com +noall +comments +stats
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36365
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; Query time: 1 msec
;; SERVER: 127.0.0.11#53(127.0.0.11) (UDP)
;; WHEN: Tue Oct 06 04:53:20 UTC 2026
;; MSG SIZE rcvd: 101
自定义超时与重试(+time +tries)
用途:+time=3 单次等待 3 秒,+tries=2 最多尝试 2 次;本例正常返回。
dig www.baidu.com +time=3 +tries=2
; <<>> DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu <<>> www.baidu.com +time=3 +tries=2
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26600
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 1 IN CNAME www.a.shifen.com.
www.a.shifen.com. 1 IN A 110.242.69.21
www.a.shifen.com. 1 IN A 110.242.70.57
;; Query time: 1 msec
;; SERVER: 127.0.0.11#53(127.0.0.11) (UDP)
;; WHEN: Tue Oct 06 04:53:24 UTC 2026
;; MSG SIZE rcvd: 101
指定端口查询(-p)
用途:-p 53 显式指定服务端口(DNS 默认 53),与非默认端口的 DNS 服务联用。
dig -p 53 @8.8.8.8 www.baidu.com
; <<>> DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu <<>> -p 53 @8.8.8.8 www.baidu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21534
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 960 IN CNAME www.a.shifen.com.
www.a.shifen.com. 25 IN CNAME www.wshifen.com.
www.wshifen.com. 167 IN A 103.235.46.96
www.wshifen.com. 167 IN A 103.235.47.188
;; Query time: 190 msec
;; SERVER: 8.8.8.8#53(8.8.8.8) (UDP)
;; WHEN: Tue Oct 06 04:53:24 UTC 2026
;; MSG SIZE rcvd: 127
TCP 方式查询(+tcp)
用途:强制用 TCP 而非 UDP 发起查询,用于排查 UDP 被丢弃的场景;注意统计行 SERVER 侧标注 (TCP)。
dig +tcp www.baidu.com
; <<>> DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu <<>> +tcp www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58605
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 1 IN CNAME www.a.shifen.com.
www.a.shifen.com. 1 IN A 110.242.69.21
www.a.shifen.com. 1 IN A 110.242.70.57
;; Query time: 1 msec
;; SERVER: 127.0.0.11#53(127.0.0.11) (TCP)
;; WHEN: Tue Oct 06 04:53:24 UTC 2026
;; MSG SIZE rcvd: 101
请求 DNSSEC(+dnssec)
用途:置 DO 位请求 DNSSEC 相关记录;baidu.com 未签名,无 RRSIG 返回,输出与普通查询一致(如实记录)。
dig +dnssec www.baidu.com
; <<>> DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu <<>> +dnssec www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45848
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 5 IN CNAME www.a.shifen.com.
www.a.shifen.com. 5 IN A 110.242.69.21
www.a.shifen.com. 5 IN A 110.242.70.57
;; Query time: 4 msec
;; SERVER: 127.0.0.11#53(127.0.0.11) (UDP)
;; WHEN: Tue Oct 06 04:53:27 UTC 2026
;; MSG SIZE rcvd: 101
仅 IPv4 传输(-4)
用途:限定查询走 IPv4,避免 IPv6 链路异常干扰。
dig -4 www.baidu.com
; <<>> DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu <<>> -4 www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12669
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 4 IN CNAME www.a.shifen.com.
www.a.shifen.com. 4 IN A 110.242.70.57
www.a.shifen.com. 4 IN A 110.242.69.21
;; Query time: 1 msec
;; SERVER: 127.0.0.11#53(127.0.0.11) (UDP)
;; WHEN: Tue Oct 06 04:53:27 UTC 2026
;; MSG SIZE rcvd: 101
CHAOS 类查询本机 DNS 版本
用途:向 127.0.0.1 的 53 端口查 version.bind;本机未运行 DNS 服务,连接被拒绝,dig 重试后报 no servers could be reached(退出码 9),下文如实记录。
dig CHAOS version.bind TXT @127.0.0.1
;; communications error to 127.0.0.1#53: connection refused
;; communications error to 127.0.0.1#53: connection refused
;; communications error to 127.0.0.1#53: connection refused
; <<>> DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu <<>> CHAOS version.bind TXT @127.0.0.1
;; global options: +cmd
;; no servers could be reached
批量查询(-f)
用途:先准备域名清单文件(每行一条,可含类型),再用 -f 逐行查询。
printf 'www.baidu.com\nbaidu.com NS\n' > /tmp/dns-list.txt
cat /tmp/dns-list.txt
dig -f /tmp/dns-list.txt +short
www.baidu.com
baidu.com NS
www.a.shifen.com.
110.242.70.57
110.242.69.21
ns4.baidu.com.
ns2.baidu.com.
ns3.baidu.com.
dns.baidu.com.
ns7.baidu.com.
网关地址反解(-x 172.17.0.1)
用途:对网关 172.17.0.1 做 PTR 查询,返回两条记录(flags 带 aa/ad)。
dig -x 172.17.0.1
; <<>> DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu <<>> -x 172.17.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38201
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;1.0.17.172.in-addr.arpa. IN PTR
;; ANSWER SECTION:
1.0.17.172.in-addr.arpa. 0 IN PTR ops.
1.0.17.172.in-addr.arpa. 0 IN PTR ops.local.
;; Query time: 5 msec
;; SERVER: 127.0.0.11#53(127.0.0.11) (UDP)
;; WHEN: Tue Oct 06 04:53:32 UTC 2026
;; MSG SIZE rcvd: 92
nslookup 命令实测
基础域名查询
用途:不带参数选项时输出默认服务器、A/AAAA 全部地址,并展开 CNAME。
nslookup www.baidu.com
Server: 127.0.0.11
Address: 127.0.0.11#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 110.242.69.21
Name: www.a.shifen.com
Address: 110.242.70.57
Name: www.a.shifen.com
Address: 2408:871a:2100:186c:0:ff:b07e:3fbc
Name: www.a.shifen.com
Address: 2408:871a:2100:1b23:0:ff:b07a:7ebc
指定 DNS 服务器查询
用途:第二个参数指定服务器;8.8.8.8 视角下解析到海外节点 103.x。
nslookup www.baidu.com 8.8.8.8
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
www.a.shifen.com canonical name = www.wshifen.com.
Name: www.wshifen.com
Address: 103.235.47.188
Name: www.wshifen.com
Address: 103.235.46.96
查询 MX 记录(-type=MX)
用途:nslookup 用 -type=类型 限定记录类型。
nslookup -type=MX baidu.com
Server: 127.0.0.11
Address: 127.0.0.11#53
Non-authoritative answer:
baidu.com mail exchanger = 20 mx.baidu.com.
baidu.com mail exchanger = 10 mx.maillb.baidu.com.
Authoritative answers can be found from:
查询 NS 记录(-type=NS)
用途:列出权威名称服务器及其附加段地址。
nslookup -type=NS baidu.com
Server: 127.0.0.11
Address: 127.0.0.11#53
Non-authoritative answer:
baidu.com nameserver = dns.baidu.com.
baidu.com nameserver = ns2.baidu.com.
baidu.com nameserver = ns3.baidu.com.
baidu.com nameserver = ns4.baidu.com.
baidu.com nameserver = ns7.baidu.com.
Authoritative answers can be found from:
dns.baidu.com internet address = 110.242.68.134
ns2.baidu.com internet address = 220.181.33.31
ns3.baidu.com internet address = 153.3.238.93
ns3.baidu.com internet address = 36.155.132.78
ns4.baidu.com internet address = 111.45.3.226
ns4.baidu.com internet address = 14.215.178.80
ns7.baidu.com internet address = 14.215.178.80
dns.baidu.com has AAAA address 240e:bf:b801:1002:0:ff:b024:26de
ns2.baidu.com has AAAA address 240e:940:603:4:0:ff:b01b:589a
ns7.baidu.com has AAAA address 240e:940:603:4:0:ff:b01b:589a
ns7.baidu.com has AAAA address 240e:bf:b801:1002:0:ff:b024:26de
查询 AAAA 记录(-type=AAAA)
用途:单独查询 IPv6 地址。
nslookup -type=AAAA www.baidu.com
Server: 127.0.0.11
Address: 127.0.0.11#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 2408:871a:2100:1b23:0:ff:b07a:7ebc
Name: www.a.shifen.com
Address: 2408:871a:2100:186c:0:ff:b07e:3fbc
查询 TXT 记录(-type=TXT)
用途:返回 SPF 与域名验证等文本记录。
nslookup -type=TXT baidu.com
Server: 127.0.0.11
Address: 127.0.0.11#53
Non-authoritative answer:
baidu.com text = "google-site-verification=GHb98-6msqyx_qqjGl5eRatD3QTHyVB6-xQ3gJB5UwM"
baidu.com text = "9279nznttl321bxp1j464rd9vpps246v"
baidu.com text = "_globalsign-domain-verification=qjb28W2jJSrWj04NHpB0CvgK9tle5JkOq-EcyWBgnE"
baidu.com text = "v=spf1 include:spf1.baidu.com include:spf2.baidu.com include:spf3.baidu.com include:spf4.baidu.com -all"
Authoritative answers can be found from:
IP 反查(反解)
用途:直接给 IP 时自动做 PTR 查询;反查输出没有 Server 头两行。
nslookup 8.8.8.8
8.8.8.8.in-addr.arpa name = dns.google.
Authoritative answers can be found from:
交互模式说明(需 TTY)
用途:nslookup 无参数进入交互模式,需要 TTY;在无终端的脚本环境里以 < /dev/null 方式运行时无任何输出、退出码 1。可用管道送入子命令做非交互等效验证。
nslookup < /dev/null
printf 'www.baidu.com\nexit\n' | nslookup
# nslookup < /dev/null 的结果:无输出,退出码 1
# 管道方式的等效结果:
Server: 127.0.0.11
Address: 127.0.0.11#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 110.242.70.57
Name: www.a.shifen.com
Address: 110.242.69.21
Name: www.a.shifen.com
Address: 2408:871a:2100:1b23:0:ff:b07a:7ebc
Name: www.a.shifen.com
Address: 2408:871a:2100:186c:0:ff:b07e:3fbc
版本差异标注
- Ubuntu 22.04(本采集):DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu(BIND 9.18),
dig -v直接打印版本号。 - 9.18 的统计行
;; SERVER:带传输层后缀(UDP)/(TCP);较旧的 BIND 9.11(如 CentOS 8 的DiG 9.11.26-RedHat-9.11.26-6.el8)不带该后缀。 - CHAOS 查询失败时的报错措辞因版本而异:9.18 打印多行
communications error to ...: connection refused后报no servers could be reached;9.11 直接报一行connection timed out; no servers could be reached。 - 查询结果本身(应答记录、
+short、+noall +answer输出)两边一致。
帮助输出
dig 用法(dig -h,head -40 截断):
dig -h | head -40
Usage: dig [@global-server] [domain] [q-type] [q-class] {q-opt}
{global-d-opt} host [@local-server] {local-d-opt}
[ host [@local-server] {local-d-opt} [...]]
Where: domain is in the Domain Name System
q-class is one of (in,hs,ch,...) [default: in]
q-type is one of (a,any,mx,ns,soa,hinfo,axfr,txt,...) [default:a]
(Use ixfr=version for type ixfr)
q-opt is one of:
-4 (use IPv4 query transport only)
-6 (use IPv6 query transport only)
-b address[#port] (bind to source address/port)
-c class (specify query class)
-f filename (batch mode)
-k keyfile (specify tsig key file)
-m (enable memory usage debugging)
-p port (specify port number)
-q name (specify query name)
-r (do not read ~/.digrc)
-t type (specify query type)
-u (display times in usec instead of msec)
-x dot-notation (shortcut for reverse lookups)
-y [hmac:]name:key (specify named base64 tsig key)
d-opt is of the form +keyword[=value], where keyword is:
+[no]aaflag (Set AA flag in query (+[no]aaflag))
+[no]aaonly (Set AA flag in query (+[no]aaflag))
+[no]additional (Control display of additional section)
+[no]adflag (Set AD flag in query (default on))
+[no]all (Set or clear all display flags)
+[no]answer (Control display of answer section)
+[no]authority (Control display of authority section)
+[no]badcookie (Retry BADCOOKIE responses)
+[no]besteffort (Try to parse even illegal messages)
+bufsize[=###] (Set EDNS0 Max UDP packet size)
+[no]cdflag (Set checking disabled flag in query)
+[no]class (Control display of class in records)
+[no]cmd (Control display of command line -
global option)
+[no]coflag (Set compact denial of existence ok flag)
in query)
+[no]comments (Control display of packet header
另:dig -v 输出版本号 DiG 9.18.39-0ubuntu0.22.04.6-Ubuntu。
常见问题
dig CHAOS version.bind TXT @127.0.0.1报no servers could be reached:本机未运行 DNS 服务(53 端口无监听),连接被拒,重试后失败,退出码为 9。属正常现象,排查时先用ss -ulnp确认 53 端口是否在监听。nslookup无参数进入交互模式无输出、退出码 1:交互模式需要 TTY;在脚本/无终端环境中无任何输出并以退出码 1 结束。非交互场景请直接带域名参数,或用管道送入子命令。dig www.quzuo.net CNAME状态为 NOERROR 但 ANSWER: 0:这是「该类型无记录」的正常表达,授权段返回 SOA;不代表域名不存在。dig www.baidu.com MX没有返回 MX 记录:www 主机本身无 MX,会先给 CNAME 再在授权段给 SOA;查域的 MX 应使用dig baidu.com MX。
参考链接
- BIND 官方文档:https://www.isc.org/bind/
- dig 手册:
man dig - nslookup 手册:
man nslookup - 常用公共 DNS 资源:Google DNS
8.8.8.8、114DNS114.114.114.114