Dig全称Domain Information Groper。是一个功能强大的命令行工具,用于查询DNS域名服务器。
使用dig命令,您可以查询各种DNS记录的信息,包括主机地址,邮件交换和域名服务器。
它是系统管理员中用于排除DNS问题的最常用工具,它具很高的灵活性和易用性。
在本教程中我们将说明如何在Debian 10安装dig命令。了解dig的输出,详细的应答ANSWER信息。
安装 dig命令
你可以运行命令dig -v
检查dig版本来验证您的Debian 10系统是否已安装dig。如果你的Debian 10系统已经安装dig命令,dig -v
命令将会打印版本号DiG 9.11.3
。
如果您的Debian 10系统还有没有安装dig命令,dig -v
命令将会打印dig: command not found
,则可以使用Debian 10软件包管理器安装dig。
如果你的计算机运行的是基于Debian的Linux发行版,比如Ubuntu,Linux mint。请运行命令sudo apt install dnsutils
安装dig。
sudo apt install dnsutils
了解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
选项禁用此信息。