Struct pcap_parser::pcapng::EnhancedPacketBlock[][src]

pub struct EnhancedPacketBlock<'a> {
    pub block_type: u32,
    pub block_len1: u32,
    pub if_id: u32,
    pub ts_high: u32,
    pub ts_low: u32,
    pub caplen: u32,
    pub origlen: u32,
    pub data: &'a [u8],
    pub options: Vec<PcapNGOption<'a>>,
    pub block_len2: u32,
}
Expand description

An Enhanced Packet Block (EPB) is the standard container for storing the packets coming from the network.

This struct is a thin abstraction layer, and stores the raw block data. For ex the data field is stored with the padding. It implements the PcapNGPacketBlock trait, which provides helper functions.

Examples

use pcap_parser::pcapng::parse_enhancedpacketblock_le;
use pcap_parser::traits::PcapNGPacketBlock;

let (i, epb) = parse_enhancedpacketblock_le(pcap_data).unwrap();
let packet_data = epb.packet_data();
if packet_data.len() < epb.orig_len() as usize {
    // packet was truncated
} else {
    // we have a full packet
}

Fields

block_type: u32block_len1: u32if_id: u32ts_high: u32ts_low: u32caplen: u32

Captured packet length

origlen: u32

Original packet length

data: &'a [u8]

Raw data from packet (with padding)

options: Vec<PcapNGOption<'a>>block_len2: u32

Implementations

Decode the packet timestamp

To decode the timestamp, the resolution and offset are required. These values are stored as options in the InterfaceDescriptionBlock matching the interface ID.

Trait Implementations

Formats the value using the given formatter. Read more

Return true if block is encoded as big-endian

Return true if block data was truncated (typically when snaplen < origlen)

Return the original length of the packet

Return the raw captured packet data, with padding if present, and eventually truncated.

Return the captured packet data without padding Read more

Check and correct all fields: use magic, version and fix lengths fields

Serialize to bytes representation (little-endian). Do not check values

Serialize to bytes representation (little-endian). Check values and fix all fields before serializing. Read more

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

Performs the conversion.

Performs the conversion.

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.