12个版本 (6个重大更新)
0.7.1 | 2021年12月26日 |
---|---|
0.7.0 | 2021年8月27日 |
0.6.1 | 2021年8月2日 |
0.6.0 | 2021年7月3日 |
0.1.0 | 2016年11月21日 |
#10 in #解析器
每月443次下载
用于 9 crates
50KB
1.5K SLoC
PktParse
该仓库仅包含使用nom制作的包解析例程。
用法
假设你的 packet.data
是一个 [u8]
if let Done(remaining, eth_frame) = ethernet::parse_ethernet_frame(packet.data) {
if eth_frame.ethertype != EtherType::IPv4 {
continue;
}
if let Done(remaining, ipv4_packet) = ipv4::parse_ipv4_header(remaining) {
目前可用的解析器列表相当简短
- 以太网(可选VLAN标签)
- IPv4
- IPv6
- UDP
- TCP
- ICMP ... 我们乐意接受贡献。
最近更改
- IHL不再乘以4
依赖项
~0.9–1.3MB
~24K SLoC