DINA-community/icsnpp-iccp
GitHub: DINA-community/icsnpp-iccp
基于Zeek的ICCP/TASE.2工业控制中心通信协议解析插件,支持电力系统控制中心间数据交换的流量分析与MMS服务器主动探测。
Stars: 0 | Forks: 1
# ICSNPP-ICCP
工业控制系统网络协议解析器 (ICSNPP) - 控制中心间通信协议 (ICCP)
## 概述
此插件为控制中心间通信协议 (IEC 60870-6/TASE.2) 提供协议分析器。
## 快速入门
`explore-mms` 是一个命令行工具,用于检查提供 MMS 服务器 (IEC 61850, EN 61850-8-1) 的设备。该程序连接到指定的 MMS 服务器,并以 JSON 格式输出有关服务器身份、支持的功能、域和域变量的信息。
### 构建与编译
**要求:**
- [CMake](https://cmake.org/)
- [libiec61850](https://libiec61850.com) (测试版本 1.5.1)
- 一个 C 编译器 (例如 gcc)
**构建步骤:**
```
mkdir build
cd build
cmake ..
make
```
生成的二进制文件 `explore-mms` 将位于 build 文件夹中。
### 依赖项
构建和运行需要:
- **libiec61850** (测试版本 **1.5.1**),包括其头文件和静态库 (`libiec61850.a`)
- 标准 C 库
`explore-mms` 在可能的情况下与 `libiec61850` 和其他系统库进行**静态链接**。没有运行时依赖项。
### 安装与部署
由于二进制文件是**静态链接**的,它几乎可以在任何最新的 Linux 系统 (x86-64) 上使用,而无需在系统上安装 `libiec61850` 库。
只需将生成的 `explore-mms` 二进制文件复制到任何位置并直接执行即可。
**示例:**
```
./explore-mms --help
```
#### 使用方法与参数
可以使用以下参数启动程序:
```
explore-mms [--password PASSWORD] [hostname [port]]
```
#### 选项
`--help`:
: 显示帮助屏幕。
`--password PASSWORD`:
: 在连接设置期间使用 ACSE 密码认证。
#### 参数
`hostname`:
: MMS 服务器的主机名或 IP 地址。(默认值:`localhost`)
`port`:
: MMS 服务器的 TCP 端口。(默认值:`102`)
#### 示例
- 默认调用(无认证,本地):`explore-mms`
- 使用密码认证和显式 IP:`explore-mms --password secret 192.168.1.1`
- 使用所有参数:`explore-mms --password secret 192.168.1.1 102`
### 注意事项
- 所有程序结果(错误消息除外)均作为 JSON 写入 `stdout`。
- 错误和异常以人类可读的形式输出到 `stderr` 并导致程序终止。
- 发生任何错误时退出代码非零。
## 许可证
该软件是代表 BSI (联邦信息安全办公室) 开发的
版权所有 (c) 2025 DINA-Community BSD 3-Clause。[查看许可证](/COPYING)
标签:Bash脚本, C++, CMake, ICCP, ICS, ICSNPP, IEC 60870-6, IEC 61850, MMS, NTLM Relay, PKINIT, Rootkit, SCADA, TASE.2, UML, Zeek, 协议分析, 哈希传递, 客户端加密, 工业控制系统, 工控安全, 数据擦除, 权限提升, 电力系统, 网络安全监控, 网络流量分析, 防御绕过, 驱动开发