7 个版本
0.4.1 | 2022 年 11 月 22 日 |
---|---|
0.4.0 | 2022 年 4 月 21 日 |
0.4.0-alpha.5 | 2022 年 4 月 13 日 |
0.4.0-alpha.1 | 2022 年 4 月 12 日 |
#3 in #suricata
225KB
1K SLoC
Dumpy
Dumpy 是一个简单安装且易于使用的 Web 前端,用于 PCAP 存档文件目录,例如 Suricata 生成的目录。
设置
- 首先配置并启动一个工具,如 Suricata 或 daemonlogger,将 PCAP 文件写入到如
/data/capture
的目录。 - 下载 Dumpy 二进制包(https://github.com/jasonish/dumpy/releases)或从源代码构建。注意:需要安装 libpcap。
- 配置
- 选择一个存放
dumpy.yaml
配置文件的目录,并切换到该目录。现在我们使用~/dumpy
。 - 使用
dumpy config
命令告诉 Dumpy PCAP 目录的位置,例如dumpy config spool add default /data/capture
- 可选地添加一个用户,如果不进行身份验证则不需要。
dumpy config passwd username password
- 选择一个存放
- 启动 Dumpy
dumpy server
- 然后在浏览器中访问 http://:7000/
其他安装选项
使用 Cargo
最新版本
cargo install dumpy
最新 Git Master
cargo install --git https://github.com/jasonish/dumpy
在 0.4.0 版本发布后,将可以从 crates.io 进行安装。
Suricata 配置
为了使 Dumpy 更有用,你需要一个工具来记录 PCAP 文件。Suricata 可以通过 pcap-log
输出配置来完成此操作
- pcap-log:
enabled: yes
filename: log.pcap
limit: 256mb
max-files: 1000
compression: none
mode: normal
dir: /data/capture
或者使用多线程模式,其中每个工作线程将写入自己的文件,以希望提高性能
- pcap-log:
enabled: yes
filename: log.pcap.%n.%t
limit: 256mb
max-files: 250
compression: none
mode: multi
dir: /data/capture
对于处理具有上述文件名的目录,存在优化,然而任何模式都应该工作,但是如果不符合上述模式,Dumpy 可能无法消除要读取的文件。
替代方案:tcpdump
甚至可以使用 tcpdump
生成 PCAP 文件的 spool 目录
tcpdump -w /data/captures/pcap.%s -G 3600 -s0 -i enp10s0
注意 -G
参数和文件名中的 %s
。在此命令中,tcpdump
将每小时打开一个新的文件,文件名将带有时戳(以秒为单位)。
注意:您必须负责清理旧文件。
构建
构建 Dumpy 需要 Rust 和 Cargo 已安装,然后只需
cargo build
TLS
可以通过 dumpy config
命令启用 TLS,但您首先需要 TLS 证书和密钥文件。
使用openssl创建自签名的证书和密钥。
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256
-days 365 -nodes -subj '/CN=localhost'
然后可以使用以下命令在Dumpy中启用TLS:
dumpy config set tls.cert cert.pem
dumpy config set tls.key cert.key
dumpy config set tls.enabled true
依赖项
~24–38MB
~672K SLoC