挖掘跟踪结果不完整

挖掘跟踪结果不完整

根据这里的例子: https://www.rootusers.com/12-dig-command-examples-to-query-dns-in-linux/

这样的挖掘跟踪dig google.com +trace应该返回这样的结果:

; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.3 <<>> google.com +trace
;; global options: +cmd
.                       5       IN      NS      h.root-servers.net.
.                       5       IN      NS      g.root-servers.net.
.                       5       IN      NS      f.root-servers.net.
.                       5       IN      NS      e.root-servers.net.
.                       5       IN      NS      d.root-servers.net.
.                       5       IN      NS      c.root-servers.net.
.                       5       IN      NS      b.root-servers.net.
.                       5       IN      NS      a.root-servers.net.
;; Received 493 bytes from 192.168.220.2#53(192.168.220.2) in 671 ms

com.                    172800  IN      NS      a.gtld-servers.net.
com.                    172800  IN      NS      b.gtld-servers.net.
com.                    172800  IN      NS      c.gtld-servers.net.
com.                    172800  IN      NS      d.gtld-servers.net.
com.                    172800  IN      NS      e.gtld-servers.net.
com.                    172800  IN      NS      f.gtld-servers.net.
com.                    172800  IN      NS      g.gtld-servers.net.
com.                    172800  IN      NS      h.gtld-servers.net.
com.                    86400   IN      DS      30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766
com.                    86400   IN      RRSIG   DS 8 1 86400 20160915170000 20160905160000 46551 . aRW+mmwKW6sWvAef35LCj5ZeQkFrOP8uWwMjQkPIqMfayBRuK1YuqF0h Pu0v4ZBaXPxj0KjmwLIry+Y8p6gIX7lFATfQmUNJcmFxaPYDdEuLYW4S 4idKDZkkEWA3LLUn9OQ0EdioR1PdVr/4xY/u48066DFDx5Vg6aEs1/0Q oXY=
;; Received 734 bytes from 192.203.230.10#53(e.root-servers.net) in 215 ms

google.com.             172800  IN      NS      ns2.google.com.
google.com.             172800  IN      NS      ns1.google.com.
google.com.             172800  IN      NS      ns3.google.com.
google.com.             172800  IN      NS      ns4.google.com.
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN NSEC3 1 1 0 - CK0Q1GIN43N1ARRC9OSM6QPQR81H5M9A NS SOA RRSIG DNSKEY NSEC3PARAM
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN RRSIG NSEC3 8 2 86400 20160911044243 20160904033243 27452 com. F8heeEXQl6/iOiPAJxfH/dIE7k6NkI0KDRH+evPdZJV6dUs4bYIfbvwI dIEmEDB1wn28MntLpjEixu+64VusOHrUaOXzg5I26D+UbUmksImr2a/P 39zxhHLIRJgYEUxrE1HrID+xY+PewGq3/aEVvPKofbO7/FyBJlmftQn6 12o=
S84AE3BIT99DKIHQH27TRC0584HV5KOH.com. 86400 IN NSEC3 1 1 0 - S84J17P3PT4RKMEJOHNGD73C5Q5NV5S9 NS DS RRSIG
S84AE3BIT99DKIHQH27TRC0584HV5KOH.com. 86400 IN RRSIG NSEC3 8 2 86400 20160909045208 20160902034208 27452 com. vxkCSPNnOpLiQNpsk1ZpsQzGMzNdbSpL6Up0Z0njXJrRUdD5eHC/tgnA cHc5mDX2IuuBqU65hZd40U2pSYCBeb5BfaRd9gaQIMyLBbBzd9nj2E+F 8LnTRqa+oXeYQVO1AlfysumdS/CgxwN0CidhCPxPQpPtfdnl6UaKxCzL 5d4=
;; Received 660 bytes from 192.31.80.30#53(d.gtld-servers.net) in 201 ms

然而,当我尝试时,我只得到这个:


; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> google.com +trace
;; global options: +cmd
;; Received 51 bytes from 127.0.0.53#53(127.0.0.53) in 0 ms

为什么会这样?

答案1

如果没有该@选项,dig则会查询您的 systemd 存根解析器,而不是实际的 DNS 服务器。由于某种原因,解析器拒绝查询“.”顶级域的 NS 记录,甚至dig无法启动跟踪。

16:31:45.992047 IP 127.0.0.1.56091 > 127.0.0.53.53: 58708 [1au] NS? . (40)
16:31:45.992184 IP 127.0.0.53.53 > 127.0.0.1.56091: 58708 Refused 0/0/1 (51)

我在 systemd-resolved 手册中没有找到任何信息来解释为什么会发生这种情况,也没有找到任何提示如何改变这种行为。不过,我并没有搜索太久。

dig您可以绕过使用显式 DNS 服务器地址运行的 systemd 解析器:

# dig @A.B.C.D +trace google.com

替换A.B.C.D为您的本地 DNS 地址。

答案2

挖掘+追踪直接从您的机器运行迭代查询。您可能在连接到 GTLD 名称服务器时遇到防火墙问题。或者您没有根提示的副本。

普通 DNS 遍历 您的 PC > ISP 解析器 > 权威域名服务器

DIG +跟踪 DNS 遍历 您的 PC > root/com/google 的权威名称服务器

如果您愿意,可以将其分解为更小的块来排除故障。

尝试这个命令

dig @198.41.0.4 google.com +norecurse

该 IP 地址为 (a.root-servers.net),它应该会返回“com”的 NS 记录

之后尝试

dig @192.5.6.30 google.com +norecurse

该 IP 地址为 (a.gtld-servers.net),它应该会返回“google.com”的 NS 记录

你明白了。这就是 dig +trace 的作用。如果你有防火墙问题,上述两个命令也会超时或失败。

如果它们对您有用,那么下一个可能性就是您没有根提示。

尝试输入“dig”并按回车键。如果您有根提示,该命令将返回根服务器列表。这台 Ubuntu 机器是否充当您的解析器?您在 /etc/resolv.conf 下看到了什么

相关内容