OPC安全研究分析
前言:
随着过程控制自动化的发展,自动化系统厂商希望能够集成不同厂家的不同硬件设备和软件产品,各家设备之间实现互操作工业现场的数据能够从车间级汇入到整个企业信息系统中。正是基于这种需要产生了OPC标准,有了这样一个标准,使得系统与设备之间,完全无缝地真正开放和方便地进行企业级的通信成为可能。越来越多的硬件制造商和软件开发商为其产品提供OPC支持,OPC已成为新一代工业过程控制软件接口标准。
OPC介绍:
首先,什么是OPC呢?OPC代表OLE(对象链接和嵌入)Process Control(过程控制)。OPC是最流行的数据连接标准,用于在控制器,设备,应用程序和其他基于服务器的系统之间进行通信,而无需进入数据传输的自定义驱动程序。
OPC流行的三个优点:
1、计算机硬件厂商只需要编写一套驱动程序就可以满足不同用户的需要。硬件供应商只需提供一套符合OPC Server规范的程序组,无需考虑工程人员需求。
2、应用程序开发者只需编写一个接口程序便可以连接不同的设备。软件开发商无需重写大量的设备驱动程序。
3、工程人员在设备选型上有了更多的选择。对于最终用户而言,可以根据实际情况的不同,选择符合实际的设备。
OPC-UA介绍:
既然OPC介绍了,OPC-UA也逃不掉,OPC UA(Unified Architecture,统一架构)是下一代的OPC 标准,通过提供一个完整的,安全和可靠的跨平台的架构,以获取实时和历史数据和时间。OPC是基于DOM/COM上,应用层最顶层;OPC UA是基于TCP IPscoket 传输层。
OPC COM标准使用近15年了,下面几个优点就是OPC UA应运而生的原因:
1.一个通用接口集成了之前所有OPC的特性和信息,A&E,DA,OPC XML DA or HDA
2.更加开放,平台无关性,WINDOWS,LINUX都能兼容
3.扩展了对象类型,支持更复杂的数据类型比如变量,方法和事件
4.在协议和应用层集成了安全功能,更加安全
5.易于配置和使用
OPC Client and OPC server:
接下来就得简单说一下OPC是怎么用的了,有OPC Client(OPC客户端)和OPC Server (OPC服务器)两种。
OPC客户端是用来进行人机交互发送指令的,OPC客户端需要请求和写入数据就一定要有OPC服务器,OPC服务器可以看作是协议转换器,用来连接各种PLC硬件设备。OPC Server 提供了许多的接口,Client 端通过这些接口,可以取得与 OPC Server 相连的硬件装度置的信息,而无须了解这些硬件装置的细节信息。通常情况下,OPC Server在OPC Client请求读取或写入数据之前不会执行任何操作。
KEPserverEX连接PLC S7-300:
接下来是实际操作,市面上有名的好用的一般是Matrikon和Kepware两家公司的产品,
功能强大,标准,稳定,日志信息丰富。这次我选用的是Kepware家的KEPServerEX,
作者徽是vip1024c
具体的介绍如下图所示:
下图是我设置好连接西门子S7-300的样子
1、首先在连接性处新建通道,设置网卡、通道类型和名称等
2、在名称为西门子PLC的地方新建设备,选择S7型号为300,设置PLC的ip地址等
3、在S7-300处设置标记,地址填为DB1.INT00
4、那是快速打开OPC Client的图标
5、打开Clinet端后已经出现了设置好的S7-300的信息
在设置与PLC的连接的时候,有几个注意事项:
1、通道类型选择Siemens S7 MPI 指PLC300,Siemens S7-200:指PLC200,Siemens TCP/IP Eethernet:PLC200和PLC300均可。
2、Kepware公司的OPCServer需要花钱的不是OPCServer本身,而是采集驱动。不过Kepware公司的OPCServer提供了不花钱的仿真驱动,用来测试上非常好的。下方两小时的实现就是所谓的驱动收费限制。
3、当网络断开,与PLC连接不上时,server会直接打印日志信息提醒你。
我截取了Client端连接PLC成功进行操作和失败的图,下图Quality通信状态显示良好和bad。成功后就可以对group里面的item进行读取和写入数据啦。
OpenOPC连接介绍:
聊了OPC和KEPserverEX的实际连接PLC,那python里的OpenOPC模块也不得不说,使用OpenOpc可以从其他平台访问OPC服务器。OpcOpen通过安装一个服务,允许远程的 TCP/IP链接传输OPC数据,从而越过DCOM来访问远程OPC服务器。
运行部署OpenOPC需要python2.7win32,首先我先检测到在电脑上运行的server是Kepware.KEPServerEX.V6
还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!
【完整版领取方式在文末!!】
93道网络安全面试题
内容实在太多,不一一截图了
黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供: