我该如何理解“dig”的输出?

我该如何理解“dig”的输出?

我该如何理解 的输出dig

DNS 服务器存储资源记录的数据库。

是否dig返回某个DNS服务器数据库中的资源记录?如果是,返回哪个 DNS 服务器数据库的资源记录dig

例如,dig似乎没有返回DNS服务器数据库中的资源记录a.edu-servers.net

$ dig @a.edu-servers.net robot.cs.washington.edu

; <<>> DiG 9.11.3-1ubuntu1.3-Ubuntu <<>> @a.edu-servers.net robot.cs.washington.edu
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2401
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 3, ADDITIONAL: 7
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;robot.cs.washington.edu.   IN  A

;; AUTHORITY SECTION:
washington.edu.     172800  IN  NS  marge.cac.washington.edu.
washington.edu.     172800  IN  NS  hanna.cac.washington.edu.
washington.edu.     172800  IN  NS  holly.s.uw.edu.

;; ADDITIONAL SECTION:
marge.cac.washington.edu. 172800 IN A   140.142.5.13
marge.cac.washington.edu. 172800 IN AAAA    2607:4000:200:43::13
hanna.cac.washington.edu. 172800 IN A   140.142.5.5
hanna.cac.washington.edu. 172800 IN AAAA    2607:4000:200:42::5
holly.s.uw.edu.     172800  IN  A   173.250.227.69
holly.s.uw.edu.     172800  IN  AAAA    2607:4000:301:1::69

;; Query time: 46 msec
;; SERVER: 192.5.6.30#53(192.5.6.30)
;; WHEN: Mon Feb 11 16:27:09 EST 2019
;; MSG SIZE  rcvd: 253

答案1

$ dig @a.edu-servers.net robot.cs.washington.edu

您要求为您a.edu-servers.net查找 A 记录。robot.cs.washington.edu

;; WARNING: recursion requested but not available

但它基本上是说“我不会为你做所有的工作。但是,我可以告诉你这么多......”

;; AUTHORITY SECTION:
washington.edu.     172800  IN  NS  marge.cac.washington.edu.
washington.edu.     172800  IN  NS  hanna.cac.washington.edu.
washington.edu.     172800  IN  NS  holly.s.uw.edu.

“……据我所知,玛吉、汉娜和霍莉拥有该washington.edu域的官方用语。如果他们不知道该域中的某些内容,那么该域就不存在。如果有子域,他们就不会知道直接控制,他们会指引你前进。”

;; ADDITIONAL SECTION:
marge.cac.washington.edu. 172800 IN A   140.142.5.13
marge.cac.washington.edu. 172800 IN AAAA    2607:4000:200:43::13
hanna.cac.washington.edu. 172800 IN A   140.142.5.5
hanna.cac.washington.edu. 172800 IN AAAA    2607:4000:200:42::5
holly.s.uw.edu.     172800  IN  A   173.250.227.69
holly.s.uw.edu.     172800  IN  AAAA    2607:4000:301:1::69

“以下是您如何通过 IPv4 和 IPv6 联系他们。”

答案2

在此命令中,您使用@a.edu-servers.net服务器来解析robot.cs.washington.edu域的子域washington.edu,但这并不a.edu-servers.net意味着权威解决有关该问题的疑问。在递归名称服务器的世界中,它的工作方式是,如果您的系统没有缓存记录并且a.edu-servers.net没有,则首先查询根服务器.以找出谁负责回答有关.edu域的问题,然后响应谁负责回答谁域的答案washington.edu

这导致了答案

washington.edu.     172800  IN  NS  marge.cac.washington.edu.
washington.edu.     172800  IN  NS  hanna.cac.washington.edu.
washington.edu.     172800  IN  NS  holly.s.uw.edu.

其中有 3 个域名服务器负责回答有关washington.edu.域名的问题。这就是它变得重要的地方 - 它依赖于名称服务器来提供资源记录,例如 SOA、TXT 等。相关答案:

在 RFC 没有严格要求的情况下,是否希望提供 AUTHORITY 部分取决于各个名称服务器的实现。 BIND 是默认显示此信息的服务器实现之一,但它还提供了用于禁用该行为的最小响应选项。

现在,根据我的最少经验,我通过 VPS 提供商提供的域名服务器获得了比 OpenDNS 等公共域名服务器更多的信息,所以我的猜测是,这还取决于查询的来源(住宅 IP 地址或其他地址),但到目前为止我还没有找到对这个想法的证实。

相关内容