dig 與 nslookup

dig 與 nslookup

為什麼要執行這些指令查詢有時會列印不同的結果?

~$ 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

答案1

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

因此網路系統聯盟 (ISC)一段時間以來,我們一直試圖讓人們停止使用 nslookup。它會造成混亂。

答案2

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

輸出甚至警告您這一點:

注意:nslookup 已棄用,可能會從未來版本中刪除。考慮使用“dig”或“host”程式。使用“-sil[ent]”選項執行 nslookup 可防止出現此訊息。

摘自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 不再被視為已棄用”)。 (網路系統聯盟之前曾一度棄用 nslookup,轉而使用 host 和 dig。)

所以看起來nslookup與 一起使用是完全可以的dig。除了使用不同解析器的 2 個工具之外,digvs.中還有一些更容易做的事情nslookup,儘管nslookup通常是這 2 個工具中更容易日常使用的一個。

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

相關內容