如何使用 dig

你好!最近我和几个朋友聊天,他们提到希望知道如何使用 dig 来进行 DNS 查询,所以这是一篇关于它的速读博文。
当我第一次使用 dig 时,我发现它有点吓人 —— 有这么多的选项!我打算把大部分的选项省略。在这篇文章中,我打算不谈 dig 的大部分选项,只谈我实际使用的选项。
我最近还了解到,你可以设置一个 .digrc 配置文件,让它的输出更容易阅读,这让它的使用变得更加轻松。
几年前我还画了一个关于 dig 的 zine 页,但我想写这篇文章来包括更多的信息。
两种类型的 dig 参数:查询和格式化
有两种主要的参数可以传递给 dig:
dig 要进行什么 DNS 查询的参数。dig 如何 格式化响应的参数。首先,让我们看一下查询选项。
主要的查询选项
你通常想控制 DNS 查询的 3 件事是:
jvns.ca)。默认情况下,查询的是空名称(.)。A 或 CNAME)。默认是 A。8.8.8.8)。默认是 /etc/resolv.conf 中的内容。其格式是:
dig @server name type
这里有几个例子:
- dig @8.8.8.8 jvns.ca向谷歌的公共 DNS 服务器(- 8.8.8.8)查询- jvns.ca。
- dig ns jvns.ca对- jvns.ca进行类型为- NS的查询。
-x:进行反向 DNS 查询
我偶尔使用的另一个查询选项是 -x,用于进行反向 DNS 查询。下面是输出结果的样子。
$ dig -x 172.217.13.174
174.13.217.172.in-addr.arpa. 72888 IN PTR yul03s04-in-f14.1e100.net。
-x 不是魔术。dig -x 172.217.13.174 只是对 174.13.217.172.in-addr.arpa. 做了一个 PTR 查询。下面是如何在不使用 `-x’ 的情况下进行完全相同的反向 DNS 查询。
$ dig ptr 174.13.217.172.in-addr.arpa.
174.13.217.172.in-addr.arpa. 72888 IN PTR yul03s04-in-f14.1e100.net。
我总是使用 -x,因为它可以减少输入。
格式化响应的选项
现在,让我们讨论一下你可以用来格式化响应的参数。
我发现 dig 默认格式化 DNS 响应的方式对初学者来说是很难接受的。下面是输出结果的样子:
;  DiG 9.16.20  -r jvns.ca
;; global options: +cmd
;; Got answer:
;; ->>HEADERHEADER
                         
 
                     
                     
                     
                    