#客户端 #框架 #通信 #消息 #监控 #安全 #服务

fleetspeak

为 Rust 语言设计的 Fleetspeak 客户端连接库

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 网络编程

Download history 2/week @ 2024-03-11 56/week @ 2024-04-01 25/week @ 2024-06-17 76/week @ 2024-06-24

每月 101 次下载

MIT 许可证

110KB
311

Fleetspeak (for Rust)

CI status Crate Documentation

Fleetspeak 是一个专注于安全监控的通信框架。目前,它主要用于 GRR 项目(一个远程实时取证框架)。

此仓库包含用于在 Rust 语言中编写客户端 Fleetspeak 服务的库。简而言之,这个库只是用于从 Fleetspeak 客户端发送和接收消息的一系列函数。

目前没有计划提供编写服务器端服务的功能。因为服务器端服务通过 gRPC 与 Fleetspeak 服务器通信,拥有一个足够方便的 gRPC 库应该足以满足此类需求。

此项目不是官方的 Google 产品,处于高度开发中,不应用于任何生产代码。它只是一个概念验证,并是重写 GRR 客户端为 Rust 的实验的一部分。

使用

要编写您的服务,首先将此库添加到项目的 Cargo.toml 文件中的依赖项

[dependencies]
fleetspeak = "0.4.0"

现在,在您的项目中,您可以使用 fleetspeak::sendfleetspeak::receive 等函数与 Fleetspeak 客户端进行通信。有关详细信息,请参阅 文档。您还可以查看 示例

阅读 Fleetspeak 手册以了解如何让 Fleetspeak 客户端了解您的服务并将其作为守护进程启动。

常见问题解答

  • 构建需求是什么?

此库使用 Protocol Buffers 与 Fleetspeak 进行通信。为了在 Rust 中处理 proto 消息,它使用 rust-protobuf crate 并将所需的 proto 文件编译为 Rust 代码。


lib.rs:

Fleetspeak 客户端连接库。

这个库公开了一组用于编写客户端 Fleetspeak 服务的函数。这些函数中的每一个都操作一个全局连接对象,该对象是惰性建立的。如果无法建立此全局连接,库将崩溃(因为没有这个连接,Fleetspeak 仍然会关闭服务)。

请注意,每个服务在启动时应发送启动信息,并时不时地发送心跳以通知 Fleetspeak 客户端它没有卡住。

依赖项

~1–13MB
~117K SLoC