用途:处理工控(ICS/SCADA)明文流量(pcap 或实时抓包),解析 Modbus、DNP3、OPC UA 语义,从流量重建 PLC/RTU 点表,并可在授权范围内做 ICS 安全测试。密文流量需先走解密流程;非工控自定义协议、仅需抓包场景不适用本技能。
主要能力:协议识别(端口与帧特征双确认,如 Modbus/TCP 502、DNP3 20000、OPC UA 4840 等,端口仅作初判);用 Wireshark/tshark 内置 dissector 解析并导出字段,非标端口用 Decode As 或 tshark -d 指定;Modbus 功能码与寄存器/线圈点表构建;DNP3 组-变体对象点表(静态量与事件量成对建模);OPC UA NodeId 识别;差值法定位关键点;用 scapy 解析或构造 Modbus 报文。
使用方式:先安装并验证工具,例如 tshark --version、tshark -G fields | grep -iE 'modbus|dnp3|opcua' 确认字段名;scapy 的 Modbus 层位于 scapy.contrib.modbus,需显式导入。常用命令示例:tshark -r cap.pcap -Y 'modbus' -T fields -e modbus.func_code -e mbtcp.unit_id;tshark -r cap.pcap -Y 'dnp3' -T fields -e dnp3.ctl -e dnp3.dst -e dnp3.src。字段名以本机 tshark -G fields 输出为准。scapy 无 DNP3/OPC UA 层,需用 Wireshark 或自写解析器。
适用场景:工控流量语义解析、点表重建、PLC/HMI/RTU 固件与通信分析(配合固件分析技能)、授权范围内的 ICS 安全测试。
限制:只测授权系统,测试网必须与生产 OT 网络物理/逻辑隔离,发送异常报文仅限测试床并留存审计;严禁对未授权的生产 SCADA/DCS 及关键设施测试。需注意功能码语义、大端字节序与厂商高低位序、协议变体混用、加密变体、点表映射错位等常见陷阱。S7CommPlus 鉴权链路、各类证书与版本差异需另按资料逐步还原。安装命令、端口及字段名均以本机版本验证结果为准。