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 #解析器

Download history • Rust 包仓库 110/week @ 2024-03-13 • Rust 包仓库 117/week @ 2024-03-20 • Rust 包仓库 155/week @ 2024-03-27 • Rust 包仓库 161/week @ 2024-04-03 • Rust 包仓库 93/week @ 2024-04-10 • Rust 包仓库 119/week @ 2024-04-17 • Rust 包仓库 111/week @ 2024-04-24 • Rust 包仓库 144/week @ 2024-05-01 • Rust 包仓库 103/week @ 2024-05-08 • Rust 包仓库 101/week @ 2024-05-15 • Rust 包仓库 111/week @ 2024-05-22 • Rust 包仓库 135/week @ 2024-05-29 • Rust 包仓库 107/week @ 2024-06-05 • Rust 包仓库 113/week @ 2024-06-12 • Rust 包仓库 110/week @ 2024-06-19 • Rust 包仓库 94/week @ 2024-06-26 • Rust 包仓库

每月443次下载
用于 9 crates

LGPL-3.0

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