orm@doc-tcpip.org

Erstellt: Mai 2001 - Letzte Modifikation: Mai 2001

[ Main | Local ]


Wie sieht ein DNS-Paket aus?


Die RFCs zum Thema

RFC 1035 (www.rfc-editor.org)

Wie es funktioniert

Die Kommunikation erfolgt über "Messages". Diese bestehen aus 5 Sektionen:



+---------------------+
|        Header       |
+---------------------+
|       Question      | Die Anfrage an den Name Server
+---------------------+
|        Answer       | RRs mit Antworten auf die Frage
+---------------------+
|      Authority      | RRs, die auf verantwortliche Server deuten
+---------------------+
|      Additional     | RRs mit weiteren Informationen/Records
+---------------------+
RR steht hier für Resource Record, ein Format zur Angabe des Mappings von IP-Adresse zu Name bzw. umgekehrt - oder weitere Information. Resource Records sind die Einträge in den Datenbank-Files des Name Servers.

Es müssen nicht alle Sektionen in jeder Message vorhanden sein (Eine Antwort sieht anders aus als eine Frage...).

Der Header ist immer da:
Hier steht, welche Sektionen noch kommen, ob es eine Query (Anfrgae) oder eine Response (Antwort) ist, und eventuelle, andere Op-codes.

1  1  1  1  1  1
0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                      ID                       |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|QR|   Opcode  |AA|TC|RD|RA|   Z    |   RCODE   |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                    QDCOUNT                    |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                    ANCOUNT                    |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                    NSCOUNT                    |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                    ARCOUNT                    |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

Eine Anfrage

Es gibt QDCOUNT Einträge (in der Regel nur ein Eintrag) mit folgendem Format:


1  1  1  1  1  1
0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                                               |
/                     QNAME                     /
/                                               /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                     QTYPE                     |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                     QCLASS                    |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

Die verschiedenen Sektionen haben alle dasselbe Format:
Eine Anzahl von Resource Records (RR). Im Header gibt es ein Count-Field, was die Anzahl der RRs gibt.
Ein RR sieht so aus:


1  1  1  1  1  1
0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                                               |
/                                               /
/                      NAME                     /
|                                               |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                      TYPE                     |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                     CLASS                     |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                      TTL                      |
|                                               |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                   RDLENGTH                    |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
/                     RDATA                     /
/                                               /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

Antworten sehen im Prinzip genauso aus, natürlich um die gewünschten Informationen erweitert.


[ Main | Local ]

[ Allgemein | UNIX | AIX | TCP-IP | TCP | ROUTING | DNS | NTP | NFS | FreeBSD | Linux | RPi | SMTP | Tracing | GPS | LW ]

Copyright 2001-2021 by Orm Hager - Es gilt die GPL
Feedback bitte an: Orm Hager (orm@doc-tcpip.org )