pub struct DnsHeader {
pub id: u16,
pub flags: Flags,
pub questions: u16,
pub answers: u16,
pub authority: u16,
pub additional: u16,
}
Expand description
A DNS header.
The header of a DNS packet follows the following structure:
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ID |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|QR| Opcode |AA|TC|RD|RA| Z|AD|CD| RCODE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| QDCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ANCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| NSCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ARCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
ID: Random identifier of connnection
QR: Query (0) or Response (1)
OPCODE: Standard query (0), Inverse query (1), Server status query (2), Notify (4), Update (5), DSO (6)
AA: Authoritative Answer
TC: TrunCation
RD: Recursion Desired
RA: Recursion Available
Z: Zero (reserved)
AD: Authentic data (for DNSSEC)
AD: Checking disabled (for DNSSEC)
RCODE: Response code NOERROR (0), FORMERR (1), SERVFAIL (2), NXDOMAIN (3), NOTIMP (4), REFUSED (5)
QDCOUNT: Question records count
ANCOUNT: Answer records count
NSCOUNT: Name server records count
ARCOUNT: Aditional records count
Fields§
§id: u16
Random identifier of connnection
flags: Flags
The different flags of a DNS header.
questions: u16
Question records count
answers: u16
Answer records count
Name server records count
additional: u16
Aditional records count