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

authority: u16

Name server records count

additional: u16

Aditional records count

Implementations

Serialize a DnsHeader into a vector of bytes.

Usefult when you need to be able to apend the bytes to an existing Vec<u8, in any other case the From trait is implemented to be able to convert from an DnsHeader to an Vec<u8>.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

The type returned in the event of a conversion error.

Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.