Als Linux-Netzwerkadministrator werden Sie wahrscheinlich auf verschiedene Probleme stoßen, die mit Linux dig
gelöst werden können (Domain Information Groper) Befehl. Nicht sicher, wie die dig
Befehl funktioniert? Keine Bange! Sie werden sich freuen!
In diesem Tutorial lernen Sie einige nützliche Beispiele für die Verwendung von dig zur Lösung realer Probleme kennen.
Tauchen Sie ein und machen Sie sich mit diesem mächtigen Tool vertraut!
Voraussetzungen
Dieses Tutorial wird eine praktische Demonstration sein. Wenn Sie mitmachen möchten, stellen Sie sicher, dass Sie ein Linux-System haben. Dieses Tutorial verwendet Ubuntu 20.04, aber jede moderne Linux-Distribution funktioniert.
Installation von Linux dig
Befehl
Das Linux dig
Mit dem Befehl können Sie DNS-Informationen sammeln, die bei der Behebung von DNS-Problemen hilfreich sein können. Aber bevor Sie Nameserver ausgraben, müssen Sie zuerst dig
installieren auf Ihrem Rechner.
1. Führen Sie den folgenden Befehl apt update aus, um den Paketindex Ihres Systems zu aktualisieren.
apt update -y
2. Führen Sie als Nächstes den folgenden apt install-Befehl aus, um dnsutils auf Ihrem Computer zu installieren. DiG ist Teil eines DNS-Dienstprogrammpakets (dnsutils), das mit BIND-Nameservern installiert wird.
dnsutils ist eine Reihe von Tools, die das Ubuntu-Team bereitstellt und die verschiedene clientseitige DNS-Dienstprogramme wie dig.
enthaltenapt install dnsutils -y
3. Führen Sie zuletzt den folgenden dig-Befehl aus, um Ihre DiG-Installation zu überprüfen.
dig -v
Unten zeigt die Version von DiG 9.16.1, aber Ihre kann anders sein.
Linux Dig für eine einfache DNS-Abfrage ausprobieren
Nachdem Sie dig installiert haben, können Sie dig
ausprobieren Befehl für eine grundlegende DNS-Abfrage. Mit dem Befehl dig können Sie DNS-Server abfragen, um eine Handvoll Informationen zu sammeln, die Sie zur Fehlerbehebung und Behebung von DNS-Problemen verwenden können.
Die Syntax für eine einfache DNS-Abfrage lautet wie folgt, wobei:
server
– Der DNS-Server zur Abfrage einer IP-Adresse oder eines Domänennamens. DiG verwendet das vorkonfigurierte DNS Ihres Computers, wenn Sie keinen Server angeben.name
– Der Domänenname oder die IP-Adresse, nach der gesucht werden soll.type
– Die Art des gesuchten DNS-Eintrags.
dig [server] [name] [type]
Führen Sie nun den folgenden Befehl aus, um die DNS-Einträge für google.com
abzufragen .
Wenn Sie dig
ausführen Befehl ohne Flags oder Argumente, dig
führt eine DNS-Abfrage als Argument durch und gibt den A-Eintrag für den angegebenen Hostnamen zurück.
dig [google.com]( )
Eine einfache DNS-Abfrage mit dig
ist für einige verschiedene Aufgaben nützlich, wie zum Beispiel:
- Überprüfen der DNS-Einträge für eine Domain.
- Herausfinden, welcher DNS-Server für eine Domain verwendet wird.
- Überprüfen Sie, ob Ihr Computer den richtigen DNS-Server verwendet.
Abfrage von google.com
Die Ausgabe einer einfachen DNS-Abfrage verstehen
Wenn man bedenkt, dass DiG viele Informationen über den von Ihnen abgefragten Domainnamen zurückgegeben hat, können Sie bereits sehen, was mit dieser Domain passiert. Oder Nein? Wahrscheinlich nicht. Aber keine Sorge. Sie werden durch eine Aufschlüsselung der einzelnen Abschnitte gehen, die Sie in einer einfachen DNS-Abfrageausgabe sehen.
Unten zeigt die erste Zeile die Version von DiG und den abgefragten Domainnamen (google.com ). Gleichzeitig zeigt die zweite Zeile die globalen Optionen, die zum Ausführen der Abfrage verwendet werden.
In diesem Fall war die einzige verwendete Option +cmd , das DiG anweist, die ausgeführten Befehle zu drucken, während DiG sie ausführt.
Der folgende Abschnitt (HEADER ) zeigt Ihnen die technischen Details der Abfrage:
- Die erste Zeile gibt den Opcode an für die Abfrage verwendet (in diesem Fall QUERY ), gefolgt vom Status:NOERROR der Abfrage und der id Nummer (47244 ). Der NOERROR status zeigt an, dass der DNS-Server die Abfrage verarbeitet und erfolgreich eine Antwort zurückgegeben hat. Wenn Sie ein SERVFAIL erhalten Status, gab es einen DNS-Serverfehler, der zu einer fehlgeschlagenen Abfrage führte.
- Die Flaggen Abschnitt zeigt Ihnen, welche Flags für die Abfrage gesetzt wurden. In diesem Fall qr (Anfrageantwort), rd (Rekursion war nicht erwünscht) und ra (Rekursion ist verfügbar).
- Die letzte Zeile gibt an, wie viele Abfragen (QUERY ) wurden erstellt (1 ). Sie sehen auch, wie viele ANTWORTEN s (1 ), BEHÖRDE Aufzeichnungen (0 ) und ZUSÄTZLICH Aufzeichnungen (1 ) DiG zurückgegeben.
Die OPT PSEUDOSECTION unten gibt an, dass die DNS-Nachricht unter Verwendung des EDNS0-Protokolls erweitert wurde. Die Flaggen Feld ist leer, weil keine Optionen gesetzt wurden, während das Feld udp Feld gibt die maximale Größe der DNS-Nachricht an, die 65.494 beträgt Bytes.
Jetzt die ANTWORT Abschnitt unten zeigt Ihnen die für die Abfrage zurückgegebene Antwort. In diesem Fall haben Sie den A-Eintrag von google.com abgefragt , und der DNS-Server hat eine IP-Adresse von 142.250.80.110 zurückgegeben . Sie können die von google.com sehen Ein Datensatz verweist auf diese IP-Adresse.
Schließlich enthält der letzte Abschnitt Informationen über die Abfragezeit und den Server, der zur Verarbeitung der Abfrage verwendet wurde. Unten sehen Sie, dass die Abfrage vier Millisekunden (4 ms) gedauert hat ) zum Abschließen und der SERVER verwendete hatte eine IP-Adresse von 127.0.0.53 .
Je weniger Zeit der DNS-Server benötigt, um eine Anfrage zu verarbeiten und eine Antwort zurückzugeben, desto besser. Sie möchten nicht, dass Ihre Benutzer lange auf die Auflösung von DNS-Abfragen warten müssen. Die lange Wartezeit kann zu einer schlechten Benutzererfahrung führen.
Kurze und detaillierte Antworten abrufen
Sie haben gerade ein DNS abgefragt, das eine Handvoll Informationen zurückgegeben hat. Aber können Sie steuern, welche Ausgabe Sie erhalten? Ja, durch Anhängen von Flags (+short
, +noall
, und +answer
) an dig
Befehl.
Angenommen, Sie suchen nach einem A-Eintrag. Der DNS-Server gibt sowohl einen A- als auch einen AAAA-Eintrag zurück. Aber mit dem +short
Flag, gibt das DNS nur den A-Eintrag zurück. Die +short
Das Flag kann nützlich sein, um eine schnelle Antwort von DNS-Servern zu erhalten, ohne alle zusätzlichen Informationen durchsuchen zu müssen.
Führen Sie den folgenden Befehl aus, um google.com
abzufragen wieder. Hängen Sie dieses Mal jedoch den +short
an markieren, um nur eine kurze Antwort zu erhalten.
dig +short google.com
Unten sehen Sie, dass DiG nur eine kurze Antwort zurückgegeben hat, nämlich die Serveradresse von Google.
Führen Sie nun den folgenden Befehl aus, um google.com
abzufragen , eine ausführliche Antwort zurückgeben. Der +noall
Flag lässt alle Standardinformationen aus, die beim Ausführen von dig
angezeigt werden Befehl, mit Ausnahme des Antwortabschnitts (+answer
).
dig google.com +noall +answer
Festlegen von Nameservern zum Auflösen von Domänennamen
Bisher haben Sie gesehen, wie man dig
verwendet Befehl mit seinen Standardeinstellungen. Angenommen, Sie möchten testen, ob ein bestimmter Nameserver einen Domänennamen auflösen kann oder nicht. Geben Sie in solchen Fällen an, welchen DNS-Server DiG beim Ausführen von dig
verwendet Befehl kann helfen.
Standardmäßig ist die dig
Der Befehl verwendet die in /etc/resolv.conf angegebenen DNS-Server Datei, wie unten gezeigt.
Um zu überschreiben, welchen DNS-Server DiG beim Auflösen eines Domainnamens verwendet, hängen Sie den @
an Symbol gefolgt vom DNS-Server oder der IP.
Führen Sie den folgenden Befehl aus, um einen Domänennamen abzufragen (server
) mit Ihrem bevorzugten DNS-Server (dns-or-ip
). Achten Sie darauf, dns-or-ip
zu ersetzen mit Ihrem DNS-Server, aber dieses Tutorial verwendet 8.8.8.8 .
dig server +noall +answer @dns-or-ip
Unten sehen Sie, dass der DNS-Server den Domainnamen erfolgreich aufgelöst und detaillierte Antworten zurückgegeben hat.
Abfrage bestimmter Datensatztypen
Standardmäßig der dig
Befehl fragt nach einem A-Eintrag ab, wenn Sie keinen Eintragstyp angeben. Aber mit DiG können Sie auch andere Arten von DNS-Einträgen wie MX, NS, TXT usw. abfragen.
Um einen Eintragstyp anzugeben, fügen Sie den Eintragstyp direkt nach dem gesuchten Domänennamen an, wie im folgenden Beispiel.
Führen Sie den folgenden Befehl aus, um google.com
abzufragen für MX-Einträge.
dig +noall +answer google.com mx
Unten sehen Sie den MX-Eintrag für google.com ist smtp.google.com .
Führen Sie nun den folgenden Befehl aus, um google.com
abzufragen für TXT-Einträge
dig +noall +answer google.com txt
Die folgende Ausgabe zeigt alle TXT-Einträge für google.com , wie unten gezeigt.
Durchführen von Abfragen im Stapelmodus
Angenommen, Sie möchten DNS-Informationen für mehrere Domänennamen nachschlagen. Das Abfragen von Informationen einzeln für jeden Domainnamen kann mühsam und zeitaufwändig sein.
Glücklicherweise ist die dig
Der Befehl unterstützt einen Stapelmodus, in dem Sie eine Datei mit einer Liste von Domänennamen angeben können. DiG führt DNS-Abfragen für alle in dieser Datei aufgeführten Domänennamen im Stapelmodus durch.
Öffnen Sie eine neue Textdatei namens dns-batch-file.txt in Ihrem bevorzugten Texteditor und fügen Sie die Domänennamen (einen pro Zeile) hinzu, wie unten gezeigt. Wenn Sie mit der Liste zufrieden sind, speichern Sie die Datei und schließen Sie den Editor.
Führen Sie nun den folgenden Befehl aus, um alle Domänen abzufragen, die in der angegebenen (-f
) dns-batch-file.txt
Datei im Stapelmodus.
dig -f dns-batch-file.txt +noall +answer
Wie Sie unten sehen können, wurden die DNS-Informationen für alle Domains abgefragt und in tabellarischer Form angezeigt.
Steuern des Verhaltens von DiG mithilfe von .digrc Datei
DiG liest verschiedene Einstellungen aus der Datei ~/.digrc, wenn Sie den Befehl dig ausführen. Diese Datei enthält verschiedene Einstellungen, mit denen Sie steuern können, wie der dig
Befehl verhält. Mit der ~/.digrc Datei , können Sie den Standard-DNS-Server festlegen, der dig
Der Befehl sollte den Standarddatensatztyp abfragen oder auf Abfrage setzen, wenn Sie keinen angeben.
Vielleicht möchten Sie eine detaillierte Antwort erhalten und ignorieren die meiste Zeit alle anderen Abschnitte, wenn Sie dig
ausführen Befehl. In solchen Fällen können Sie die Datei ~./digrc verwenden Datei, um den Standardausgabestil für dig
festzulegen Befehl, wie im folgenden Beispiel.
Führen Sie echo
aus Befehl unten, der keine Ausgabe liefert, aber den +noall +answer
hinzufügt Zeile in die ~/.digrc Datei.
echo "+noall +answer" > ~/.digrc
Führen Sie nun dig
aus Befehl zum Abfragen eines Domänennamens ohne Argumente. Ersetzen Sie domain
mit Ihrem bevorzugten Domainnamen.
dig domain
Sie können sehen, dass die Ausgabe jetzt nur den Antwortabschnitt enthält, wie unten gezeigt. DiG würde den +noall +answer
verwenden Flags aus der ~/.digrc Datei, auch wenn Sie beim Ausführen des Befehls dig keine Flags angehängt haben.
Schlussfolgerung
In diesem Artikel haben Sie verschiedene Funktionen von Linux dig
kennengelernt Befehl zum effektiven Abfragen von DNS-Servern. Sie haben auch das Anpassen Ihres gewünschten dig
angesprochen Befehlsausgabe mit mehreren Flags.
An diesem Punkt wissen Sie bereits, wie Sie Linux dig
nutzen können Befehl in Ihrer täglichen Arbeit, insbesondere bei der Behebung von Netzwerkproblemen.
Hören Sie hier jedoch nicht auf. Mit Linux dig
können Sie noch mehr erreichen Befehl. Warum nicht den dig
verwenden Befehl zum Durchführen einer umgekehrten DNS-Suche, um einen Domänennamen zu finden, der einer IP-Adresse zugeordnet ist?