IEC 104 是什么
IEC 60870-5-104(简称 IEC 104)把电力远动协议 IEC 101 的报文搬到 TCP 上,使用固定端口 2404。调度主站与变电站测控装置之间靠它传送遥测、遥信,以及下发遥控、遥调指令。协议设计于可信专网时代:只有链路序号与超时重传机制,没有账号体系与加密,能连上就具备下发控制指令的能力。
基本信息
| 服务 | IEC 60870-5-104(IANA 登记名 iec-104) |
|---|---|
| 协议 | TCP 2404 |
| 典型角色 | SCADA 前置机、变电站 RTU / 测控装置 |
| 安全机制 | 默认无认证与加密;IEC 62351 提供配套安全规范 |
| 安全等级 | 物理隔离或点对点白名单 |
典型使用场景
- 调度自动化:主站周期召唤遥测,接收变位遥信与事件
- 遥控操作:操作票执行时下发开关分合指令(ASDU 45/46)
- 遥调:向装置下发定值或功率设定(ASDU 49/50)
- 对时与链路监视:通过链路测试帧保持长连接可用
- 安全评估:确认 2404 是否被映射到非工控网段,属于典型高危发现
链路与探测(仅限授权环境)
链路与探测(仅限授权环境)
ss -lntp | grep 2404 # 本机是否存在 104 服务端
nc -vz -w2 192.0.2.10 2404 # 点到点连通性确认
nmap -Pn -p 2404 --script iec-104-discover 192.0.2.10
# 抓包观察链路层:STARTDT/STOPDT 成对出现说明会话建立与结束标准推荐超时与窗口参数
| 参数 | 含义 | 标准推荐值 |
|---|---|---|
| t0 | 连接建立超时 | 30 秒 |
| t1 | 发送或测试帧超时 | 15 秒 |
| t2 | 无数据时的确认超时 | 10 秒 |
| t3 | 空闲时发送测试帧的间隔 | 20 秒 |
| k / w | 未确认报文上限 / 待确认上限 | 12 / 8 |
工控协议的安全前提是『攻击者进不来』:IEC 104 没有认证,被触达即可下发控制指令。用防火墙做点对点白名单,并审计链路中断与重连事件。
链路反复重连时,先区分是网络抖动还是参数不匹配:t1/t2/t3 与 k、w 在主站与装置两侧必须一致,单侧过大或过小会表现为周期性断链,而不是完全连不上。
上线与变更注意:远动链路两侧的参数、点表与 ASDU 地址必须成对维护,任何一侧单独调整都会表现为数据错位或遥控失败;变更前保留原有链路配置,便于快速回退。