heinrihs-s/zeek-iec104-lab
GitHub: heinrihs-s/zeek-iec104-lab
用于生成和处理合成 IEC-104 Zeek 日志记录的离线辅助脚本集,帮助安全团队在不接触真实工控设备的情况下测试日志管线容量和检测规则有效性。
Stars: 0 | Forks: 0
# zeek-iec104-lab
用于处理合成类 IEC-104 Zeek 记录的微型辅助脚本。
适用于实验数据、测试记录、队列计数以及持久化检查。
它不包含流量捕获,也不会与运行中的 IEC-104 设备进行通信。
## 目录布局
- `scenarios/` - 简单的场景模板
- `scripts/inject_zeek_records.py` - 将合成的场景记录合并到模拟的类 Zeek 日志中
- `scripts/compute_queue_burden.py` - 计算原始和分组后的队列数据量
- `scripts/compute_preservation.py` - 检查带标记的场景记录是否能通过过滤保留
- `scripts/clustered_bootstrap.py` - 小型引导程序辅助脚本
- `examples/` - 测试输入文件
- `docs/input_format.md` - 输入记录结构
- `docs/safety.md` - 这些脚本会做和不会做的事
## 环境要求
Python 3.9+。仅使用标准库。
## 使用方法
```
$ python scripts/compute_queue_burden.py examples/toy_zeek_records.csv
raw_count 10
# top peer pairs
pair 10.0.0.1 -> 10.0.0.2 8
pair 10.0.0.2 -> 10.0.0.1 2
# top asdu types
asdu_type 1 3
asdu_type 100 2
asdu_type 45 2
asdu_type 46 2
asdu_type 3 1
```
每个脚本都带有 `--help` 选项。如果您传入任何类似于以下
活动目标的参数(`--host`、`--ip`、`--target`、`--port`、`--connect`、
`--send`),脚本将拒绝运行。请参阅 `docs/safety.md`。
这里的一切都是刻意保持简单的:输入文件,输出计数。
## 许可证
MIT。详见 `LICENSE`。
标签:IEC-104协议, MIT许可, PKINIT, Python, Rootkit, SCADA, Zeek, 内核驱动, 合成数据, 哈希传递, 安全测试, 实验室环境, 工控安全, 攻击性安全, 数据保留, 数据包注入, 无后门, 测试数据生成, 网络协议, 网络安全, 脚本, 辅助工具, 队列分析, 隐私保护