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, 流量采集插件, 网络流量分析