#pcap #access #file #offset #random-access #pcap-reader

pcap-file-ra

提供对pcap文件的随机访问

1个不稳定版本

使用旧的Rust 2015

0.1.1 2018年8月6日

#41#random-access

MIT 许可证

16KB
219 代码行

pcap-file-ra

此crate提供了对pcap文件中数据包的随机访问。您可以在常数时间内获取pcap中的第n个数据包。

该crate被视为pcap-file的配套crate。

用法

添加到Cargo.toml

[dependency]
pcap-file = "0.10.0"
pcap-file-ra = "0.1.1" 

在windows 64位平台上使用pcap-file 0.10.0进行了测试。

功能

  • PcapReader包装器,从pcap文件中提取偏移量
  • 将偏移量文件保存以加速未来的访问。

未计划的功能

  • 为PcapReader实现Index特质
    • Index特质无法实现,因为它假设返回值已经在某个内存位置。

现有crate的比较矩阵

我们依赖于pcap-file。该crate的选择基于以下标准。

  • pcap 0.7.0 - pcap/WinPcap的包装器

    • 支持除了小端以外的端序:是
    • 支持纳秒级pcap:未知
  • pcap-file 0.7.0 - 手动编写的pcap解析器

    • 支持除了小端以外的端序:是
    • 支持纳秒级pcap:是
    • 支持写入:是
    • 可以访问底层读取器:是
  • pcap-rs 1.0.1 - 基于nom的pcap解析器

    • 支持除了小端以外的端序:是
    • 支持纳秒级pcap:是
    • 支持写入:否
  • rpcap 0.3.0 - 基于bytepack的pcap解析器

    • 支持除了小端以外的端序:是
    • 支持纳秒级pcap:是
    • 支持写入:是
    • 不能访问底层读取器:否
  • pcapng 1.0.0 - 基于nom的仅解析pcapng的解析器

依赖项

~3.5–5MB
~107K SLoC