10 个版本
0.4.1 | 2023 年 7 月 31 日 |
---|---|
0.4.0 | 2023 年 6 月 29 日 |
0.3.1 | 2022 年 8 月 26 日 |
0.3.0 | 2022 年 6 月 17 日 |
0.1.1 | 2020 年 3 月 24 日 |
#1863 in 网络编程
每月 101 次下载
110KB
311 行
Fleetspeak (for Rust)
Fleetspeak 是一个专注于安全监控的通信框架。目前,它主要用于 GRR 项目(一个远程实时取证框架)。
此仓库包含用于在 Rust 语言中编写客户端 Fleetspeak 服务的库。简而言之,这个库只是用于从 Fleetspeak 客户端发送和接收消息的一系列函数。
目前没有计划提供编写服务器端服务的功能。因为服务器端服务通过 gRPC 与 Fleetspeak 服务器通信,拥有一个足够方便的 gRPC 库应该足以满足此类需求。
此项目不是官方的 Google 产品,处于高度开发中,不应用于任何生产代码。它只是一个概念验证,并是重写 GRR 客户端为 Rust 的实验的一部分。
使用
要编写您的服务,首先将此库添加到项目的 Cargo.toml
文件中的依赖项
[dependencies]
fleetspeak = "0.4.0"
现在,在您的项目中,您可以使用 fleetspeak::send
和 fleetspeak::receive
等函数与 Fleetspeak 客户端进行通信。有关详细信息,请参阅 文档。您还可以查看 示例。
阅读 Fleetspeak 手册以了解如何让 Fleetspeak 客户端了解您的服务并将其作为守护进程启动。
常见问题解答
- 构建需求是什么?
此库使用 Protocol Buffers 与 Fleetspeak 进行通信。为了在 Rust 中处理 proto 消息,它使用 rust-protobuf crate 并将所需的 proto 文件编译为 Rust 代码。
lib.rs
:
Fleetspeak 客户端连接库。
这个库公开了一组用于编写客户端 Fleetspeak 服务的函数。这些函数中的每一个都操作一个全局连接对象,该对象是惰性建立的。如果无法建立此全局连接,库将崩溃(因为没有这个连接,Fleetspeak 仍然会关闭服务)。
请注意,每个服务在启动时应发送启动信息,并时不时地发送心跳以通知 Fleetspeak 客户端它没有卡住。
依赖项
~1–13MB
~117K SLoC