dig vs nslookup


40

Dlaczego polecenia dig i nslookup czasami wyświetlają różne wyniki?

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

Odpowiedzi:


41

dig używa bibliotek tłumaczących OS. nslookup używa własnych wewnętrznych.

Właśnie dlatego Konsorcjum Systemów Internetowych (ISC) od jakiegoś czasu próbuje powstrzymać ludzi od używania nslookup. Powoduje zamieszanie.


22
W rzeczywistości decyzja o przestarzałym nslookup została cofnięta, przynajmniej w nslookup dostarczonym przez ISC. Źródło: kb.isc.org/article/AA-00496/0/BIND-9.9.0a3-Release-Notes.htm (pozycja # 1700)
ata

2
@ata Podany przez Ciebie link już nie istnieje.
QMaster

Miałem dzisiaj dziwną sytuację, w której nslookupnie zwróciłoby żadnego wyniku (przekroczyłby limit czasu), ale używanie systemd-resolvedziałało bardzo dobrze. To był dla mnie nowy i prawdopodobnie użyję go systemd-resolvew przyszłości zamiast nslookup.
Jeff H.

21

Przez pewien czas nslookupbyło zgłaszane jako przestarzała aplikacja i nie należy jej już używać.

Dane wyjściowe ostrzegały cię przed tym:

Uwaga: nslookup jest przestarzały i może zostać usunięty z przyszłych wydań. Zamiast tego rozważ użycie programów „dig” lub „host”. Uruchom nslookup z opcją „-sil [ent]”, aby zapobiec pojawianiu się tego komunikatu.

fragment z http://cr.yp.to/djbdns/nslookup.html

Nie używaj starożytnego programu nslookup. Cokolwiek próbujesz zrobić, istnieje lepszy sposób. Nawet firma BIND, która utrzymuje i rozpowszechnia nslookup, mówi: `` nslookup jest przestarzały i może zostać usunięty z przyszłych wydań. ''

Jednak w informacjach o wersji z wersji 9.9.0a3 znajduje się wpis (# 1700), który stwierdza, co następuje:

1700.   [func]      nslookup is no longer to be treated as deprecated.
                    Remove "deprecated" warning message.  Add man page.

Strona Wikipedii stwierdza również:

Począwszy od wersji BIND 9.9.0a3, nslookup najwyraźniej został wskrzeszony („nslookup nie jest już traktowany jako przestarzały”). (Konsorcjum Systemów Internetowych wcześniej przez pewien czas wycofywało nslookup na rzecz hosta i kopać).

Wydaje się więc, że nslookupmożna go używać razem dig. Oprócz 2 narzędzi wykorzystujących różne resolwery, istnieją rzeczy, które są łatwiejsze do zrobienia w digporównaniu z innymi nslookup, chociaż nslookupgeneralnie jest to łatwiejsze z 2 narzędzi do codziennego użytku.

Również digdane wyjściowe są zwykle łatwiejsze do przeanalizowania w skryptach lub przy użyciu wiersza poleceń.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.