Dns

探勘與 nslookup

  • November 7, 2017

為什麼命令dignslookup有時會列印不同的結果?

~$ dig facebook.com

; <<>> DiG 9.9.2-P1 <<>> facebook.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6625
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;facebook.com.            IN    A

;; ANSWER SECTION:
facebook.com.        205    IN    A    173.252.110.27

;; Query time: 291 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Oct  6 17:55:52 2013
;; MSG SIZE  rcvd: 57

~$ nslookup facebook.com
Server:        8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
Name:    facebook.com
Address: 10.10.34.34

dig 使用作業系統解析器庫。nslookup 使用的是自己內部的。

這就是為什麼Internet Systems Consortium (ISC)一段時間以來一直試圖讓人們停止使用 nslookup 的原因。它會引起混亂。

有一段時間nslookup被報告為已棄用的應用程序,不應再使用。

輸出甚至警告您:

注意:nslookup 已棄用,可能會從未來的版本中刪除。考慮改用“探勘”或“主機”程序。使用 ‘-sil 執行 nslookup

$$ ent $$’ 選項以防止出現此消息。

摘自http://cr.yp.to/djbdns/nslookup.html

不要使用古老的 nslookup 程序。無論你想做什麼,都有更好的方法來做。甚至維護和分發 nslookup 的 BIND 公司也表示,“nslookup 已被棄用,可能會從未來的版本中刪除。”

但是,在Bind 9.9.0a3 的發行說明中,有一個條目 (#1700) 說明了以下內容:

1700.   [func]      nslookup is no longer to be treated as deprecated.
                   Remove "deprecated" warning message.  Add man page.

維基百科頁面也說明了這一點:

從 BIND 9.9.0a3 開始,nslookup 顯然已經復活(“nslookup 不再被視為已棄用”)。(Internet Systems Consortium 之前已棄用 nslookup 以支持 host and dig 一段時間。)

因此,nslookupdig. 除了使用不同解析器的 2 個工具之外,還有一些事情在digvs.中更容易做nslookup,儘管nslookup這兩種工具通常更容易日常使用。

Alsodig的輸出通常更容易在腳本或命令行使用中解析。

引用自:https://unix.stackexchange.com/questions/93808