Dig
為什麼主機比探勘某些查詢慢得多?
查詢特定地址時,針對 /etc/resolv.conf 中列出的解析器執行 dig 將很快返回 NXDOMAIN,主機需要一段時間。
$ dig @<resolver> 140.80.199.91.in-addr.arpa ptr ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> @<resolver>140.80.199.91.in-addr.arpa ptr ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 40000 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;140.80.199.91.in-addr.arpa. IN PTR ;; Query time: 1 msec ;; SERVER: <resolver>#53(<resolver>) ;; WHEN: Wed Oct 22 16:08:38 2014 ;; MSG SIZE rcvd: 44
但是在主機上要慢得多…
$ time host 140.80.199.91 <resolver> ;; connection timed out; no servers could be reached real 0m12.007s user 0m0.001s sys 0m0.007s
為什麼主持人要花這麼長時間才能得出相同的答案?
您的兩個命令不等效。
host 140.80.199.91
相當於:
dig 91.199.80.140.in-addr.arpa ptr
PTR 記錄中的標籤是反向的 IP 地址的元素。
由於您正在查找不同 IP 的反向 DNS,因此他們正在嘗試訪問不同的 DNS 伺服器。所以時間自然會有所不同。在您的範例中,反向 DNS 伺服器
199.80.140.in-addr.arpa
沒有響應,因此您會超時。為避免不得不手動反轉 IP,您可以使用該
-x
選項作為快捷方式:dig -x 140.80.199.91
此選項也預設為
PTR
查找,因此您也可以省略該參數。