Ein stilisiertes Terminalfenster auf einem Linux-System.

Fatmawati Achmad Zaenuri/Shutterstock

Das Linux |_+_| Mit dem Befehl können Sie DNS-Server abfragen und DNS-Lookups durchführen. Sie können auch die Domäne finden, auf die eine IP-Adresse zurückführt. Wir zeigen Ihnen wie!



So funktioniert der dig-Befehl

Die Leute benutzen das Linux |_+_| Befehl zum Abfragen Domain-Name-System (DNS) Server. |_+_| ist ein Akronym für Domain-Informationen Groper . Mit |_+_| können Sie DNS-Server nach Informationen zu verschiedenen DNS-Einträgen abfragen, darunter Hostadressen, E-Mail-Austausch, Nameserver und zugehörige Informationen. Es sollte ein Tool zur Diagnose von DNS-Problemen sein. Sie können es jedoch verwenden, um herumzustöbern und mehr über DNS zu erfahren, das eines der zentralen Systeme ist, das den Internetverkehr weiterleitet.

Das Internet nutzt Internetprotokoll (IP)-Adressen um Standorte im Web zu identifizieren, aber die Leute verwenden Domänennamen. Wenn Sie einen Domänennamen in eine Anwendung eingeben, z. B. in einen Webbrowser oder SSH-Client , muss etwas vom Domainnamen in die tatsächliche IP-Adresse übersetzt werden. Hier kommt das Domain Name System ins Spiel.

Wenn Sie einen Domänennamen mit einem mit dem Internet verbundenen Programm verwenden, kann Ihr lokaler Router ihn nicht auflösen (es sei denn, er wurde von einer vorherigen Anfrage zwischengespeichert). Ihr Router fragt also entweder den DNS-Server Ihres Internet Service Providers (ISP) ab oder einen anderen, für den Sie Ihr System konfiguriert haben. Diese werden als DNS-Vorläuferserver bezeichnet.

Wenn der DNS-Server kürzlich dieselbe Anfrage von einer anderen Person auf demselben Computer erhalten hat, lautet die Antwort möglicherweise in es ist Zwischenspeicher. Wenn dies der Fall ist, werden dieselben Informationen einfach an Ihr Programm zurückgesendet.

Wenn der DNS-Vorläuferserver die Domäne nicht in seinem Cache finden kann, kontaktiert er einen DNS Root-Nameserver . Ein Root-Server enthält nicht die Informationen, die zum Auflösen von Domänennamen in IP-Adressen erforderlich sind, aber er enthält Listen von Servern, die bei Ihrer Anfrage helfen können.

Anzeige

Der Root-Server schaut auf die Top-Level-Domain zu dem Ihr Domainname gehört, z. B. .COM, .ORG, .CO.UK usw. Anschließend sendet er eine Liste der Domänenserver der obersten Ebene, die diese Domänentypen verarbeiten, zurück an den DNS-Vorläuferserver. Der DNS-Vorläuferserver kann dann seine Anfrage erneut an einen Domänenserver der obersten Ebene stellen.

Der Top-Level-Domain-Server sendet die Details der autoritativer Nameserver (wo die Details der Domäne gespeichert sind) zurück zum DNS-Vorläuferserver. Der DNS-Server fragt dann den autoritativen Nameserver ab, der die Zone der Domain hostet, die Sie ursprünglich in Ihr Programm eingegeben haben. Der autoritative Nameserver sendet die IP-Adresse zurück an den DNS-Server, der sie wiederum an Sie zurücksendet.

Sie installieren

|_+_| war bereits auf unseren Computern Ubuntu 18.04 und Fedora 30 installiert. Allerdings mussten wir es auf dem Manjaro 18.04 Computer mit folgendem Befehl installieren:

dig

Erste Schritte mit dig

In unserem ersten Beispiel geben wir die einem Domänennamen zugeordneten IP-Adressen zurück. Häufig sind einem einzigen Domänennamen mehrere IP-Adressen zugeordnet. Dies geschieht häufig, wenn beispielsweise Load-Balancing verwendet wird.

Wir verwenden die |_+_| Abfrageoption, wie unten gezeigt, die uns eine knappe Antwort gibt:

dig

Alle IP-Adressen, die mit der Domain howtogeek.com verbunden sind, werden für uns aufgelistet. Am anderen Ende des Spektrums, wenn wir nicht benutze die |_+_| query-Option ist die Ausgabe ziemlich ausführlich.

Anzeige

Wir geben also Folgendes ein, um es durch |_+_| zu leiten:

dig

Die Ausgabe wird in |_+_| angezeigt, wie unten gezeigt.

Hier ist die vollständige Auflistung:

dig

Lassen Sie uns das Stück für Stück zerlegen.

Header

Schauen wir uns zuerst die Kopfzeile an:

dig

Das alles bedeutet nun Folgendes:

    Erste Linie:Die Version von |_+_| und die abgefragte Domäne. Globale Optionen:Wie wir sehen werden, können Sie |_+_| . verwenden um mehrere Domänen gleichzeitig abzufragen. In dieser Zeile werden die Optionen angezeigt, die auf alle Domänenabfragen angewendet wurden. In unserem einfachen Beispiel war es nur die Standardeinstellung |_+_| (Befehls-)Option. Opcode: Abfrage:Dies ist der angeforderte Vorgangstyp, in diesem Fall ein |_+_|. Dieser Wert kann auch |_+_| . sein für eine inverse Abfrage oder |_+_| wenn Sie nur den Status des DNS-Systems testen. Status: Kein Fehler:Es sind keine Fehler aufgetreten und die Anfrage wurde korrekt gelöst. ID: 12017: Diese zufällige ID verknüpft Anfrage und Antwort. Flaggen: qr rd ra:Diese stehen für |_+_|, |_+_| und |_+_|. Rekursion ist eine Form der DNS-Suche (die andere ist iterativ). Möglicherweise sehen Sie auch |_+_|, was für autoritative Antwort steht, was bedeutet, dass ein autoritativer Nameserver die Antwort bereitgestellt hat. Abfrage: 1:Die Anzahl der Abfragen in dieser Sitzung, die einer war. Antwort: 4:Die Anzahl der Antworten in dieser Antwort beträgt vier. Autorität: 0:Die Anzahl der Antworten, die von einem autoritativen Nameserver kamen, in diesem Fall null. Die Antwort wurde aus dem Cache eines DNS-Vorläuferservers zurückgegeben. Die Antwort enthält keinen maßgeblichen Abschnitt. Zusätzlich: 1:Es gibt eine zusätzliche Information. (Seltsamerweise wird nichts aufgelistet, es sei denn, dieser Wert ist zwei oder höher.)

Pseudosektion aktivieren

Als nächstes sehen wir Folgendes im Opt-Pseudo-Abschnitt:

+short

Lassen Sie uns das aufschlüsseln:

    EDNS: Version 0:Die Version von Erweiterungssystem für DNS das wird verwendet. EDNS überträgt erweiterte Daten und Flags, indem es die Größe des Benutzer-Datagramm-Protokoll (UDP-)Pakete. Dies wird durch ein Flag variabler Größe angezeigt. Flaggen:Es werden keine Flaggen verwendet. udp: 4096: Die UDP-Paketgröße.

Fragenbereich

Im Abschnitt Frage sehen wir Folgendes:

+short

Das bedeutet:

    howtogeek.com:Der von uns abgefragte Domainname. IN:Wir machen eine Internetklassenabfrage. ZU:Sofern nicht anders angegeben, |_+_| fordert einen A-(Adress-)Eintrag vom DNS-Server an.

Antwortbereich

Der Abschnitt Antwort enthält die folgenden vier Antworten, die wir vom DNS-Server erhalten haben:

less

Das bedeuten diese Antworten:

    3551:Dies ist die Time to Live (TTL), eine 32-Bit-Ganzzahl mit Vorzeichen, die das Zeitintervall enthält, für das ein Datensatz zwischengespeichert werden kann. Wenn sie abläuft, müssen die Daten in einer Antwort auf eine Anfrage verwendet werden, bis sie vom DNS-Server aktualisiert werden. IN:Wir haben eine Internet-Klassenabfrage gemacht. ZU:Wir haben nach einem A-Record vom DNS-Server gefragt.

Statistikbereich

Statistik ist der letzte Abschnitt und enthält die folgenden Informationen:

less

Das haben wir:

    Abfragezeit: 0 ms:Die Zeit, die es gedauert hat, um die Antwort zu erhalten. SERVER: 127.0.0.53#53(127.0.0.53):Die IP-Adresse und Portnummer des DNS-Servers, der geantwortet hat. In diesem Fall zeigt es auf den lokalen Caching-Stub-Resolver. Dadurch werden DNS-Anfragen an die konfigurierten Upstream-DNS-Server weitergeleitet. Auf dem Manajro-Testcomputer lautete die hier aufgeführte Adresse 8.8.8.8#53, also Der öffentliche DNS-Dienst von Google . WANN: So 22. März 07:44:37 EDT 2020:Als die Anfrage gestellt wurde. MSG-GRÖSSE rcvd: 106:Die Größe der vom DNS-Server empfangenen Nachricht.

Selektiv sein

Sie müssen sich nicht mit den beiden Extremen von schmallippig und geschwätzig zufrieden geben. Die |_+_| Mit dem Befehl können Sie Abschnitte selektiv in die Ergebnisse ein- oder ausschließen.

Die folgenden Abfrageoptionen entfernen diesen Abschnitt aus den Ergebnissen:

    +keine Kommentare:Keine Kommentarzeilen anzeigen. +keine Autorität:Den Autoritätsabschnitt nicht anzeigen. +keinzusätzlich:Zeigen Sie den zusätzlichen Abschnitt nicht an. + nostats:Den Statistikbereich nicht anzeigen. +keine Antwort:Antwortbereich nicht anzeigen. + neinalles:Nichts zeigen!
Anzeige

Die |_+_| Die Abfrageoption wird normalerweise mit einer der oben genannten kombiniert, um einen Abschnitt in die Ergebnisse aufzunehmen. Anstatt also eine lange Zeichenfolge von Abfrageoptionen einzugeben, um mehrere Abschnitte zu deaktivieren, können Sie |_+_| . verwenden um sie alle auszuschalten.

Sie können dann die folgenden inklusiven Abfrageoptionen verwenden, um diejenigen zu aktivieren, die Sie wieder anzeigen möchten:

    +Kommentare:Kommentarzeilen anzeigen. +Autorität:Zeigen Sie den Autoritätsabschnitt an. +zusätzlich:Zeigen Sie den zusätzlichen Abschnitt an. +Statistiken:Zeigen Sie den Statistikbereich an. +Antwort:Zeigen Sie den Antwortabschnitt an. +alle:Alles zeigen.

Wir geben Folgendes ein, um eine Anfrage zu stellen und die Kommentarzeilen auszuschließen:

dig

Wenn wir die |_+_| . verwenden query-Option allein, wie unten gezeigt, erhalten wir keine nützliche Ausgabe:

dig

Wir können selektiv die Abschnitte hinzufügen, die wir sehen möchten. Um den Antwortabschnitt hinzuzufügen, geben wir Folgendes ein:

heic dateien windows 10 öffnen
+cmd

Wenn wir Folgendes eingeben, um |_+_| einzuschalten, sehen wir auch den Statistikabschnitt:

query

Anzeige

Die |_+_| Kombination wird oft verwendet. Sie können der Befehlszeile nach Bedarf weitere Abschnitte hinzufügen. Wenn Sie vermeiden möchten, |_+_| . einzugeben auf der Befehlszeile jedes Mal, wenn Sie |_+_| verwenden, können Sie sie in eine Konfigurationsdatei namens .digrc einfügen. Es befindet sich in Ihrem Home-Verzeichnis.

Wir geben Folgendes ein, um eine zu erstellen mit |_+_| :

iquery

Wir können dann Folgendes eingeben, um den Inhalt zu überprüfen:

status

Diese beiden Optionen werden nun auf alle zukünftigen Verwendungen von |_+_| angewendet, wie unten gezeigt:

query recursion desired recursion available

Dieses |_+_| Konfigurationsdatei wird für die verbleibenden Beispiele in diesem Artikel verwendet.

DNS-Einträge

Die an Ihr |_+_| . zurückgegebenen Informationen Anfragen werden aus verschiedenen Arten von Datensätzen gezogen, die auf dem DNS-Server gespeichert sind. Sofern wir nicht nach etwas anderem fragen, |_+_| fragt den A-(Adress-)Datensatz ab. Die folgenden Arten von Datensätzen werden häufig mit |_+_| verwendet:

    Ein Rekord:Verknüpft die Domäne mit einer IP-Adresse der Version 4. MX-Eintrag:E-Mail-Austauschdatensätze leiten E-Mails, die an Domänen gesendet werden, an den richtigen E-Mail-Server. NS-Rekord:Nameserver-Einträge delegieren eine Domäne (oder Subdomäne) an eine Reihe von DNS-Servern. TXT-Eintrag:Texteinträge speichern textbasierte Informationen zur Domäne. In der Regel werden sie verwendet, um gefälschte oder gefälschte E-Mails zu unterdrücken. SOA-Record:Der Beginn von Normdatensätzen kann viele Informationen über die Domäne enthalten. Hier finden Sie den primären Nameserver, die verantwortliche Partei, einen Zeitstempel für Änderungen, die Häufigkeit von Zonenaktualisierungen und eine Reihe von Zeitlimits für Wiederholungen und Abbrüche. TTL:Time to live ist eine Einstellung für jeden DNS-Eintrag, die angibt, wie lange ein DNS-Vorläuferserver jede DNS-Abfrage zwischenspeichern darf. Nach Ablauf dieser Zeit müssen die Daten für nachfolgende Anforderungen aktualisiert werden. BELIEBIG:Dies sagt |_+_| um jeden möglichen DNS-Eintrag zurückzugeben.
Anzeige

Die Angabe des A-Datensatztyps ändert nichts an der Standardaktion, die darin besteht, den Adressdatensatz abzufragen und die IP-Adresse abzurufen, wie unten gezeigt:

AA

Um die E-Mail-Austauschdatensätze abzufragen, verwenden wir das folgende MX-Flag:

dig

Das Nameserver-Flag gibt den folgenden Namen der Root-Nameserver zurück, die der Top-Level-Domain zugeordnet sind:

dig

Um den Beginn des Normdatensatzes abzufragen, geben wir das folgende SOA-Flag ein:

+noall

Das TTL-Flag zeigt uns die Lebensdauer der Daten im Cache des DNS-Servers an. Wenn wir eine Reihe von Anfragen stellen, sehen wir, wie sich die Lebenszeit auf null reduziert, und springen dann zu ihrem Ausgangswert zurück.

Wir geben folgendes ein:

+noall

Um die Textdatensätze anzuzeigen, geben wir das TX-Flag ein:

+noall

Angabe des DNS-Servers

Wenn Sie einen bestimmten DNS-Server für Ihre Anfrage verwenden möchten, können Sie ihn mit dem at-Zeichen (|_+_|) an |_+_| . übergeben als Befehlszeilenparameter.

Anzeige

Mit dem Standard-DNS-Server (siehe unten), |_+_| verweist auf den lokalen Caching-Stub-Resolver unter 127.0.0.53.

+stats

Jetzt geben wir Folgendes ein, um den öffentlichen DNS-Server von Google unter 8.8.8.8 zu verwenden:

+noall +answer

Verwenden von dig mit mehreren Domänen

Wir können mehrere Domänen an |_+_| . übergeben in der Befehlszeile, wie unten gezeigt:

+noall +answer

Wenn Sie regelmäßig eine Reihe von Domänen überprüfen, können Sie diese in einer Textdatei speichern und an |_+_| übergeben. Alle Domänen in der Datei werden der Reihe nach überprüft.

Unsere Datei heißt domains.txt. Wir verwenden |_+_| um seinen Inhalt anzuzeigen und ihn dann an |_+_| . weiterzugeben mit dem |_+_| (Datei)-Option. Wir geben folgendes ein:

dig echo

Reverse DNS-Lookups

Wenn Sie eine IP-Adresse haben und wissen möchten, wohin sie geht, können Sie eine Reverse-DNS-Suche versuchen. Wenn es zu einem Server aufgelöst wird, der bei einem DNS-Server registriert ist, können Sie möglicherweise seine Domäne herausfinden.

Anzeige

Ob Sie dies können, hängt vom Vorhandensein eines PTR (Pointer Record) ab. PTRs lösen eine IP-Adresse in a . auf vollqualifizierter Domainname . Da diese jedoch nicht obligatorisch sind, sind sie nicht immer auf einer Domain vorhanden.

Mal sehen, wo uns die IP-Adresse 209.51.188.148 hinführt. Wir geben Folgendes ein, indem wir |_+_| . verwenden (Reverse-Lookup) Option:

dig

Presto! Die IP-Adresse wird zu gnu.org aufgelöst.

Weil ein PTR ein DNS-Eintrag ist und wir wissen |_+_| kann bestimmte DNS-Einträge anfordern, könnten wir nicht einfach fragen |_+_| um den PTR für uns abzurufen? Ja, das können wir, aber es braucht ein bisschen mehr Arbeit.

Wir müssen die IP-Adresse in umgekehrter Reihenfolge angeben und |_+_| am Ende, wie unten gezeigt:

dig

Anzeige

Wir erhalten das gleiche Ergebnis; es hat nur etwas mehr aufwand gekostet.

Kannst du es graben?

Wir alle nutzen das Internet täglich, und neugierige Köpfe haben sich oft gefragt, wie die Magie passiert, wenn wir den Namen einer Website in einen Browser eingeben. Mit |_+_| können Sie die Prozesse der Netzwerkbeschwörung erkunden.

Linux-Befehle
Dateien Teer · pv · Katze · tac · chmod · Griff · unterschied · sed · Mit · Mann · geschoben · popd · fsck · Testdisk · seq · fd · pandoc · CD · $PFAD · awk · beitreten · jq · falten · einzigartig · Journalctl · Schwanz · Zustand · ls · fstab · rauswerfen · weniger · chgrp · chown · rev · suchen · Saiten · Typ · umbenennen · Postleitzahl · entpacken · montieren · ummount · Installieren · fdisk · mkfs · rm · rmdir · rsync · df · gpg · wir · Nano · mkdir · von · ln · Patch · Konvertieren · rclon · Fetzen · SRM
Prozesse alias · Bildschirm · oben · nett · renice · Fortschritt · strace · System · tmux · chsh · Geschichte · beim · Charge · kostenlos · die · dmesg · Benutzermod · ps · chroot · xargs · tty · kleiner Finger · lsof · vmstat · Auszeit · Mauer · ja · töten · Schlaf · sudo · seine · Zeit · groupadd · Benutzermod · Gruppen · lshw · stilllegen · neu starten · halt · ausschalten · passwd · lscpu · crontab · Datum · bg · fg
Vernetzung netstat · Klingeln · Traceroute · ip · ss · Wer ist · fail2ban · bmon · Sie · Finger · nmap · ftp · Locken · wget · Wer · Wer bin ich · In · iptables · ssh-keygen · ufw

VERBUNDEN: Beste Linux-Laptops für Entwickler und Enthusiasten

WEITER LESEN