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
Implementations
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for DnsHeader
impl Send for DnsHeader
impl Sync for DnsHeader
impl Unpin for DnsHeader
impl UnwindSafe for DnsHeader
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more