dig vs nslookup

40

Warum geben die Befehle dig und nslookup manchmal unterschiedliche Ergebnisse aus?

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

Antworten:

40

dig verwendet die OS-Resolver-Bibliotheken. nslookup verwendet eigene interne.

Aus diesem Grund versucht das Internet Systems Consortium (ISC) seit einiger Zeit, die Benutzer dazu zu bringen, nslookup nicht mehr zu verwenden. Das führt zu Verwirrung.

Kurtm
quelle
20
Tatsächlich wurde die Entscheidung, nslookup zu veralten, zumindest in dem von ISC bereitgestellten nslookup rückgängig gemacht. Quelle: kb.isc.org/article/AA-00496/0/BIND-9.9.0a3-Release-Notes.htm (Entry # 1700)
ata
1
Der von Ihnen angegebene @ata Link existiert nicht mehr.
QMaster
Hatte heute eine seltsame Situation, in der nslookupes kein Ergebnis gab (Timeout), aber die Verwendung systemd-resolvefunktionierte sehr gut. Dies war eine neue für mich und ich werde wahrscheinlich systemd-resolvein Zukunft anstelle von nslookup verwenden.
Jeff H.
21

Wurde eine Weile nslookupals veraltete Anwendung gemeldet und sollte nicht mehr verwendet werden.

Die Ausgabe hat Sie sogar davor gewarnt:

Hinweis: nslookup ist veraltet und wird möglicherweise aus zukünftigen Versionen entfernt. Verwenden Sie stattdessen die Programme 'dig' oder 'host'. Führen Sie nslookup mit der Option '-sil [ent]' aus, um zu verhindern, dass diese Meldung angezeigt wird.

Auszug aus http://cr.yp.to/djbdns/nslookup.html

Verwenden Sie nicht das alte nslookup-Programm. Was auch immer Sie versuchen, es gibt einen besseren Weg, es zu tun. Sogar das BIND-Unternehmen, das nslookup verwaltet und vertreibt, gibt an, dass "nslookup veraltet ist und möglicherweise aus zukünftigen Versionen entfernt wird".

In den Release Notes von Bind 9.9.0a3 gibt es jedoch einen Eintrag (# 1700), der Folgendes besagt:

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

Auf der Wikipedia-Seite heißt es auch:

Ab BIND 9.9.0a3 wurde nslookup anscheinend wiederbelebt ("nslookup ist nicht mehr als veraltet zu behandeln"). (Das Internet Systems Consortium hatte zuvor nslookup für Host und Dig für einige Zeit abgelehnt.)

Es scheint also, dass nslookupes vollkommen in Ordnung ist, es zusammen mit zu verwenden dig. Zusätzlich zu den zwei Werkzeugen mit verschiedenen Resolvern, gibt es Dinge , die in zu tun , sind leichter digvs. nslookup, obwohl im nslookupAllgemeinen der einfacheren der zwei Werkzeuge zur Verwendung Tag zu Tag.

Außerdem ist digdie Ausgabe in der Regel einfacher in Skripten oder in der Befehlszeile zu analysieren.

slm
quelle