Ubuntu 22.04 dnsutils(dig/nslookup/host) 安装与命令参数详解

在 Ubuntu 22.04 上安装 dnsutils(dig/nslookup/host)并逐参数实测常用 DNS 查询命令输入输出,涵盖各种记录类型、反向解析、指定服务器、+short/+trace 等输出控制与过滤开关。

Linux 网络诊断与调试dnsutilsLinux命令行网络诊断2026/10/06

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。

常见问题

  1. dig CHAOS version.bind TXT @127.0.0.1 报 no servers could be reached:本机未运行 DNS 服务(53 端口无监听),连接被拒,重试后失败,退出码为 9。属正常现象,排查时先用 ss -ulnp 确认 53 端口是否在监听。
  2. nslookup 无参数进入交互模式无输出、退出码 1:交互模式需要 TTY;在脚本/无终端环境中无任何输出并以退出码 1 结束。非交互场景请直接带域名参数,或用管道送入子命令。
  3. dig www.quzuo.net CNAME 状态为 NOERROR 但 ANSWER: 0:这是「该类型无记录」的正常表达,授权段返回 SOA;不代表域名不存在。
  4. 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、114DNS 114.114.114.114