Anfordern A-und AAAA-records in einzelne DNS-Abfrage

Arbeite ich auf eine DNS-Abfrage für die Implementierung in C und Interessierte in die A-und AAAA IPv4 (und IPv6 -) Datensätze in einer einzigen Abfrage-Paket, aber ich bekomme keine Antworten von den nameserver, wenn ich die beiden Abfragen zusammen in einem Paket wie diesem. Ich habe versucht, das senden der Abfrage an mehrere verschiedene Nameserver (sowohl lokale als auch 8.8.8.8) mit kein Glück. Ist das etwas, was nicht funktioniert, oder ist es wahrscheinlich, dass meine Anfrage Paket fehlerhaft ist?

Meine grundlegende Algorithmus für das anfügen der AAAA-Abfragen (an einem bestehenden Ein request-Paket) ist die Erhöhung der QDCOUNT-Feld in der Paket-header, fügen Sie ein RR-Abfrage mit TYP AAAA und-NAME als Zeiger auf den hostname in der bestehenden Abfrage (Byte 0xC0 0x0C für ein offset von 12 bytes vom Beginn des Pakets). Klingt das richtige?

FYI, alles funktioniert nur mit der Einen Abfrage in das Paket.

Edit: Offenbar meine Fragen wurden alle leicht fehlerhaften (ich war nicht bewusst, dass Abfragen im Gegensatz zu Antworten, die nicht über TTL und RDLENGTH/RDATA-Feldern). Bei der Festsetzung dieses, ich bin immer wieder RCODE=1 format-Fehler-Antworten, die erkennen die Gegenwart von den 2 Abfragen. Bedeutet das, dass mehrere Abfragen pro Paket sind einfach nicht unterstützt?

Edit 2: Hier ein hexdump einer lookup für www.google.com:

d8 32 01 00 00 02 00 00 00 00 00 00 03 77 77 77 06 67 6f 6f 67 6c 65 03 63 6f 6d 00 00 01 00 01 c0 0c 00 1c 00 01

Ich nicht sehen, nichts falsch mit ihm.

  • Weder Wireshark, das ist normalerweise ein gutes Zeichen, dass Sie habe gelesen, die spec richtig.
InformationsquelleAutor R.. | 2010-11-02
Schreibe einen Kommentar