Почему командыкопатьи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' вместо этого. Запустите nslookup с опцией '-sil[ent]', чтобы предотвратить появление этого сообщения.
выдержка изhttp://cr.yp.to/djbdns/nslookup.html
Не используйте древнюю программу nslookup. Что бы вы ни пытались сделать, есть лучший способ. Даже компания BIND, которая поддерживает и распространяет nslookup, заявляет, что ``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 инструментам, использующим разные решатели, есть вещи, которые проще делать в dig
, nslookup
хотя, nslookup
как правило, из 2 инструментов проще использовать каждый день.
Кроме того dig
, вывод обычно проще анализировать в скриптах или при использовании командной строки.