Connect with us

Wie man

Verwendung des Befehls dig unter Linux

So verwenden Sie Curl zum Herunterladen von Dateien über die Linux-Befehlszeile

Fatmawati Achmad Zaenuri / Shutterstock

Das Linux dig Mit diesem Befehl können Sie DNS-Server abfragen und DNS-Suchvorgänge durchführen. Sie können auch die Domain finden, zu der eine IP-Adresse zurückführt. Wir zeigen Ihnen wie!

So funktioniert der Befehl dig

Die Leute benutzen das Linux dig Befehl zum Abfragen von DNS-Servern (Domain Name System). dig ist eine Abkürzung für Domain Information Groper. Mit digSie können DNS-Server nach Informationen zu verschiedenen DNS-Einträgen abfragen, einschließlich Hostadressen, E-Mail-Austausch, Nameservern und zugehörigen Informationen. Es sollte ein Tool zur Diagnose von DNS-Problemen sein. Sie können es jedoch verwenden, um mehr über DNS zu erfahren, eines der zentralen Systeme, die den Internet-Routing-Verkehr aufrechterhalten.

Das Internet verwendet IP-Adressen (Internet Protocol), um „Standorte“ im Web zu identifizieren, aber die Benutzer verwenden Domainnamen. Wenn Sie einen Domainnamen in eine Anwendung wie einen Webbrowser oder einen SSH-Client eingeben, muss etwas vom Domainnamen in die tatsächliche IP-Adresse übersetzt werden. Hier kommt das Domain Name System ins Spiel.

Wenn Sie einen Domainnamen mit einem mit dem Internet verbundenen Programm verwenden, kann Ihr lokaler Router diesen nicht auflösen (es sei denn, er wurde aus einer vorherigen Anforderung zwischengespeichert). Ihr Router fragt also entweder den DNS-Server Ihres Internetdienstanbieters (ISP) oder einen anderen ab, 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, befindet sich die Antwort möglicherweise im Cache. In diesem Fall werden dieselben Informationen einfach an Ihr Programm zurückgesendet.

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

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

Der Domänenserver der obersten Ebene sendet die Details des autorisierender Nameserver (wo die Details der Domäne gespeichert sind) zurück zum DNS-Vorläuferserver. Der DNS-Server fragt dann den autorisierenden Nameserver ab, auf dem sich die Zone der Domäne befindet, die Sie ursprünglich in Ihr Programm eingegeben haben. Der autorisierende Nameserver sendet die IP-Adresse an den DNS-Server zurück, der sie wiederum an Sie zurücksendet.

Dig installieren

dig wurde bereits auf unseren Computern Ubuntu 18.04 und Fedora 30 installiert. Wir mussten es jedoch mit dem folgenden Befehl auf dem Manjaro 18.04-Computer installieren:

sudo pacman -Sy bind-tools

Erste Schritte mit dig

In unserem ersten Beispiel geben wir die IP-Adressen zurück, die einem Domainnamen zugeordnet sind. Oft sind einem einzelnen Domainnamen mehrere IP-Adressen zugeordnet. Dies ist häufig der Fall, wenn beispielsweise der Lastausgleich verwendet wird.

Wir nehmen das +short Abfrageoption, wie unten gezeigt, die uns eine knappe Antwort gibt:

dig howtogeek.com +short

Alle mit der Domain howtogeek.com verknüpften IP-Adressen werden für uns aufgelistet. Am anderen Ende des Spektrums, wenn wir die verwenden +short Abfrageoption, die Ausgabe ist ziemlich ausführlich.

Also geben wir Folgendes ein, um es durchzuleiten less::

dig howtogeek.com | less

Die Ausgabe wird in angezeigt less, Wie nachfolgend dargestellt.

Hier ist die vollständige Liste:

; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> howtogeek.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12017
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;howtogeek.com. IN A

;; ANSWER SECTION:
howtogeek.com. 3551 IN A 151.101.194.217
howtogeek.com. 3551 IN A 151.101.130.217
howtogeek.com. 3551 IN A 151.101.66.217
howtogeek.com. 3551 IN A 151.101.2.217

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Sun Mar 22 07:44:37 EDT 2020
;; MSG SIZE rcvd: 106

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

Header

Schauen wir uns zunächst an, was wir in der Kopfzeile haben:

; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> howtogeek.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12017
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

Das alles bedeutet Folgendes:

  • Erste Linie: Die Version von dig und die Domain, die abgefragt wurde.
  • Globale Optionen: Wie wir sehen werden, können Sie verwenden dig um mehrere Domains gleichzeitig abzufragen. Diese Zeile zeigt die Optionen, die auf alle Domänenabfragen angewendet wurden. In unserem einfachen Beispiel war dies nur die Standardeinstellung +cmd (Befehls-) Option.
  • Opcode: Abfrage: Dies ist die Art der angeforderten Operation, die in diesem Fall a war query. Dieser Wert kann auch sein iquery für eine inverse Abfrage oder status Wenn Sie nur den Status des DNS-Systems testen.
  • Status: Fehler: Es gab keine Fehler und die Anfrage wurde korrekt gelöst.
  • ID: 12017: Diese zufällige ID verbindet die Anfrage und die Antwort miteinander.
  • Flaggen: qr rd ra: Diese stehen für query, recursion desired, und recursion available. Rekursion ist eine Form der DNS-Suche (die andere ist iterativ). Sie könnten auch sehen AA, was für Authoritative Answer steht, was bedeutet, dass ein Authoritative Name Server die Antwort bereitgestellt hat.
  • Abfrage: 1: Die Anzahl der Abfragen in dieser Sitzung, die eins war.
  • Antwort: 4: Die Anzahl der Antworten in dieser Antwort beträgt vier.
  • Behörde: 0: Die Anzahl der Antworten, die von einem autorisierenden Nameserver kamen, war 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.)

Opt Pseudosektion

Als nächstes sehen wir Folgendes in der Opt-Pseudosektion:

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494

Lassen Sie uns das zusammenfassen:

  • EDNS: Version 0: Die Version von Erweiterungssystem für DNS das wird benutzt. EDNS überträgt erweiterte Daten und Flags durch Erweiterung der Größe des Benutzerdatagramm-Protokoll (UDP) Pakete. Dies wird durch ein Flag mit variabler Größe angezeigt.
  • Flaggen: Es werden keine Flags verwendet.
  • udp:: 4096: Die UDP-Paketgröße.

Fragenbereich

Im Abschnitt Frage sehen wir Folgendes:

;; QUESTION SECTION:
;howtogeek.com. IN A

Folgendes bedeutet dies:

  • howtogeek.com: Der Domainname, den wir abfragen.
  • IM: Wir führen eine Internetklassenabfrage durch.
  • EIN: Sofern nicht anders angegeben, dig fordert einen A-Eintrag (Adresse) vom DNS-Server an.

Antwortabschnitt

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

howtogeek.com. 3551 IN A 151.101.194.217
howtogeek.com. 3551 IN A 151.101.130.217
howtogeek.com. 3551 IN A 151.101.66.217
howtogeek.com. 3551 IN A 151.101.2.217

Diese Antworten bedeuten Folgendes:

  • 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 es abläuft, müssen die Daten in einer Antwort auf eine Anfrage verwendet werden, bis sie vom DNS-Server aktualisiert wurden.
  • IM: Wir haben eine Internetklassenabfrage durchgeführt.
  • EIN: Wir haben den DNS-Server um einen A-Eintrag gebeten.

Statistikbereich

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

;; Query time: 0 msec 
;; SERVER: 127.0.0.53#53(127.0.0.53) 
;; WHEN: Sun Mar 22 07:44:37 EDT 2020 
;; MSG SIZE rcvd: 106

Folgendes haben wir:

  • Abfragezeit: 0 ms: Die Zeit, die benötigt wurde, 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-Anforderungen an die jeweils konfigurierten Upstream-DNS-Server weitergeleitet. Auf dem Manajro-Testcomputer lautete die hier aufgeführte Adresse 8.8.8.8 # 53 Der öffentliche DNS-Dienst von Google.
  • WANN: So 22. März 07:44:37 EDT 2020: Wann wurde die Anfrage gestellt.
  • MSG SIZE rcvd: 106: Die Größe der vom DNS-Server empfangenen Nachricht.

Selektiv sein

Sie müssen sich nicht mit den beiden Extremen von engen Lippen und Geschwätz zufrieden geben. Das dig Mit dem Befehl können Sie Abschnitte selektiv in die Ergebnisse einschließen oder aus diesen ausschließen.

Die folgenden Abfrageoptionen entfernen diesen Abschnitt aus den Ergebnissen:

  • + Kommentare: Keine Kommentarzeilen anzeigen.
  • + Nichtautorität: Zeigen Sie den Autoritätsabschnitt nicht an.
  • + zusätzlich: Zeigen Sie den zusätzlichen Abschnitt nicht an.
  • + Nostaten: Zeigen Sie den Statistikbereich nicht an.
  • + noanswer: Zeigen Sie den Antwortbereich nicht an.
  • + noall: Zeig nichts!

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

Sie können dann die folgenden inklusiven Abfrageoptionen verwenden, um diejenigen, die Sie wieder sehen möchten, wieder einzuschalten:

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

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

dig howtogeek.com +nocomments

Wenn wir die verwenden +noall Abfrageoption allein, wie unten gezeigt, erhalten wir keine nützliche Ausgabe:

dig howtogeek.com +noall

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

dig howtogeek.com +noall +answer

Wenn wir Folgendes eingeben, um es einzuschalten +statsWir sehen auch den Statistikbereich:

dig howtogeek.com +noall +answer +stats

Das +noall +answer Kombination wird oft verwendet. Sie können der Befehlszeile nach Bedarf weitere Abschnitte hinzufügen. Wenn Sie das Tippen vermeiden möchten +noall +answer bei jeder Verwendung in der Befehlszeile digkönnen Sie sie in eine Konfigurationsdatei mit dem Namen „.digrc“ einfügen. Es befindet sich in Ihrem Home-Verzeichnis.

Wir geben Folgendes ein, um eine zu erstellen echo::

echo "+noall +answer" > $HOME/.digrc

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

cat .digrc

Diese beiden Optionen werden nun auf alle zukünftigen Verwendungen von angewendet dig, Wie nachfolgend dargestellt:

dig ubuntu.org
dig linux.org
dig github.com

Dies dig Die Konfigurationsdatei wird für die verbleibenden Beispiele in diesem Artikel verwendet.

DNS-Einträge

Die Informationen werden an Ihre zurückgegeben dig Anforderungen werden von verschiedenen Arten von Einträgen abgerufen, die auf dem DNS-Server gespeichert sind. Es sei denn, wir bitten um etwas anderes, dig fragt den A-Datensatz (Adressdatensatz) ab. Im Folgenden sind die Arten von Datensätzen aufgeführt, die häufig verwendet werden dig::

  • Ein Rekord: Verknüpft die Domain mit einer IP-Adresse der Version 4.
  • MX-Rekord: Mail Exchange zeichnet direkte E-Mails auf, die an Domänen an den richtigen Mailserver gesendet werden.
  • NS-Rekord: Nameserver-Einträge delegieren eine Domäne (oder Subdomäne) an eine Reihe von DNS-Servern.
  • TXT-Aufzeichnung: Textdatensätze speichern textbasierte Informationen zur Domäne. In der Regel werden sie verwendet, um gefälschte oder gefälschte E-Mails zu unterdrücken.
  • SOA-Rekord: Start of Authority-Datensätze können viele Informationen über die Domäne enthalten. Hier finden Sie den primären Nameserver, den Verantwortlichen, einen Zeitstempel für Änderungen, die Häufigkeit von Zonenaktualisierungen und eine Reihe von Fristen für Wiederholungsversuche und Abbrüche.
  • TTL: Die Lebensdauer 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.
  • IRGENDEIN: Das sagt dig um jede Art von DNS-Eintrag zurückzugeben, die es kann.

Durch die Angabe des Datensatztyps A wird die Standardaktion nicht geändert, bei der der Adressdatensatz abgefragt und die IP-Adresse abgerufen wird, wie unten gezeigt:

dig redhat.com A

Zum Abfragen der Mail-Exchange-Datensätze verwenden wir das folgende MX-Flag:

dig yahoo.com MX

Das Nameserver-Flag gibt den folgenden Namen der Stammnamenserver zurück, die der Domäne der obersten Ebene zugeordnet sind:

dig fedora.com NS

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

dig manjaro.com SOA

Das TTL-Flag zeigt uns die Zeit an, die für die Daten im Cache des DNS-Servers benötigt wird. Wenn wir eine Reihe von Anfragen stellen, wird die Lebenszeit auf Null reduziert und wir kehren dann zu ihrem Startwert zurück.

Wir geben Folgendes ein:

dig usa.gov TTL

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

dig usa.gov TXT

Angeben des DNS-Servers

Wenn Sie einen bestimmten DNS-Server für Ihre Anfrage verwenden möchten, können Sie das at-Zeichen (@) um es weiterzugeben dig als Befehlszeilenparameter.

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

dig usa.gov +stats

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

dig @8.8.8.8 usa.gov +stats

Verwenden von dig mit mehreren Domänen

Wir können mehrere Domains an übergeben dig in der Befehlszeile, wie unten gezeigt:

dig ubuntu.org fedora.org manjaro.com

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

Unsere Datei heißt „Domains.txt“. Wir werden verwenden cat um seinen Inhalt zu zeigen und ihn dann an weiterzugeben dig mit dem -f (Datei-) Option. Wir geben Folgendes ein:

cat domains.txt
dig -f domains.txt

DNS-Lookups umkehren

Wenn Sie eine IP-Adresse haben und wissen möchten, wohin diese führt, können Sie eine umgekehrte DNS-Suche durchführen. Wenn es in einen Server aufgelöst wird, der bei einem DNS-Server registriert ist, können Sie möglicherweise dessen Domäne herausfinden.

Ob dies möglich ist, hängt vom Vorhandensein eines PTR (Zeigerdatensatz) ab. PTRs lösen eine IP-Adresse in a auf voll qualifizierter Domainname. Da diese jedoch nicht obligatorisch sind, sind sie nicht immer in einer Domain vorhanden.

Mal sehen, ob wir herausfinden können, wohin uns die IP-Adresse 209.51.188.148 führt. Wir geben Folgendes mit ein -x Option (Reverse Lookup):

dig -x 209.51.188.148

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

Weil ein PTR ein DNS-Eintrag ist und wir wissen dig kann bestimmte DNS-Einträge anfordern, konnten wir nicht einfach fragen dig um die PTR für uns abzurufen? Ja, wir können, aber es erfordert etwas mehr Arbeit.

Wir müssen die IP-Adresse in umgekehrter Reihenfolge und Richtung angeben .in-addr.arpa am Ende wie unten gezeigt:

dig ptr 148.188.51.209.in-addr.arpa

Wir erhalten das gleiche Ergebnis; es dauerte nur ein bisschen mehr Mühe.

Kannst du es graben?

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

Continue Reading
Click to comment

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Tendencia