Ausführliche Erläuterung des Dig-Befehls zur Auflösung von DNS-Domänennamen auf Anwendungsebene unter Linux

Fragen Sie die DNS-Informationen eines einzelnen Domänennamens ab


dig Der Befehl wird am häufigsten zum Abfragen von Informationen zu einem einzelnen Host verwendet.

linuxidc@linuxidc:~$ dig www.linuxidc.com

; < <>> DiG 9.11.3-1Ubuntu1.5-Ubuntu < <>> www.linuxidc.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 17774
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

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

;; ANSWER SECTION:
www.linuxidc.com. 5 IN A 122.228.238.15
www.linuxidc.com. 5 IN A 106.42.25.203

;; Query time: 10 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Sun Mar 03 10:55:35 CST 2019
;; MSG SIZE  rcvd: 77

Die Standardausgabeinformationen des Befehls dig sind relativ umfangreich und können grob in 5 Teile unterteilt werden.

  • Im ersten Teil werden die Version des dig-Befehls und die eingegebenen Parameter angezeigt.
  • Der zweite Teil zeigt einige technische Details, die vom Dienst zurückgegeben werden. Das wichtigere ist der Status. Wenn der Statuswert NOERROR ist, bedeutet dies, dass die Abfrage erfolgreich beendet wurde.
  • „FRAGENABSCHNITT“ im dritten Teil zeigt den Domainnamen an, den wir abfragen möchten
  • Der vierte Teil „ANTWORTABSCHNITT“ ist das Ergebnis der Abfrage
  • Der fünfte Teil enthält einige statistische Informationen zu dieser Abfrage, z. B. wie lange es gedauert hat, welcher DNS-Server abgefragt wurde , zu welchem ​​Zeitpunkt die Abfrage durchgeführt wurde usw.

Standardmäßig fragt der Befehl dig A-Datensätze ab. Das in der obigen Abbildung gezeigte A zeigt an, dass der abgefragte Datensatztyp A-Datensatz ist. Bevor wir versuchen, andere Datensatztypen abzufragen, sollten wir uns zunächst mit den gängigen DNS-Eintragstypen vertraut machen.

Gängige Arten von DNS-Einträgen


Geben Sie den Zweck ein

Ein Adressdatensatz wird verwendet, um die IPv4-Adresse des Domänennamens anzugeben. Wenn Sie den Domänennamen auf eine IP-Adresse verweisen müssen, müssen Sie einen A-Datensatz hinzufügen.
AAAA wird verwendet, um den IPv6-Adressdatensatz anzugeben, der dem Hostnamen (oder Domänennamen) entspricht.

CNAME Wenn Sie einen Domänennamen auf einen anderen Domänennamen verweisen und dann die IP-Adresse eines anderen Domänennamens angeben müssen, müssen Sie einen CNAME-Eintrag hinzufügen.

Ein CNAME wird oft als Alias ​​bezeichnet. Sie können einen Alias ​​für einen Host festlegen. Wenn Sie beispielsweise test.mydomain.com so festlegen, dass es auf einen Host www.rddns.com verweist, können Sie test.mydomain.com in Zukunft verwenden, um auf www.rddns.com zuzugreifen.

veranschaulichen:

  • Die Zielhostadresse des CNAME kann nur den Hostnamen verwenden, nicht die IP-Adresse.
  • Es dürfen keine anderen Präfixe vor dem Hostnamen stehen, wie zum Beispiel: http:// usw. sind nicht zulässig.
  • A-Datensätze haben Vorrang vor CNAME-Datensätzen. Das heißt, wenn eine Hostadresse sowohl einen A-Eintrag als auch einen CNAME-Eintrag hat, wird der CNAME-Eintrag nicht wirksam.


MX Wenn Sie ein Postfach einrichten müssen, damit das Postfach E-Mails empfangen kann, müssen Sie einen MX-Eintrag hinzufügen.
NS-Domänennamenservereinträge. Wenn Sie den Subdomänennamen zur Auflösung an andere DNS-Server übergeben müssen, müssen Sie NS-Einträge hinzufügen.
SOA SOA Dieser Eintrag ist in allen Kulturdateien obligatorisch. Es muss der erste Datensatz in einer Datei sein.
TXT kann alles schreiben, die Länge ist auf 255 begrenzt. Die überwiegende Mehrheit der TXT-Einträge wird für SPF-Einträge (Anti-Spam) verwendet.

Datensätze vom Typ CNAME abfragen


Zu den gängigen DNS-Einträgen gehören neben A-Einträgen auch CNAME. Bei der Abfrage können wir den Typ des abzufragenden DNS-Eintrags angeben: 

linuxidc@linuxidc:~$ dig m.linuxidc.com CNAME

; < <>> DiG 9.11.3-1ubuntu1.5-Ubuntu < <>> m.linuxidc.com CNAME
;; global options: +cmd
;; Got answer:
;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 61349
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;m.linuxidc.com.   IN CNAME

;; Query time: 26 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Sun Mar 03 11:20:34 CST 2019
;; MSG SIZE  rcvd: 43

Auf diese Weise werden in den Ergebnissen nur CNAME-Einträge angezeigt. Tatsächlich können wir in der Abfrage jeden DNS-Eintragstyp angeben.

Abfrage vom angegebenen DNS-Server


Aus irgendeinem Grund ist es wünschenswert, die Abfrage von einem bestimmten DNS-Server aus durchzuführen (vom Standard-DNS-Server erhaltene Ergebnisse sind möglicherweise nicht genau). Um einen DNS-Server anzugeben, verwenden Sie das @-Symbol:

linuxidc@linuxidc:~$ dig @8.8.8.8 m.linuxidc.com

; < <>> DiG 9.11.3-1ubuntu1.5-Ubuntu < <>> @8.8.8.8 m.linuxidc.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 38966
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;m.linuxidc.com.   IN A

;; ANSWER SECTION:
m.linuxidc.com.  199 IN A 122.228.238.71
m.linuxidc.com.  199 IN A 113.107.238.155

;; Query time: 120 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Mar 03 11:21:48 CST 2019
;; MSG SIZE  rcvd: 75

Wie Sie dem Bild oben entnehmen können, ist der DNS-Server für diese Abfrage 8.8.8.8. 

Wenn Sie keinen DNS-Server angeben, verwendet dig wiederum die Adresse in /etc/resolv.conf als DNS-Server:

linuxidc@linuxidc:~$ dig m.linuxidc.com

 Der oben abgefragte DNS-Server wird zu:

Zeigt 13 Stammdomänenserver


Es gibt 13 Root-Domänenserver im Internet. Verwenden Sie den Befehl dig ohne Parameter, um diese Serverinformationen anzuzeigen.

linuxidc@linuxidc:~$ dig

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

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;.    IN NS

;; ANSWER SECTION:
.   5 IN NS b.root-servers.net.
.   5 IN NS c.root-servers.net.
.   5 IN NS d.root-servers.net.
.   5 IN NS e.root-servers.net.
.   5 IN NS f.root-servers.net.
.   5 IN NS g.root-servers.net.
.   5 IN NS h.root-servers.net.
.   5 IN NS i.root-servers.net.
.   5 IN NS j.root-servers.net.
.   5 IN NS k.root-servers.net.
.   5 IN NS l.root-servers.net.
.   5 IN NS m.root-servers.net.
.   5 IN NS a.root-servers.net.

;; Query time: 8 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Sun Mar 03 11:37:11 CST 2019
;; MSG SIZE  rcvd: 239

Ich denke du magst

Origin blog.csdn.net/qq_34556414/article/details/133026323
Empfohlen
Rangfolge