emnahum/zeek-pcapovertcp-plugin

GitHub: emnahum/zeek-pcapovertcp-plugin

为 Zeek 提供 PCAP over TCP 数据包采集能力的原生插件,支持远程接收网络流量用于分析。

Stars: 6 | Forks: 1

# Zeek::PcapOverTcp 此插件为 Zeek 提供原生的 PcapOverTcp 支持。 有关 PcapOverTcp 的详细信息,请参阅相应的 [Netresec URL](https://www.netresec.com/?page=Blog&month=2022-08&post=What-is-PCAP-over-IP) ## 安装 ### 包管理器 此插件作为 [Zeek Package Manager](https://github.com/zeek/package-manager) 的包提供,可以使用以下命令进行安装: ``` zkg install zeek-pcapovertcp-plugin ``` ### 手动安装 以下命令将编译 PcapOverTcp 插件并将其与 Zeek 一同安装: ``` # ./configure && make && make install ``` 如果一切构建并安装正确,您应该会看到: ``` # zeek -NN Zeek::PcapOverTcp Zeek::PcapOverTcp - Packet acquisition via PcapOverTcp (dynamic, version 1.0.0) [Packet Source] PcapOverTcpReader (interface prefix "pcapovertcp"; supports live input) [Constant] PcapOverTcp::buffer_size ``` ## 用法 安装完成后,您可以在命令行中通过为 PcapOverTcp 接口/端口添加 `pcapovertcp::` 前缀来使用它们。例如,使用 PcapOverTcp 连接端口为 57012 的本地 socket: ``` # zeek -i pcapovertcp::127.0.0.1:57012 ``` ## 配合 `zeekctl` 使用 您可以将 PcapOverTcp 插件与 `zeekctl` 配合使用。以下是一个配置示例: ``` [manager] type=manager host=localhost [proxy-1] type=proxy host=localhost [worker-1] type=worker host=localhost interface=pcapovertcp::1.2.3.4:57012 # Optional parameters for per node configuration: pcapovertcp_buffer_size=128*1024*1024 [worker-2] type=worker host=localhost interface=pcapovertcp::1.2.3.5:57012 # Optional parameters for per node configuration: pcapovertcp_buffer_size=128*1024*1024 ``` 请注意,worker 必须使用不同的流(不同的 IP 和端口组合)。PcapOverTcp 插件目前尚不支持多个 worker 使用*相同*的流。 ## 调试插件 要调试此插件,请使用 `--enable-debug` 进行配置,同时 Zeek 本身也需要启用调试功能。然后,当您运行 Zeek 时,在命令行中添加 `-B plugin-Zeek-PcapOverTcp` 即可启用调试。生成的 `debug.log` 中应该会显示调试信息。 ## 高级配置 虽然此插件旨在提供“即插即用”的用户体验,但它目前暴露了底层 API 的一个选项以供自定义(有关默认值,请参见 [init.zeek](scripts/init.zeek)): * `buffer_size`:设置每个 socket 分配的总缓冲区大小。 ## 限制 ## 致谢 感谢 Justin Azoff、Tim Wojtulewicz、Christian Kreibich 和 Erik Hjelmfik 提供的意见和建议。
标签:Rootkit, Zeek, 流量采集插件, 网络流量分析