копать против nslookup

40

Почему команды 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
pylover
источник

Ответы:

41

dig использует библиотеки распознавателя ОС. nslookup использует собственные внутренние.

Вот почему Internet Systems Consortium (ISC) пытается заставить людей прекратить использовать nslookup в течение некоторого времени. Это вызывает замешательство.

kurtm
источник
22
На самом деле решение об устаревшем nslookup было отменено, по крайней мере, в nslookup, предоставленном ISC. Источник: kb.isc.org/article/AA-00496/0/BIND-9.9.0a3-Release-Notes.htm (запись # 1700)
ата
2
@ata Ссылка, которую вы указали, больше не существует.
QMaster
Сегодня была странная ситуация, когда nslookupне возвращал бы никакого результата (время ожидания), но использование systemd-resolveработало очень хорошо. Это был новый для меня, и я буду использовать systemd-resolveв будущем вместо nslookup.
Джефф Х.
21

Некоторое время 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 в пользу хоста и копал в течение некоторого времени.)

Так что казалось бы, что nslookupэто прекрасно для использования вместе с dig. В дополнение к двум инструментам, использующим различные средства распознавания, есть вещи, которые легче сделать по digсравнению с другими nslookup, хотя nslookupобычно эти два инструмента проще использовать изо дня в день.

Кроме того dig, выходные данные, как правило, легче анализировать в сценариях или в командной строке.

SLM
источник