Skip to main content

Crate zerodds_pcap

Crate zerodds_pcap 

Source
Expand description

zerodds-pcap library — parsing primitives.

Crate zerodds-pcap. Safety classification: COMFORT. Offline pcap-/RTPS-Decoder; pure parsing, kein Runtime-Pfad.

Wir implementieren einen leichten libpcap-File-Reader (LE und BE Magic-Words) und einen “best-effort” RTPS-Locator: jeder packet- payload wird nach dem RTPS-Magic durchsucht; ab dem Treffer versuchen wir zerodds_rtps::datagram::decode_datagram.

Damit funktioniert das Tool für alle gängigen pcap-Captures (Ethernet/IP/UDP/RTPS) ohne dass wir L2/L3/L4-Parsing implementieren müssen — die UDP-Payload startet immer mit RTPS.

Structs§

FileArgs
Argumente für parse und stats.
PcapFileHeader
Pcap-File-Header (24 Bytes).
PcapIter
Iterator über pcap-Records. Liefert pro Aufruf Some((header, payload_slice)).
PcapRecordHeader
Per-Record Pcap-Header (16 Bytes).

Enums§

Command
Sub-command des Pcap-CLIs.
ParseError
Parse-Fehler beim CLI.
PcapError
Parse-Fehler.

Constants§

PCAP_MAGIC_BE
Pcap libpcap-Format Magic, Big-Endian Variante.
PCAP_MAGIC_LE
Pcap libpcap-Format Magic, Little-Endian Variante.
PCAP_MAGIC_NS_LE
Pcap libpcap-Format Magic, nanosecond-precision LE.
RTPS_MAGIC
RTPS-Magic ('R','T','P','S').

Functions§

find_rtps_offset
Sucht den ersten RTPS-Magic im payload und liefert den resultierenden Offset (oder None).
parse_args
Parst args (typisch env::args().skip(1)) zu einem Command.
parse_file_header
Liest den Pcap-File-Header. Liefert (header, is_big_endian).