【工控协议专题】使用Wireshark分析常见工控协议

在工控系统中通信协议存在众多标准,也存在众多私有协议,如果你有过使用组态软件的经历,你便会发现,在第一步连接设备时除连接设备的方式有以太网/串行等方式外,各家基本上都存在自己的私有通信协议。

上图为,某SCADA软件驱动配置界面

大家都知道普遍的工控协议在传输的过程不加密、协议上无认证,往往可以通过协议分析,并形成一些测试用例针对特定运行环境下支持该协议的设备达到异常运行的效果。如之前提到过的强制操作物理输出(使用FINS协议攻击欧姆龙(Omron)PLC的物理(I/O)输出)、程序的上传下载、重置设备状态等。而这个过程中除官方提供的一些协议文档外,像wireshark也支持了大量的工控协议,可以很方便的了解协议中的一些字段的功能、命令等。

私有协议分类

在众多公开或私有协议中可分为如下几类:
标准协议:国际标准或公认的标准协议,如Modbus、DNP3、IEC104等
私有公开:只有厂商自己设备支持并提供官方协议文档,如Omron FINS协议、三菱Melsec协议等
私有不公开:只有厂商自己设备支持且官方不提供协议文档,如S7、西门子PPI协议、GE SRTP等

使用Wireshark分析常见工控协议

Wireshark是一个强大开源流量与协议分析工具,除了传统网络协议解码外,还支持众多主流和标准工控协议的分析与解码。为此我整理了Wireshark源码中涉及与自控有关的协议的packet dissection实现代码路径,供大家参考和自己留存。

序号协议类型源码下载简介
1Siemens S7https://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-s7comm.c西门子PLC支持的通讯协议
2MMS(IEC61850)https://github.com/wireshark/wireshark/tree/master/asn1/mms输配电通讯协议
3GOOSE(IEC61850)https://github.com/wireshark/wireshark/tree/master/asn1/goose输配电通讯协议
4SV(IEC61850)https://github.com/wireshark/wireshark/tree/master/asn1/sv输配电通讯协议
5Modbushttps://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-mbtcp.c工控标准协议
6OPC DAhttps://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-dcom.c工控标准协议
7FF HSEhttps://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-ff.c基金会现场总线以太网通信协定
8IEC 104https://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-iec104.c输配电通讯协议
9Ethernet POWERLINKhttps://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-epl.c开放式实时以太网通信
10OPC UAhttps://github.com/wireshark/wireshark/tree/master/plugins/opcua/opcua.cOPC新一代标准
11HART-IPhttps://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-hartip.c高速可寻址远程传感器协议
12CoAPhttps://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-coap.c轻量应用层协议
13Omron FINShttps://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-omron-fins.c欧姆龙PLC支持的通讯协定
14openSAFETYhttps://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-opensafety.c开源安全应用协议
15EGD(Ethernet Global Data)https://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-egd.cGE Fanuc为PLC开发的通讯协定
16DNP3https://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-dnp.c分布式网络协议,主要用于电力行业
17Sinec H1https://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-h1.c西门子PLC支持的通讯协议
18Profinethttps://github.com/wireshark/wireshark/tree/master/plugins/profinet/开放式的工业以太网通讯协定
19EtherCAThttps://github.com/wireshark/wireshark/tree/master/plugins/ethercat/德国Beckhoff公司推动的开放式实时以太网通讯协定
20SERCOS IIIhttps://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-sercosiii.c实时以太网通讯协定
21RTPShttps://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-rtps.c实时流传输协议
22TTEthernethttps://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-tte.c实时以太网通讯协定
23CDThttps://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-cdt.c远动规约
24EtherNet/IPhttps://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-etherip.c工业通讯协定(Industrial Protocol),是一种CIP的实现方式,由罗克韦尔自动化公司所设计
25CIPhttps://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-cip.c通用工业协定
26CIP Safetyhttps://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-cipsafety.c安全通用工业协定
27DeviceNethttps://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-devicenet.c一种CIP的实现方式,由Allen-Bradley公司所设计
28BACnethttps://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-bacnet.c楼宇自动控制网络数据通讯协议
29KNXnet/IPhttps://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-knxnetip.c住宅和楼宇控制标准
30Lontalkhttps://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-lon.c埃施朗公司的LonWorks技术所使用的通讯协议
31CANopenhttps://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-canopen.c控制局域网通讯协定
32SAE J1939https://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-j1939.c一种CAN的变种,适用在农业车辆及商用车辆
33USITT DMX512-Ahttps://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-dmx.c灯光控制数据传输协议
34BSSAP/BSAPhttps://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-bssap.c由Bristol Babcock Inc发展的通讯协定
35Gryphonhttps://github.com/wireshark/wireshark/tree/master/plugins/gryphon车用通讯协定
36ZigBeehttps://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-zbee.h开放式的无线通讯协定
 
  • 7
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值