使用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开放式的无线通讯协定

 

原文地址:https://blog.csdn.net/thanklife/article/details/120867129

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


咱们在vscode中使用copilot的过程中,有可能会涉及到个人账号和其他账号的互相切换,在网上找了半天都没找到相应的资料,于是就自己摸索了一下,终于找到了方法。解决思路:经过试验,github copilot插件是使用的vsc
这篇文章给大家介绍怎么在GitHub上快速找到实用资源,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。搜热门:GitHub Trend 和 GitHub Top...
这篇文章主要介绍“github缓存穿透的解决方法是什么”,在日常操作中,相信很多人在github缓存穿透的解决方法是什么问题上存在疑惑,小编查阅了各式资料,整理出...
本篇内容介绍了“github线性回归怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧...
怎样使用GitHub,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。GitHub简介...
今天小编给大家分享一下GitHub的高级搜索方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下...
这期内容当中小编将会给大家带来有关Github 1.9K Star的数据治理框架Amundsen如何理解,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可...
本篇文章为大家展示了git如何设置代理提升github clone速度,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。github...
本篇内容介绍了“github怎么实现FaceU边框模糊效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理...
本篇内容介绍了“GitHub基础操作有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧...
这篇文章主要介绍了Github操作技巧实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Github操作技巧实例分析文章都会有
今天小编给大家分享一下github设备激活的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大...
本文小编为大家详细介绍“GitHub的命令行工具有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“GitHub的命令行工具有哪些”文章能帮助大家解决疑惑,下面...
本篇内容主要讲解“GitHub网页githubusercontent地址无法访问怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大...
本文小编为大家详细介绍“怎么使用Github Action发布jar到Maven中央仓库”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用Github Action发布jar到Maven...
本文小编为大家详细介绍“GitHub中如何修改默认的分支”,内容详细,步骤清晰,细节处理妥当,希望这篇“GitHub中如何修改默认的分支”文章能帮助大家解决疑惑...
这篇“Github访问速度慢及图片加载慢问题怎么处理”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价
这篇文章主要介绍“vue项目打包上传github并制作预览链接的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue...
这篇文章主要讲解了“访问不了github怎么处理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“访问不了gith...
今天小编给大家分享一下GitHub访问不了怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希