为了获取我正在使用的域顶点的权威 A 记录:
$ nslookup -q=ns example.com
Server: 194.168.4.100
Address: 194.168.4.100#53
Non-authoritative answer:
example.com nameserver = a.iana-servers.net.
example.com nameserver = b.iana-servers.net.
Authoritative answers can be found from:
b.iana-servers.net internet address = 199.43.133.53
a.iana-servers.net internet address = 199.43.135.53
$ dig -t a +noall +answer example.com @a.iana-servers.net
example.com. 86400 IN A 93.184.216.34
有没有更好的方法?另外,并非所有名称服务器都是平等创建的,因此b.iana-servers.net
响应时间会比 长得多(x100,有时会超时)a.iana-servers.net
,如果有一个简单的方法来查询所有名称服务器并返回第一个响应的结果,那将非常有用。
答案1
你的例子有问题。你获取的委托名称服务器信息可能已过时,因此你查询权威信息的名称服务器可能不再是所请求域的实际权威服务器。为了尽可能接近保证现在具有权威性的信息,你必须每次都从根开始递归,因为途中的每一步都有可能随时发生变化。
话虽如此,你认为你为什么要这样做?你试图绕过 DNS 的设计,所以这永远不会容易或方便。你有什么理由付出所有这些额外的努力?