4个版本 (2个重大更新)
0.3.0 | 2020年6月9日 |
---|---|
0.2.0 | 2020年4月6日 |
0.1.1 | 2018年11月16日 |
0.1.0 | 2018年11月16日 |
1393 在 解析器实现 中
每月下载量 99
用于 suricata-ipc
4MB
2.5K SLoC
网络数据包解析器 (net-parser-rs)
利用Rust和nom进行安全高效数据包解析的基本网络解析器。设计受到pktparse-rs的启发。
入门指南
将net-parser-rs添加到依赖项
[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");