Dig全称Domain Information Groper。是一个功能强大的命令行工具,用于查询DNS域名服务器。

使用dig命令,您可以查询各种DNS记录的信息,包括主机地址,邮件交换和域名服务器。

它是系统管理员中用于排除DNS问题的最常用工具,它具很高的灵活性和易用性。

在本教程中我们将说明如何在Ubuntu 20.04安装dig命令。了解dig的输出,详细的应答ANSWER信息。

安装 dig命令

你可以运行命令dig -v检查dig版本来验证您的Ubuntu 20.04系统是否已安装dig。如果你的Ubuntu 20.04系统已经安装dig命令,dig -v命令将会打印版本号DiG 9.11.3

如果您的Ubuntu 20.04系统还有没有安装dig命令,dig -v命令将会打印dig: command not found,则可以使用Ubuntu 20.04软件包管理器安装dig。

如果你的计算机运行的是基于Debian的Linux发行版,比如Ubuntu,Linux mint。请运行命令sudo apt install dnsutils安装dig。

sudo apt install dnsutils
Linux dig命令 DNS查询 | myfreax
在本教程中我们将说明如何在Linux使用DNS查询工具dig。包括在Linux发行版安装dig。了解dig的输出,仅输出应答,详细的应答ANSWER信息

了解dig输出

使用dig命令的最简单的方式,不指定任何选项运行dig命令。dig命令打印非常详细的输出。例如命令dig linux.org将会查询linux.org域的信息。

dig linux.org
; <<>> DiG 9.10.3-P4-Ubuntu <<>> linux.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57452
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;linux.org.			IN	A

;; ANSWER SECTION:
linux.org.		300	IN	A	104.27.167.219
linux.org.		300	IN	A	104.27.166.219

;; Query time: 256 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Jul 19 11:12:41 CST 2019
;; MSG SIZE  rcvd: 59

输出的第一行打印已安装的dig版本号以及运行的DNS查询。第二行显示全局选项,默认是cmd。

如果您不希望第二行包含在输出中,可以使用+nocmd选项。此选项必须是dig命令后的第一个参数。

Got Answer应答包括从请求授权后来自DNS服务器应答的详细信息。此部分的第一行是标题,包括操作码(由dig执行的操作)和操作的状态。

状态NOERROR意味着所请求的都已授权查询并且没有任何问题。可以使用+nocomments选项删除应答的输出。

OPT PSEUDOSECTION此部分仅在较新dig版本显示。您可以在此处阅读DNS扩展机制EDNS的更多信息。如果您不希望此部分包含在输出中,请使用+noedns选项。

QUESTION显示dig命令要查询的记录类型。默认是A记录,您可以使用+noquestion选项禁用此部分的输出。

ANSWER章节为我们提供了一个应答。正如我们提到的,默认情况下dig会请求A记录。这里域linux.org指向IP地址104.18.59.123

如果你想关闭ANSWER输出,可以使用+noanswer选项从输出中删除此部分。

AUTHORITY SECTION告诉我们哪些服务器是应答有询域的DNS的AUTHORITY。您可以使用+noauthority选项禁用输出的此部分。

ADDITIONAL SECTION为我们提供了有关AUTHORITY DNS服务器的IP地址的信息。

Query time这是dig输出的最后一部分,其中包含查询的统计信息。您可以使用+nostats选项禁用此信息。