资讯动态

电力自动化入门:手把手带你用Wireshark抓包分析IEC 104规约的TCP连接与数据交互

发布时间:2026/9/9 12:56:44 来源:尧图企业网站定制
电力自动化实战Wireshark抓包解析IEC 104规约全流程在工业通信领域IEC 60870-5-104规约作为电力自动化系统的核心通信协议承载着变电站与调度中心之间关键数据的传输任务。对于现场工程师而言掌握网络层报文分析技术就如同拥有了一双透视通信过程的眼睛。本文将带您使用Wireshark这一业界标准工具从TCP连接建立到数据交互完成逐步拆解IEC 104规约的通信机制。1. 环境准备与工具配置1.1 Wireshark基础配置安装最新版Wireshark当前推荐3.6.12版本后需进行针对性配置# Linux安装示例 sudo apt-get install wireshark sudo usermod -aG wireshark $USER关键配置步骤在Capture→Options中启用Update list of packets in real time设置显示过滤器为tcp.port 2404 || iec60870IEC 104默认端口启用Decode IEC 60870-5-104 ASDU解析器Edit→Preferences→Protocols注意生产环境抓包需获得网络管理员授权避免影响实时控制系统运行1.2 网络拓扑连接验证典型测试环境包含以下组件设备类型IP示例角色说明调度主站192.168.1.1客户端发起连接变电站RTU192.168.1.2服务端监听2404端口分析工作站192.168.1.3抓包节点使用基础网络命令验证连通性ping 192.168.1.2 # 测试网络层连通 telnet 192.168.1.2 2404 # 测试端口可达性 netstat -ano | findstr 2404 # Windows端口检查2. TCP连接建立过程分析2.1 三次握手抓包实例在Wireshark中捕获到的典型TCP连接建立过程No. Time Source Destination Protocol Info 1 0.000000 192.168.1.1 192.168.1.2 TCP SYN Seq0 2 0.002134 192.168.1.2 192.168.1.1 TCP SYN-ACK Seq0 Ack1 3 0.002356 192.168.1.1 192.168.1.2 TCP ACK Seq1 Ack1关键参数解读Window size: 建议保持默认65535字节MSS (Maximum Segment Size): 工业环境推荐1460字节TCP Options: 需包含SACK_PERM选择性确认2.2 启动帧交互分析TCP连接建立后首个IEC 104报文应为STARTDT激活帧# STARTDT激活请求帧示例 68 04 07 00 00 00 # 主站发送 68 04 0B 00 00 00 # 子站确认帧结构解析68H: 启动字符04H: APDU长度4字节07/0BH: 控制域U格式帧工程经验若未收到STARTDT确认帧需检查子站应用层是否就绪3. 数据交互过程详解3.1 总召唤过程解析完整的总召唤General Interrogation流程包含四个阶段命令下发类型标识10068 0E 00 00 02 00 64 01 06 00 01 00 00 00 00 1464H: 总召唤命令06H: 传输原因激活子站确认类型标识10068 0E 00 00 02 00 64 01 07 00 01 00 00 00 00 14数据上送包含多种ASDU单点遥信类型标识168 1A 04 00 0A 00 01 0F 14 00 01 00 01 00 01 00 01 00...遥测数据类型标识968 22 06 00 0C 00 09 04 03 00 01 00 02 07 00 FF 7F...过程结束类型标识10068 0E 08 00 02 00 64 01 0A 00 01 00 00 00 00 143.2 遥测数据上送机制典型遥测报文结构分析68 22 5E 0C 08 00 09 04 03 00 01 00 02 07 00 FF 7F 01 06 07 00 2D 20...字段解析表字节位置长度含义示例值11启动字符68H21APDU长度22H(34字节)3-64控制域5E 0C 08 0071类型标识09H81可变结构限定词04H9-102传输原因03 0011-122公共地址01 0013-153信息体地址02 07 0016-...N信息体元素FF 7F...4. 故障诊断与性能优化4.1 常见异常报文分析案例1序列号不连续[主站] 68 0E 10 00 02 00 64 01 06 00... [子站] 68 0E 12 00 10 00 64 01 07 00... # 接收序号不匹配解决方案检查TCP连接状态netstat -an确认双方应用层序号的初始化时机必要时重建TCP连接案例2超时无响应[主站] 68 04 07 00 00 00 # STARTDT ... 30秒无响应...排查步骤使用ping测试网络连通性通过telnet验证端口可达性检查子站应用进程状态4.2 性能优化参数建议参数项默认值工业环境推荐值作用t1 (连接超时)15s30sTCP连接建立等待时间t2 (响应超时)10s15s报文响应等待时间t3 (心跳间隔)20s30s测试帧发送间隔k (重传次数)12次8次最大未确认I帧数量w (窗口大小)8帧12帧接收窗口容量在变电站现场调试时建议先通过Wireshark捕获至少30分钟的正常通信流量作为基准参考。当出现通信中断时对比异常流量与基准流量的差异点往往能快速定位问题根源。我曾遇到一个案例子站频繁断开连接最终发现是由于交换机端口设置了错误的流控参数导致大流量时丢包率激增。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价