18 个版本 (破坏性)

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.2.0 2021 年 2 月 22 日

#371网络编程

Download history 4189/week @ 2024-04-26 1801/week @ 2024-05-03 2427/week @ 2024-05-10 2658/week @ 2024-05-17 2848/week @ 2024-05-24 3577/week @ 2024-05-31 2124/week @ 2024-06-07 1851/week @ 2024-06-14 2044/week @ 2024-06-21 2734/week @ 2024-06-28 2376/week @ 2024-07-05 2500/week @ 2024-07-12 1912/week @ 2024-07-19 2827/week @ 2024-07-26 1982/week @ 2024-08-02 1360/week @ 2024-08-09

每月 8,480 次下载
用于 11 个

MIT 许可证

20KB
273

法语

安全感知线协议解析库。

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

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

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

每个解析器的接口都是统一且简单的,仅由几个函数组成

  • 测试有效负载是否是或不是所讨论的协议(例如,这是 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.8–2.3MB
~34K SLoC