Ich habe gesehen, wie die Textdarstellung einer HTTP-Anfrage aussieht, aber wie sieht eine DNS-Anfrage aus? Wo in den Daten befindet sich der Speicherort der URL, die Sie suchen? Wie ist die Antwort formatiert?
32
Ich habe gesehen, wie die Textdarstellung einer HTTP-Anfrage aussieht, aber wie sieht eine DNS-Anfrage aus? Wo in den Daten befindet sich der Speicherort der URL, die Sie suchen? Wie ist die Antwort formatiert?
Antworten:
Dies ist ein Raw-Dump von Wireshark einer DNS-Abfrage.
Der DNS-Teil beginnt mit 24 1a:
Und hier ist die Aufschlüsselung:
Und die Antwort, wieder ab 24 1a:
Nervenzusammenbruch:
Bearbeiten:
Wenn Ihre eigentliche Frage lautet "Wie schreibe ich einen DNS-Server?", Gibt es zwei passende Antworten:
Bearbeiten (2):
Die Anfrage wurde unter Verwendung
host
einer Linux-Box gesendet :Wenn Sie unter Windows arbeiten, können Sie verwenden
nslookup
quelle
/questions/173187/what-does-a-dns-request-look-like
in der Anfrage enthalten?Das Layout der DNS-Anforderungsdaten wird in RFC 1035 beschrieben . Ich finde es ein bisschen sinnlos, den Text hierher zu kopieren ...
quelle
DNS-Abfragen und -Antworten lassen sich am besten mit einem Protokollanalysator analysieren. Wireshark ist ein gutes plattformübergreifendes Tool, mit dem Anforderungen und Antworten in ihren verschiedenen Teilen erfasst und dekonstruiert werden können. Auf Firewall.cx finden Sie hier eine nette Einführung in die Struktur von DNS-Anfragen und -Antworten .
DNS-Anfragen enthalten Fragen, die einen Namen (oder ein etwas willkürliches Textfeld) und einen Datensatztyp angeben - der Inhalt der Antwort hängt vom Typ ab. Bei den meisten Anfragen handelt es sich um einfache direkte Abfragen eines Servernamens nach einer IP-Adresse als Antwort (Typ A). Bei einigen werden jedoch weitere Informationen zu Nameservern (Typ NS), E-Mail-Einträgen (Typ MX) und anderen Diensten (Typ SRV, der Namen, Ports, Gewichte und Prioritäten zurückgibt). DNS-Antworten enthalten Antworten auf diese Fragen, möglicherweise mehr als eine, wenn die Anforderung dies erfordert, und sind nicht immer nur IP-Adressen.
Eine weitere Klarstellung: DNS löst URLs nicht auf. In den meisten Szenarien mit URLs wird DNS nur verwendet, um dem clientseitigen System das Ermitteln der IP-Adresse des Serverteils der URL zu ermöglichen. Alles andere wird von anderen Protokollen behandelt.
quelle
Wenn Sie auf einen Linux-Computer zugreifen können, können Sie den Befehl dig ausführen, um eine DNS-Suche durchzuführen. Dieses Dienstprogramm führt eine Suche durch und gibt genau das zurück, worauf der Nameserver antwortet. Beispielsweise:
Alles, was mit dem Abschnitt "HEADER" beginnt, wird vom Nameserver zurückgegeben. Ich nehme an, das ist das, was Sie als Textformat bezeichnen, da dies nicht das Format des tatsächlichen Pakets ist, sondern der zurückgegebene Text.
quelle