なぜコマンドは掘るそして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 は OS リゾルバ ライブラリを使用します。nslookup は独自の内部ライブラリを使用します。
それが理由ですインターネットシステムコンソーシアム (ISC)しばらく前から、nslookup の使用をやめるよう人々に働きかけてきました。混乱を招いています。
答え2
しばらくの間、nslookup
非推奨のアプリケーションとして報告されており、今後は使用しないでください。
出力では、次のような警告も表示されました:
注意: nslookup は非推奨であり、将来のリリースから削除される可能性があります。代わりに 'dig' または 'host' プログラムの使用を検討してください。このメッセージが表示されないようにするには、nslookup を '-sil[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.
Wikipediaのページには次のようにも書かれています:
BIND 9.9.0a3 では、nslookup が復活したようです (「nslookup はもはや非推奨として扱われません」)。 (Internet Systems Consortium は以前、host と dig を優先して nslookup を非推奨にしていました。)
nslookup
したがって、 を と一緒に使用してもまったく問題ないと思われますdig
。 2 つのツールが異なるリゾルバを使用することに加えて、dig
と比較してで実行した方が簡単な作業もありますnslookup
が、nslookup
一般的に 2 つのツールのうち日常的に使用するには の方が簡単です。
また、dig
の出力は通常、スクリプトやコマンドラインでの使用で解析する方が簡単です。