nslookup-Befehl: Verwendung und Optionen, Abfrage von Einträgen und Wahl des DNS-Servers
Der Befehl nslookup ist ein Abfragewerkzeug, das einen DNS-Server nach einem Domainnamen fragt und dessen IP-Adressen sowie DNS-Einträge wie MX, NS und TXT zurückgibt. Als wir auf einem AlmaLinux-9-Server die Einträge von example.com nach Typ abgefragt und den befragten DNS-Server gewechselt haben, lieferte dieselbe Domain je nach Server unterschiedliche Ergebnisse: Die Zeile Non-authoritative answer am Anfang der Antwort verschwand, oder das Ergebnis der ANY-Abfrage änderte sich.
Die folgende Ausgabe stammt aus dem root-Konto eines AlmaLinux-9.8-Servers. Die Adresse des auf dem Server eingestellten DNS-Servers wurde durch den Beispielwert 192.0.2.53 ersetzt, und auch die Versionsnummern der Pakete wurden durch Beispielwerte ersetzt.
1️⃣ So verwenden Sie den nslookup-Befehl
Die Grundform ist [nslookup -Option Name DNS-Server], wobei Optionen und DNS-Server weggelassen werden können. Wenn Sie nur einen Namen angeben, fragt nslookup den auf dem Server eingestellten DNS-Server nach der Adresse dieses Namens.
nslookup example.comServer: 192.0.2.53
Address: 192.0.2.53#53
Non-authoritative answer:
Name: example.com
Address: 172.66.147.243
Name: example.com
Address: 104.20.23.154
Name: example.com
Address: 2606:4700:10::6814:179a
Name: example.com
Address: 2606:4700:10::ac42:93f3Die beiden Zeilen Server und Address ganz oben zeigen den DNS-Server, der die Anfrage erhalten hat, und #53 am Ende ist die DNS-Portnummer. Ohne Angabe eines Eintragstyps fragt nslookup nacheinander den A-Eintrag (IPv4) und den AAAA-Eintrag (IPv6) ab, daher folgten auf zwei IPv4-Adressen zwei IPv6-Adressen.
Non-authoritative answer bedeutet, dass nicht der Server geantwortet hat, der die Einträge von example.com direkt verwaltet, sondern ein DNS-Server, der den Wert im Cache hält. Kurz nach einer Änderung eines Eintrags kann der Wert deshalb vom tatsächlichen Wert abweichen.
2️⃣ nslookup-Optionen
Optionen werden mit einem Bindestrich vor dem Namen geschrieben.
-type ist dieselbe Option wie -query oder die Kurzform -q. Eine Anfrage an 8.8.8.8 mit -q=mx lieferte dieselbe Mailserver-Zeile wie -type=mx.
nslookup -q=mx google.com 8.8.8.8Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
google.com mail exchanger = 10 smtp.google.com.
Authoritative answers can be found from:-timeout und -retry legen fest, wie lange auf einen DNS-Server gewartet wird, der nicht antwortet. 192.0.2.1 ist eine für Dokumentation reservierte Adresse, daher antwortet dort kein Server.
nslookup -timeout=2 -retry=1 example.com 192.0.2.1;; connection timed out; no servers could be reachedMit -timeout=2 -retry=1 gab nslookup nach 2 Sekunden die Zeile [connection timed out] aus und beendete sich. Mit -retry=2 dauerte es 4 Sekunden, ohne Optionen 15 Sekunden. Damit ein Skript nicht lange an einem Server hängt, der nicht antwortet, verringern Sie beide Werte.
Mit -debug werden die Frage- und Antwortabschnitte des Antwortpakets unverändert ausgegeben.
nslookup -debug example.com 8.8.8.8Server: 8.8.8.8
Address: 8.8.8.8#53
------------
QUESTIONS:
example.com, type = A, class = IN
ANSWERS:
-> example.com
internet address = 104.20.23.154
ttl = 300
-> example.com
internet address = 172.66.147.243
ttl = 300
AUTHORITY RECORDS:
ADDITIONAL RECORDS:
------------
Non-authoritative answer:
Name: example.com
Address: 104.20.23.154
Name: example.com
Address: 172.66.147.243
------------
QUESTIONS:
example.com, type = AAAA, class = IN
ANSWERS:
-> example.com
has AAAA address 2606:4700:10::6814:179a
ttl = 300
-> example.com
has AAAA address 2606:4700:10::ac42:93f3
ttl = 300
AUTHORITY RECORDS:
ADDITIONAL RECORDS:
------------
Name: example.com
Address: 2606:4700:10::6814:179a
Name: example.com
Address: 2606:4700:10::ac42:93f3Jeder Eintrag erhielt ein ttl = 300, das die normale Ausgabe nicht zeigt. Es bedeutet, dass der DNS-Server, der diese Antwort erhalten hat, den Eintrag bis zu 300 Sekunden im Cache halten darf.
-norecurse bittet den DNS-Server, nur mit vorhandenen Werten zu antworten, statt über andere Server zu suchen. Ohne die Option lieferte dieselbe Anfrage an 8.8.8.8 vier Adressen, mit -norecurse endete sie jedoch mit [SERVFAIL].
nslookup -norecurse example.com 8.8.8.8Server: 8.8.8.8
Address: 8.8.8.8#53
** server can't find example.com: SERVFAIL| Option | Kopieren | Beschreibung |
|---|---|---|
| -type= | Legt den abzufragenden Eintragstyp fest; ohne Angabe A und danach AAAA | |
| -q= | Dieselbe Option wie -type, legt den abzufragenden Eintragstyp fest | |
| -timeout= | Wartezeit auf die Antwort der ersten Anfrage (Sekunden) | |
| -retry= | Anzahl der Sendeversuche, wenn keine Antwort kommt | |
| -debug | Gibt Frage und Antwort des Antwortpakets bis hin zur TTL aus | |
| -norecurse | Fordert nur die Werte dieses Servers an, ohne über andere Server zu gehen |
| Option | Kopieren | Beschreibung |
|---|---|---|
| -query= | Dieselbe Option wie -type, legt den abzufragenden Eintragstyp fest | |
| -port= | Legt den abzufragenden Port fest, Standard 53 | |
| -version | Version ausgeben und beenden |
3️⃣ Einträge mit nslookup abfragen (MX, NS, TXT, SOA)
Wenn Sie nach -type= einen Eintragstyp angeben, wird nur dieser Eintrag abgefragt. Der Wert kann groß oder klein geschrieben werden.
| Wert von -type= | Enthaltene Informationen |
|---|---|
| A · AAAA | IPv4-Adresse, IPv6-Adresse |
| MX | Server, der E-Mails empfängt, und seine Priorität |
| NS | Nameserver, die die Einträge der Domain verwalten |
| TXT | Textwerte wie SPF |
| SOA | Primärer Nameserver der Zone, Admin-E-Mail, Seriennummer, Aktualisierungsintervalle |
| CNAME | Alias, der auf einen anderen Namen verweist |
| PTR | Hostname, der mit einer IP-Adresse verknüpft ist (rückwärts) |
| ANY | Fordert alle Einträge dieses Namens auf einmal an |
Mailserver werden mit dem MX-Eintrag geprüft.
nslookup -type=mx google.comServer: 192.0.2.53
Address: 192.0.2.53#53
Non-authoritative answer:
google.com mail exchanger = 10 smtp.google.com.
Authoritative answers can be found from:Die 10 nach mail exchanger ist die Priorität. Gibt es mehrere Mailserver, versucht der Absender die Zustellung zuerst beim Server mit der kleinsten Zahl. Dieselbe Abfrage für example.com ergab [mail exchanger = 0 .], und ein MX mit nur einem Punkt bedeutet, dass diese Domain keine E-Mails annimmt.
[Authoritative answers can be found from:] am Ende der MX-Abfrage ist eine Kopfzeile, unter der die in der Antwort mitgelieferten Angaben zu autoritativen Nameservern folgen. Bei den MX-, NS- und TXT-Abfragen in diesem Artikel enthielt die Antwort diese Angaben nicht, daher blieb der Bereich unter der Kopfzeile leer.
Der NS-Eintrag enthält die Nameserver, die die Einträge der Domain direkt verwalten.
nslookup -type=ns example.comServer: 192.0.2.53
Address: 192.0.2.53#53
Non-authoritative answer:
example.com nameserver = hera.ns.cloudflare.com.
example.com nameserver = elliott.ns.cloudflare.com.
Authoritative answers can be found from:example.com hatte zwei Nameserver. Diese beiden Server sind die autoritativen Nameserver von example.com.
In einem TXT-Eintrag lassen sich Textwerte ohne festes Format speichern.
nslookup -type=txt example.comServer: 192.0.2.53
Address: 192.0.2.53#53
Non-authoritative answer:
example.com text = "_k2n1y4vw3qtb4skdx9e7dxt97qrmmq9"
example.com text = "v=spf1 -all"
Authoritative answers can be found from:v=spf1 -all ist ein SPF-Wert, der besagt, dass kein Server E-Mails unter diesem Domainnamen versenden darf. Hat eine Domain mehrere TXT-Einträge, erscheinen sie so, einer pro Zeile.
Der SOA-Eintrag enthält die Grundinformationen der Zone.
nslookup -type=soa example.comServer: 192.0.2.53
Address: 192.0.2.53#53
Non-authoritative answer:
example.com
origin = elliott.ns.cloudflare.com
mail addr = dns.cloudflare.com
serial = 2418004112
refresh = 10000
retry = 2400
expire = 604800
minimum = 1800
Authoritative answers can be found from:origin ist der primäre Nameserver, und mail addr ist die E-Mail-Adresse des Administrators, bei der das @ als Punkt geschrieben ist. serial ist eine Seriennummer, die bei jeder Änderung der Einträge steigt, und refresh, retry und expire sind Zeitwerte (in Sekunden), mit denen sekundäre Nameserver ihre Einträge mit dem primären Server abgleichen. minimum ist die Zeit, die eine Antwort auf einen nicht vorhandenen Eintrag im Cache bleibt.
Aliase werden mit dem CNAME-Eintrag geprüft. Die Abfrage von www.github.com ergab eine Zeile, nach der es ein Alias von github.com ist.
nslookup -type=cname www.github.comServer: 192.0.2.53
Address: 192.0.2.53#53
www.github.com canonical name = github.com.-type=any fordert alle Einträge dieses Namens auf einmal an. Die Anfrage an den auf dem Server eingestellten DNS-Server lieferte die Einträge A, AAAA, MX und NS zusammen.
nslookup -type=any example.comServer: 192.0.2.53
Address: 192.0.2.53#53
Non-authoritative answer:
Name: example.com
Address: 172.66.147.243
Name: example.com
Address: 104.20.23.154
Name: example.com
Address: 2606:4700:10::6814:179a
Name: example.com
Address: 2606:4700:10::ac42:93f3
example.com mail exchanger = 0 .
example.com nameserver = hera.ns.cloudflare.com.
example.com nameserver = elliott.ns.cloudflare.com.
Authoritative answers can be found from:Dieselbe Abfrage an 8.8.8.8 lieferte nur eine Zeile [hinfo = “RFC8482”] und eine Signaturzeile.
nslookup -type=any example.com 8.8.8.8Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
example.com hinfo = "RFC8482" ""
example.com rdata_46 = HINFO 13 2 3600 20261029212708 20261027192708 34505 example.com. 2YBHcD7GmqHiW6E7e8Lx3z/gPoCsLbYw/Uegjy801hQ+4fYp5U7wKqc2 NXOONd8WS0xjgzfW5Dn0akDqdjltOw==
Authoritative answers can be found from:RFC 8482 ist das Dokument, nach dem Server auf eine ANY-Anfrage mit einer kurzen Antwort statt mit allen Einträgen reagieren dürfen. Fragen Sie benötigte Einträge daher einzeln nach Typ ab.
4️⃣ DNS-Server in nslookup angeben
Wenn Sie nach dem Namen einen DNS-Server angeben, fragt nslookup diesen Server statt des auf dem Server eingestellten DNS-Servers.
nslookup example.com 8.8.8.8Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: example.com
Address: 104.20.23.154
Name: example.com
Address: 172.66.147.243
Name: example.com
Address: 2606:4700:10::6814:179a
Name: example.com
Address: 2606:4700:10::ac42:93f3Die Zeile Server wechselte zu 8.8.8.8, und die vier Adressen waren dieselben wie in der Antwort des auf dem Server eingestellten DNS-Servers. Diese Form nutzen Sie nach einem Nameserver-Wechsel, um zu prüfen, ob die neuen Werte bei den einzelnen öffentlichen DNS-Servern angekommen sind.
Wenn Sie einen Nameserver aus der NS-Abfrage als DNS-Server angeben, fragen Sie den autoritativen Server direkt.
nslookup example.com elliott.ns.cloudflare.comServer: elliott.ns.cloudflare.com
Address: 2606:4700:58::a29f:2ce4#53
Name: example.com
Address: 104.20.23.154
Name: example.com
Address: 172.66.147.243
Name: example.com
Address: 2606:4700:10::6814:179a
Name: example.com
Address: 2606:4700:10::ac42:93f3Diesmal verschwand die Zeile Non-authoritative answer. Der Wert kam direkt vom Server, der die Einträge verwaltet, und ist damit der aktuelle Wert ohne Umweg über einen Cache. In Address direkt unter der Zeile Server erschien die IPv6-Adresse dieses Nameservers.
Bei einem Namen, der nicht existiert, erscheint [NXDOMAIN]. .invalid ist eine Top-Level-Domain, die reserviert ist, damit sie nie tatsächlich verwendet wird, daher lautete die Antwort, dass der Name nicht existiert.
nslookup example.invalidServer: 192.0.2.53
Address: 192.0.2.53#53
** server can't find example.invalid: NXDOMAINno-such-host.example.com endete dagegen nicht mit NXDOMAIN, sondern mit [No answer]. Das bedeutet, dass der abgefragte Eintrag nicht in der Antwort war, ein anderes Ergebnis als NXDOMAIN, bei dem der Name selbst nicht existiert.
nslookup no-such-host.example.comServer: 192.0.2.53
Address: 192.0.2.53#53
Non-authoritative answer:
*** Can't find no-such-host.example.com: No answer5️⃣ Rückwärtsabfrage mit nslookup
Wenn Sie statt eines Namens eine IP-Adresse angeben, fragt nslookup den PTR-Eintrag ab und findet den mit dieser Adresse verknüpften Hostnamen.
nslookup 8.8.8.88.8.8.8.in-addr.arpa name = dns.google.
Authoritative answers can be found from:8.8.8.8.in-addr.arpa ist der Name, der entsteht, wenn man die IPv4-Adresse rückwärts schreibt und in-addr.arpa anhängt. Der Wert des PTR-Eintrags dieses Namens, dns.google., ist der Hostname von 8.8.8.8.
Bei der Rückwärtsabfrage fehlten die beiden Server-Zeilen ganz oben. Die Abfrage derselben Adresse mit nslookup 9.18 auf einem Debian-12-Server sah genauso aus.
6️⃣ Interaktiver Modus von nslookup
Wenn Sie nslookup ohne Argumente starten, gelangen Sie in den interaktiven Modus mit der Eingabeaufforderung >. Wenn Sie mehrere Namen und Eintragstypen nacheinander abfragen, müssen Sie den Befehl nicht jedes Mal neu eingeben.
nslookup> server 8.8.8.8
Default server: 8.8.8.8
Address: 8.8.8.8#53
> set type=mx
> google.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
google.com mail exchanger = 10 smtp.google.com.
Authoritative answers can be found from:
> set type=txt
> example.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
example.com text = "_k2n1y4vw3qtb4skdx9e7dxt97qrmmq9"
example.com text = "v=spf1 -all"
Authoritative answers can be found from:
> exitWechseln Sie mit server den abzufragenden DNS-Server und legen Sie mit set type= den Eintragstyp fest, dann genügt danach ein Name, um mit diesen Einstellungen abzufragen. Mit exit kehren Sie zur Shell zurück.
set all gibt alle aktuellen Einstellungen aus.
nslookup> set type=txt
> set all
Default server: 192.0.2.53
Address: 192.0.2.53#53
Set options:
novc nodebug nod2
search recurse
timeout = 0 retry = 3 port = 53 ndots = 1
querytype = txt class = IN
srchlist = example.internal
> exitquerytype stand auf dem zuvor gesetzten txt. retry = 3 und port = 53 sind Standardwerte, die nicht geändert wurden.
7️⃣ nslookup unter Linux installieren und mit dig und host vergleichen
Wenn nslookup unter Linux [command not found] meldet, installieren Sie das Paket mit den BIND-Werkzeugen. Auf dem AlmaLinux-Server stammte nslookup aus dem Paket bind-utils.
rpm -qf /usr/bin/nslookupbind-utils-9.16.20-30.el9_8.2.x86_64Auf dem Debian-12-Server war es das Paket bind9-dnsutils. Der alte Name dnsutils existierte noch als Übergangspaket, das bind9-dnsutils installiert.
dpkg -S /usr/bin/nslookupbind9-dnsutils: /usr/bin/nslookupAuf RHEL-basierten Systemen installieren Sie das Paket bind-utils mit dem folgenden Befehl.
dnf install bind-utilsAuf Debian-basierten Systemen installieren Sie das Paket bind9-dnsutils.
apt install bind9-dnsutilsIm selben Paket sind auch dig und host enthalten. Alle drei Befehle fragen DNS ab, unterscheiden sich aber in der Form der Ausgabe.
| Befehl | Ausgabe | Einsatzbereich |
|---|---|---|
| nslookup | Server-Zeile + Antwort, interaktiver Modus | Mehrere Namen und Einträge nacheinander abfragen |
| dig | Alle Abschnitte des Antwortpakets; mit +short nur die Werte | Nur die Werte in einem Skript auslesen |
| host | Ein Satz pro Eintrag | A, AAAA und MX auf einmal prüfen |
host example.comexample.com has address 172.66.147.243
example.com has address 104.20.23.154
example.com has IPv6 address 2606:4700:10::6814:179a
example.com has IPv6 address 2606:4700:10::ac42:93f3
example.com mail is handled by 0 .host fragte auch ohne Optionen die Einträge A, AAAA und MX auf einmal ab und gab jeden als einzeiligen Satz aus. Mit +short lässt dig nur die IP-Adressen übrig.
dig +short example.com104.20.23.154
172.66.147.243Um in einem Skript nur die Werte auszulesen, ist dig +short einfacher zu handhaben, und um mehrere Namen nacheinander zu prüfen, ist der interaktive Modus von nslookup bequemer.
🔲 Simulator für den nslookup-Befehl
Im folgenden Simulator können Sie nslookup selbst eingeben und dabei Eintragstyp und DNS-Server wechseln.
🔢 FAQ & empfohlene Inhalte
DNS-Abfrage
Linux host-Befehl | Befehl für DNS-Abfragen
Ein Artikel darüber, wie Sie mit dem Befehl host die IP-Adresse eines Hostnamens und umgekehrt den Hostnamen einer IP-Adresse finden.
Web-Abfrage
Seiten zum Prüfen von DNS-Einträgen und Messen der Nameserver-Leistung
Ein Artikel darüber, wie Sie mit whatsmydns die Werte von DNS-Einträgen aus mehreren Regionen prüfen und mit DNSPerf die Antwortgeschwindigkeit von DNS-Servern vergleichen.
ℹ️ Affiliate-Hinweis
Die Inhalte dieser Website enthalten Affiliate-Links. Kauft ein Besucher über einen dieser Links ein Produkt oder eine Dienstleistung, erhält die Website vom Verkäufer eine Provision. Der Betrag, den der Käufer zahlt(bei Aktionsrabatten sinkt er ↓), steigt dadurch nicht. Angegebene Preise, Rabatte und Lagerbestände entsprechen dem Stand bei Erstellung und können abweichen; prüfe sie daher vor dem Kauf beim Verkäufer. Produkte werden nach eigenen Kriterien ausgewählt und bewertet, und Provisionen beeinflussen weder die Reihenfolge noch den Inhalt der Bewertungen.