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 countFields§
§id: u16Random identifier of connnection
flags: FlagsThe different flags of a DNS header.
questions: u16Question records count
answers: u16Answer records count
Name server records count
additional: u16Aditional records count
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DnsHeader
impl RefUnwindSafe for DnsHeader
impl Send for DnsHeader
impl Sync for DnsHeader
impl Unpin for DnsHeader
impl UnwindSafe for DnsHeader
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more