Skip to main content

Module header

Module header 

Source
Expand description

DNS header parsing (RFC 1035 Section 4.1.1).

The DNS header is 12 bytes:

+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                      ID                         |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|QR|   Opcode  |AA|TC|RD|RA| Z|AD|CD|   RCODE    |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                    QDCOUNT                       |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                    ANCOUNT                       |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                    NSCOUNT                       |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                    ARCOUNT                       |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

Constants§

DNS_HEADER_LEN
DNS header size in bytes.

Functions§

build_flags
Build a raw 16-bit flags value from individual components.
read_aa
AA flag: Authoritative Answer.
read_ad
AD flag: Authenticated Data (DNSSEC).
read_ancount
Answer count.
read_arcount
Additional count.
read_cd
CD flag: Checking Disabled (DNSSEC).
read_id
Read the DNS transaction ID.
read_nscount
Authority count.
read_opcode
Opcode (4 bits).
read_qdcount
Question count.
read_qr
QR flag: 0 = query, 1 = response.
read_ra
RA flag: Recursion Available.
read_rcode
RCODE (4 bits): Response code.
read_rd
RD flag: Recursion Desired.
read_tc
TC flag: Truncation.
read_z
Z flag (reserved).
write_aa
write_ad
write_ancount
write_arcount
write_cd
write_id
Write the DNS transaction ID.
write_nscount
write_opcode
write_qdcount
write_qr
write_ra
write_rcode
write_rd
write_tc
write_z