GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Nützliche Linux-Dig-Beispiele für den Netzwerkadministrator

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.

enthalten
apt 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?


Linux
  1. 16 nützliche „cp“-Befehlsbeispiele für Linux-Anfänger

  2. 9 Nützliche Beispiele für den Split-Befehl in Linux

  3. So verwenden Sie den id-Befehl unter Linux:5 nützliche Beispiele

  4. 10 Nützliche Sar (Sysstat)-Beispiele für die UNIX/Linux-Leistungsüberwachung

  5. dig-Befehlsbeispiele in Linux

10 Nützliche Beispiele für den Sort-Befehl in Linux

15 super nützliche Beispiele für den Find-Befehl in Linux

Effektive Linux-Port-Scans für den Netzwerkadministrator

Nützliche tcpdump-Linux-Beispiele für den Netzwerkadministrator

10 Beispiele für Linux-brctl-Befehle für die Ethernet-Netzwerkbrücke

10 Linux-DIG-Befehlsbeispiele für die DNS-Suche