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的输出通常更容易在脚本或命令行使用中解析。

相关内容