强制挖掘工具向我们返回来自根服务器的答案

强制挖掘工具向我们返回来自根服务器的答案

dig从不同的在线挖掘工具网站(在本例中,http://networking.ringofsaturn.com/Tools/dig.phphttp://www.kloth.net/services/dig.php),我注意到他们的答案是不同的。我猜这一定意味着他们每个人得到的答案不是来自根 DNS 服务器,而是来自本地服务器(例如,他们的 ISP)。

我想知道如何强制 dig 工具返回来自根服务器本身的信息。这可能吗?

谢谢

答案1

要使用 dig 获取权威信息,通常需要结合使用 +trace 和 @server。例如,如果我想要有关 www.google.com 的权威信息,我会这样做:

# dig +trace NS google.com

; <<>> DiG 9.4.2-P2 <<>> +trace NS google.com
;; global options:  printcmd
.                       3600000 IN      NS      L.ROOT-SERVERS.NET.
.                       3600000 IN      NS      M.ROOT-SERVERS.NET.
.                       3600000 IN      NS      D.ROOT-SERVERS.NET.
.                       3600000 IN      NS      I.ROOT-SERVERS.NET.
.                       3600000 IN      NS      H.ROOT-SERVERS.NET.
.                       3600000 IN      NS      F.ROOT-SERVERS.NET.
.                       3600000 IN      NS      C.ROOT-SERVERS.NET.
.                       3600000 IN      NS      G.ROOT-SERVERS.NET.
.                       3600000 IN      NS      B.ROOT-SERVERS.NET.
.                       3600000 IN      NS      K.ROOT-SERVERS.NET.
.                       3600000 IN      NS      E.ROOT-SERVERS.NET.
.                       3600000 IN      NS      A.ROOT-SERVERS.NET.
.                       3600000 IN      NS      J.ROOT-SERVERS.NET.
;; Received 244 bytes from 192.168.0.42#53(192.168.0.42) in 3 ms

com.                    172800  IN      NS      k.gtld-servers.net.
com.                    172800  IN      NS      e.gtld-servers.net.
com.                    172800  IN      NS      f.gtld-servers.net.
com.                    172800  IN      NS      d.gtld-servers.net.
com.                    172800  IN      NS      i.gtld-servers.net.
com.                    172800  IN      NS      m.gtld-servers.net.
com.                    172800  IN      NS      a.gtld-servers.net.
com.                    172800  IN      NS      h.gtld-servers.net.
com.                    172800  IN      NS      g.gtld-servers.net.
com.                    172800  IN      NS      j.gtld-servers.net.
com.                    172800  IN      NS      c.gtld-servers.net.
com.                    172800  IN      NS      b.gtld-servers.net.
com.                    172800  IN      NS      l.gtld-servers.net.
;; Received 488 bytes from 128.8.10.90#53(D.ROOT-SERVERS.NET) in 129 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.
;; Received 164 bytes from 192.31.80.30#53(d.gtld-servers.net) in 149 ms

google.com.             345600  IN      NS      ns4.google.com.
google.com.             345600  IN      NS      ns3.google.com.
google.com.             345600  IN      NS      ns2.google.com.
google.com.             345600  IN      NS      ns1.google.com.
;; Received 164 bytes from 216.239.32.10#53(ns1.google.com) in 32 ms

现在我有了 google.com 列出的名称服务器,以及其中一个名称服务器的 IP 地址。我可以直接向该名称服务器询问记录:

# dig www.google.com @216.239.32.10

; <<>> DiG 9.4.2-P2 <<>> www.google.com @216.239.32.10
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24224
;; flags: qr aa rd; QUERY: 1, ANSWER: 7, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;www.google.com.                        IN      A

;; ANSWER SECTION:
www.google.com.         604800  IN      CNAME   www.l.google.com.
www.l.google.com.       300     IN      A       209.85.148.104
www.l.google.com.       300     IN      A       209.85.148.103
www.l.google.com.       300     IN      A       209.85.148.99
www.l.google.com.       300     IN      A       209.85.148.105
www.l.google.com.       300     IN      A       209.85.148.106
www.l.google.com.       300     IN      A       209.85.148.147

;; Query time: 34 msec
;; SERVER: 216.239.32.10#53(216.239.32.10)
;; WHEN: Fri Apr 29 15:22:40 2011
;; MSG SIZE  rcvd: 148

答案2

根服务器不回答二级域名的查询。gTLD 服务器不回答二级域名的查询(除了返回二级域名的名称服务器)。二级域名的权威名称服务器回答该二级域名的查询。您可以查询 gTLD 以查找特定域的名称服务器,然后查询这些名称服务器以获取该域中的资源记录。

根服务器

---------------->通用顶级域名服务器

---------------------------------->权威名称服务器

--------------------------------------------------------------------------------->资源记录

答案3

永远不应该向根服务器询问 server.example.tld 的递归查询,而应该只询问处理顶级域名(示例中为 .tld)的服务器。

但是我认为,您的意思是希望从权威服务器获得答案。为此,请执行以下操作:

1)对于域名 nasa.gov,请求 NS 即名称服务器字段,而不是 A -- IPv4 地址

2)将服务器字段更改为第1点中获得的服务器之一。

3)询问有关www.nasa.gov 地址的问题。

当然,同样的程序也适用于任何其他领域。

该过程适用于 CLI 挖掘,并且http://www.kloth.net/services/dig.php界面。

相关内容