当从不同的在线挖掘工具网站(例如http://networking.ringofsaturn.com/Tools/dig.php和http://www.kloth ) dig
某个网站(即www.nasa.gov)时,净/服务/ dig.php ),我注意到他们的答案是不同的。 我想这意味着他们每个人所得到的答案不是从根DNS服务器,而是从本地的,而不是(例如,他们的ISP)。
我想知道的是如何强制挖掘工具从根服务器本身返回信息。 有没有可能?
谢谢
要使用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地址。 我可以直接询问这个名字服务器的logging:
# 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
根服务器不回答二级域的查询。 通用顶级域名(gTLD)服务器不会回答二级域名的查询(除了返回二级域名称服务器之外)。 第二级域的authoratative名称服务器回答该第二级域的查询。 您可以查询通用顶级域名(gTLD)以查找特定域名的名称服务器,然后在该域名的资源logging中查询这些名称服务器。
根服务器
通用顶级域名服务器
———————————-> Authorataive名称服务器
————————————————– ——————->资源logging
永远不要向根服务器询问一个server.example.tld的recursion查询,也就是关于处理顶级域的服务器(例子中的.tld)。
但是我认为,你的意思是你想要一个权威服务器的答案。 为了做到这一点:
1)询问域名nasa.gov的NS,即名称服务器字段,而不是A – IPv4地址
2)将服务器字段更改为点1)中获得的服务器之一。
3)询问关于www.nasa.gov的地址的问题。
当然,相同的程序适用于任何其他领域。
该过程适用于CLI挖掘和http://www.kloth.net/services/dig.php接口。