Einführung
In diesem Tutorial werfen wir einen Blick auf die verschiedenen Möglichkeiten, den nslookup-Befehl unter Linux zu verwenden.
nslookup-Befehl
nslookup ist ein Befehlszeilen-Tool, das zur Abfrage von Domain-Name-Servern (DNS) verwendet wird und für Betriebssysteme wie Linux und Windows verfügbar ist:
2.1. Interaktiv vs. nicht-interaktiv
Wir haben zwei Modi für die Verwendung von nslookup: interaktiv und nicht-interaktiv.
Zunächst können wir den interaktiven Modus aktivieren, indem wir den Befehl ohne Parameter eingeben:
~]$ nslookup>
Danach erhalten wir eine Eingabeaufforderung, um einzelne Befehle einzugeben, ohne jedes Mal nslookup einzugeben.
Im nicht-interaktiven Modus hingegen werden dieselben Befehle als Parameter verwendet:
~]$ nslookup -type=a redhat.com
Lassen Sie uns nun einige Abfragen mit nslookup durchführen.
2.2. Nachschlagen einer Domäne
Schauen Sie sich die Ergebnisse für das Nachschlagen eines Domänennamens an:
~]$ nslookup redhat.comServer: 192.168.1.1Address: 192.168.1.1#53Non-authoritative answer:Name: redhat.comAddress: 209.132.183.105
Der DNS-Eintrag – oder A-Eintrag – beginnt nach dem Text „Nicht-autoritative Antwort“. Diese Datensätze zeigen die IP-Adressen, die mit der Domäne verbunden sind.
Erinnern Sie sich, DNS-Datensätze bilden Domänennamen auf IP-Adressen für Computersysteme ab.
2.3. Reverse DNS Lookup
Auch von einer IP-Adresse aus kann man einen Domänennamen nachschlagen:
~]$ nslookup> type=ptr> 209.132.183.105105.183.132.209.in-addr.arpa name = redirect.redhat.com.
Beachten Sie, dass sich der zurückgegebene Domänenname leicht von der ursprünglichen Domäne unterscheidet. Es wird ein anderer Datensatz, ein so genannter PTR, zurückgegeben:
Für einige Domänen sind keine PTR-Datensätze für IP-Adressen registriert:
~]$ nslookup> 104.18.62.78Server: 192.168.1.1Address: 192.168.1.1#53** server can't find 78.62.18.104.in-addr.arpa: NXDOMAIN
Typ-Parameter
Nächste, Typ-Parameter fügen weitere Informationen zu unseren Suchvorgängen hinzu. Zum Beispiel gibt ptr das oben erwähnte Reverse DNS.
Nun wollen wir einige andere Typen ausprobieren.
3.1. Alle Einträge
Wir können alle DNS-Einträge erhalten, indem wir -type=a angeben:
~]$ nslookup -type=a baeldung.comServer: 192.168.1.1Address: 192.168.1.1#53Non-authoritative answer:Name: baeldung.comAddress: 104.18.63.78Name: baeldung.comAddress: 104.18.62.78
3.2. Autoritative (SOA)
Als nächstes sehen wir uns die autoritativen (SOA) Informationen über die Domäne an. Der A-Datensatz enthält z. B. E-Mail-Informationen und andere Informationen, die hier gezeigt werden:
~]$ nslookup -type=soa baeldung.comServer: 192.168.1.1Address: 192.168.1.1#53Non-authoritative answer:baeldung.com origin = lakas.ns.cloudflare.com mail addr = dns.cloudflare.com serial = 2033559691 refresh = 10000 retry = 2400 expire = 604800 minimum = 3600
Da viele Domain-Name-Server über das Internet verteilt sind, erhalten wir Ergebnisse, die nicht aus erster Hand stammen. Diese werden als nicht-autoritative Antworten bezeichnet. Sie liefern jedoch immer noch genaue Einträge.
3.3. Beliebige Einträge
Schließlich gibt der Parameter type=any alle oben genannten Ergebnisse zurück, einschließlich aller anderen Arten von Einträgen auf dem Server. Dies ist hilfreich, wenn wir nicht wissen, welchen Eintrag wir wollen.
Warnung: type=any ist wahrscheinlich auf den meisten öffentlichen Nameservern nicht implementiert, aber in internen Netzwerken ist es trotzdem nützlich.
Nameserver-Informationen
Manchmal wollen wir die Nameserver-Informationen sehen, um zu überprüfen, wo ein Domäneneintrag existiert.
Zum Beispiel können wir für unsere Domäne mit type=ns testen:
~]$ nslookup -type=ns baeldung.comServer: 192.168.1.1Address: 192.168.1.1#53Non-authoritative answer:baeldung.com nameserver = lakas.ns.cloudflare.com.baeldung.com nameserver = meera.ns.cloudflare.com.
Als Ergebnis können wir feststellen, welchen DNS wir für die Server-zu-Server-Kommunikation über die Domäne konfigurieren müssen. Denken Sie daran, dass die Abfrage eines neuen DNS Änderungen an der lokalen Netzwerkkonfiguration erfordert:
Debug einschalten
Darüber hinaus bietet der interaktive Modus von nslookup dem Benutzer die Möglichkeit, Abfragen zu debuggen:
~]$ nslookup -debug baeldung.comServer: 192.168.1.1Address: 192.168.1.1#53------------ QUESTIONS: baeldung.com, type = A, class = IN ANSWERS: -> baeldung.com internet address = 104.18.63.78 ttl = 300 -> baeldung.com internet address = 104.18.62.78 ttl = 300 AUTHORITY RECORDS: ADDITIONAL RECORDS:------------Non-authoritative answer:Name: baeldung.comAddress: 104.18.63.78Name: baeldung.comAddress: 104.18.62.78------------ QUESTIONS: baeldung.com, type = AAAA, class = IN ANSWERS: -> baeldung.com has AAAA address 2606:4700:3030::6812:3e4e ttl = 300 -> baeldung.com has AAAA address 2606:4700:3036::6812:3f4e ttl = 300 AUTHORITY RECORDS: ADDITIONAL RECORDS:------------Name: baeldung.comAddress: 2606:4700:3030::6812:3e4eName: baeldung.comAddress: 2606:4700:3036::6812:3f4e
Abschluss
Zusammenfassend lässt sich sagen, dass der Befehl nslookup grundlegend und sehr nützlich ist. Wir haben uns die beiden Modi und eine Vielzahl von Abfragetypen sowie die Möglichkeit der Fehlersuche angesehen, falls eine Fehlersuche erforderlich ist.