13个版本 (破坏性更新)

0.13.0 2024年7月17日
0.12.1 2023年4月12日
0.12.0 2023年2月13日
0.11.1 2022年6月21日
0.6.0 2021年6月15日

#644网络编程

Download history 3764/week @ 2024-04-27 1781/week @ 2024-05-04 2795/week @ 2024-05-11 2488/week @ 2024-05-18 2746/week @ 2024-05-25 3544/week @ 2024-06-01 1970/week @ 2024-06-08 2196/week @ 2024-06-15 2147/week @ 2024-06-22 2608/week @ 2024-06-29 2199/week @ 2024-07-06 2592/week @ 2024-07-13 1908/week @ 2024-07-20 2748/week @ 2024-07-27 1839/week @ 2024-08-03 1661/week @ 2024-08-10

每月8,550次下载
用于 12 个crate (9个直接)

MIT 许可证

19KB
349

法语

安全感知线协议解析库。

此库包含各种线协议的解析器,并旨在用于网络安全传感器。

每个解析器都公开了一个通用接口,允许传感器引擎将字节输入解析器,并接收解析后的元数据。这些字节预计在会话层,因此引擎负责将传输层数据组装成会话有效负载,然后将其输入到这个库中。

此库旨在具有鲁棒性,并尽可能多地解析野外看到的消息。如果消息无效或不符合规范,解析器不应将其丢弃。解析器将在消息验证失败时设置标志,而不是返回错误。

每个解析器的接口都是统一和简单的,只包含几个函数来

  • 测试有效负载是否是所讨论的协议(例如,这是Modbus吗?)
  • 向解析器提供更多字节
  • 设置回调以在特定于协议的元数据事件上调用(待办事项)
  • 指示某些字节不可用(即通知数据包丢失)(待办事项)
  • 指示会话已结束(待办事项)

此库公开了Rust和C绑定,以便轻松集成到现有的和未来的网络安全传感器平台。(待办事项)

用法

通过将解析器包含在项目的 Cargo.toml 依赖项中开始使用SAWP。还必须使用基础库来使用常用类型。

rustc 的最低支持版本是 1.63.0

示例

[dependencies]
sawp-modbus = "0.13.0"
sawp = "0.13.0"

FFI 支持

一些解析器为 C/C++ 项目提供了外设功能接口(FFI)。可以通过构建时启用 ffi 功能来启用 FFI 支持。

还提供了一个 Makefile 以简化构建过程。请参阅此文件以获取更多详细文档。

# Install cbindgen which is required to generate headers
cargo install --force cbindgen

# Build headers and shared objects
make

贡献

该项目正在积极维护,并接受开源贡献。有关详细信息,请参阅 CONTRIBUTING

依赖

~0.6–1.2MB
~27K SLoC