zeek/broker
GitHub: zeek/broker
Broker 是 Zeek 网络安全监控框架的官方消息通信库,提供远程日志、事件分发和分布式数据存储能力。
Stars: 69 | Forks: 27
# .. _用户手册: https://docs.zeek.org/projects/broker
# Broker: Zeek 的消息库
Broker 库实现了 Zeek 的高级通信模式:
```
- remote logging
- remote events
- distributed data stores
```
远程日志记录和事件都遵循发布/订阅 (pub/sub) 通信模型,
该模型运行在直接彼此对等互连的 Broker 端点之间。 一个
端点也可以选择订阅自己的消息。
订阅通过前缀进行匹配,端点有能力
微调他们希望向对等点广播的订阅主题字符串,
以及他们希望发送给对等点的消息。
分布式数据存储功能允许与一个 Broker 端点
关联的主数据存储在peer端点处被克隆,peer端点
随后可以对克隆执行轻量级的本地查询,
克隆会自动与主存储保持同步。 克隆
不能直接修改其内容,而是将修改发送到
集中式主存储,由主存储应用修改,然后将其
广播给所有克隆。
集成了 Broker 库的应用程序可以使用
上述 Zeek 通用的模式相互通信。
有关更多信息,请参阅 `User Manual`_。 对于离线阅读,它
也可以在源码树的 ``doc/`` 目录中找到。
请参阅 NEWS 文件以获取最重要的发行说明,以及 CHANGES
文件以获取完整的更改历史记录。
## 依赖项
编译 Broker 需要已安装以下库/工具:
```
* C++ compiler with C++17 support (GCC 7+, Clang 4+, MSVC 19.14+)
* OpenSSL headers/libraries (http://www.openssl.org)
* CMake 3.0 or greater (https://cmake.org)
```
可选的 Python 绑定还需要 Python 3.5 或更高版本
以及 Python 开发包。
默认情况下,Broker 将使用集成版本的 C++ Actor
Framework (CAF; https://actor-framework.org),尽管仍然有
选项可以通过 ``--with-caf=`` 配置脚本选项指定外部 CAF 版本。
## 编译/安装
在 UNIX 上,我们提供了一个 ``configure`` 脚本来自动化 CMake 设置。 要
编译并安装到 ``/usr/local`` 中:
```
./configure
make
make install
```
有关更高级的配置选项,请参阅 ``./configure --help``。
在 Windows 上,我们原生支持 MSVC。我们不支持通过 MinGW 或
Cygwin 构建。对于 Windows 构建,请直接使用 CMake 并使用您的
Visual Studio 版本的 CMake 生成器。之后,您可以
使用 Visual Studio 打开项目文件来构建 Broker,或者可以
使用 CMake 直接从命令行构建:
```
cmake --build --target install --config release
```
请注意,Broker 目前在 MSVC 上仅支持 *静态* 构建。
标签:Actor模型, Bash脚本, Broker, C++, OpenSSL, Rootkit, Zeek, 分布式数据存储, 发布订阅模式, 安全工具开发, 安全测试工具, 安全遥测, 数据同步, 数据擦除, 消息队列, 网络安全, 跨进程通信, 远程日志, 逆向工具, 隐私保护