如何从命令行直接查询权威DNS名称服务器,绕过caching服务器?

如何从Linux和Mac OS X命令行直接查询权威DNS名称服务器,绕过caching服务器?

这在希望立即validation授权服务器上新创build的DNS主机名,而不想等待caching的DNS服务器“更新”/过期TTL时很有用。

随着dig ,你可以自动做到这一点。

 $ dig +trace www.google.com ; <<>> DiG 9.8.3-P1 <<>> +trace www.google.com ;; global options: +cmd . 376983 IN NS c.root-servers.net. . 376983 IN NS d.root-servers.net. . 376983 IN NS l.root-servers.net. . 376983 IN NS j.root-servers.net. . 376983 IN NS f.root-servers.net. . 376983 IN NS b.root-servers.net. . 376983 IN NS i.root-servers.net. . 376983 IN NS g.root-servers.net. . 376983 IN NS a.root-servers.net. . 376983 IN NS e.root-servers.net. . 376983 IN NS k.root-servers.net. . 376983 IN NS m.root-servers.net. . 376983 IN NS h.root-servers.net. ;; Received 512 bytes from 172.16.0.1#53(172.16.0.1) in 2424 ms com. 172800 IN NS a.gtld-servers.net. com. 172800 IN NS l.gtld-servers.net. com. 172800 IN NS i.gtld-servers.net. com. 172800 IN NS k.gtld-servers.net. com. 172800 IN NS g.gtld-servers.net. com. 172800 IN NS m.gtld-servers.net. com. 172800 IN NS f.gtld-servers.net. com. 172800 IN NS h.gtld-servers.net. com. 172800 IN NS e.gtld-servers.net. com. 172800 IN NS j.gtld-servers.net. com. 172800 IN NS d.gtld-servers.net. com. 172800 IN NS c.gtld-servers.net. com. 172800 IN NS b.gtld-servers.net. ;; Received 504 bytes from 192.36.148.17#53(192.36.148.17) in 4357 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 168 bytes from 192.33.14.30#53(192.33.14.30) in 503 ms www.google.com. 300 IN A 173.194.127.240 www.google.com. 300 IN A 173.194.127.244 www.google.com. 300 IN A 173.194.127.242 www.google.com. 300 IN A 173.194.127.241 www.google.com. 300 IN A 173.194.127.243 ;; Received 112 bytes from 216.239.32.10#53(216.239.32.10) in 164 ms 
 $ host -t ns <domain> 

提供授权服务器名称。 然后运行:

 $ host <hostname> <authoritative_DNS_name> 

查看来自authoritative_DNS_name服务器的DNS转换。

以下是Mac OS X的示例。 相同的命令在Ubuntu 12.04.2 LTS上工作。

 desktop5-macos Jan 04 13:54:29 ~$ host -t ns google.com google.com name server ns3.google.com. google.com name server ns1.google.com. google.com name server ns2.google.com. google.com name server ns4.google.com. desktop5-macos Jan 04 13:54:31 ~$ host google.com ns1.google.com Using domain server: Name: ns1.google.com Address: 216.239.32.10#53 Aliases: google.com has address 74.125.225.3 google.com has address 74.125.225.2 google.com has address 74.125.225.5 google.com has address 74.125.225.0 google.com has address 74.125.225.4 google.com has address 74.125.225.9 google.com has address 74.125.225.6 google.com has address 74.125.225.8 google.com has address 74.125.225.7 google.com has address 74.125.225.1 google.com has address 74.125.225.14 google.com has IPv6 address 2607:f8b0:4009:806::1005 google.com mail is handled by 40 alt3.aspmx.l.google.com. google.com mail is handled by 50 alt4.aspmx.l.google.com. google.com mail is handled by 20 alt1.aspmx.l.google.com. google.com mail is handled by 10 aspmx.l.google.com. google.com mail is handled by 30 alt2.aspmx.l.google.com. desktop5-macos Jan 04 13:54:35 ~$ sw_vers ProductName: Mac OS X ProductVersion: 10.7.4 BuildVersion: 11E53 desktop5-macos Jan 04 13:54:38 ~$