net-parser-rs

Crates.ionet-parser-rs
lib.rsnet-parser-rs
version0.3.0
sourcesrc
created_at2018-11-16 22:41:50.774342
updated_at2020-06-09 16:24:16.374034
descriptionBasic network parser leveraging Rust and nom for safe and efficient packet parsing. Design influenced by pktparse-rs.
homepage
repositoryhttps://github.com/protectwise/net-parser-rs/
max_upload_size
id97144
size25,817,766
rust-owners (github:protectwise:rust-owners)

documentation

README

Network Packet Parser (net-parser-rs)

Basic network parser leveraging Rust and nom for safe and efficient packet parsing. Design influenced by pktparse-rs.

Getting Started

Add net-parser-rs to your dependencies

[dependencies]
net-parser-rs="0.3"
    #![feature(try_from)]
    extern crate net_parser_rs;

    use net_parser_rs::CaptureParser;
    use std::*;

    //Parse a file with global header and packet records
    let file_bytes = include_bytes!("capture.pcap");
    let records = CaptureParser::parse_file(file_bytes).expect("Could not parse");

    //Parse a sequence of one or more packet records
    let records = CaptureParser::parse_records(record_bytes).expect("Could not parse");

    //Parse a single packet
    let packet = CaptureParser::parse_record(packet_bytes).expect("Could not parse");

    //Convert a packet into flow information
    use net_parser_rs::flow::*;

    let flow = packet.extract_flow().expect("Could not extract flow");
Commit count: 66

cargo fmt