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 110/week @ 2024-03-13 117/week @ 2024-03-20 155/week @ 2024-03-27 161/week @ 2024-04-03 93/week @ 2024-04-10 119/week @ 2024-04-17 111/week @ 2024-04-24 144/week @ 2024-05-01 103/week @ 2024-05-08 101/week @ 2024-05-15 111/week @ 2024-05-22 135/week @ 2024-05-29 107/week @ 2024-06-05 113/week @ 2024-06-12 110/week @ 2024-06-19 94/week @ 2024-06-26

每月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