一种基于镜像口解析的智能工控网络数据整合方法与流程

文档序号:11548549阅读:249来源:国知局
一种基于镜像口解析的智能工控网络数据整合方法与流程

本发明涉及工业控制网络大数据采集技术,尤其涉及一种基于镜像口解析的智能工控网络数据整合方法。



背景技术:

智能制造是基于新一代信息技术,贯穿设计、生产、管理、服务等制造活动各个环节,具有信息深度自感知、智慧优化自决策、精准控制自执行等功能的先进制造过程、系统与模式的总称。智能制造最核心的要素是从智能设计、智能控制、智能运营到智能决策,要通过联网的方式进行数据的相互关联。

市场上现有的工控安全解决方案都有局限性,与用户的真实需求存在较大偏差。因此,每一个工厂都使用了大量的国外控制设备,这些控制设备所使用的通讯协议都不同,每一种通讯协议除了正常的工业数据通讯,还包含有设备的状态数据通讯以及可能存在的程序后门数据,这些协议文本只有少量地进行了公开,我们在使用这些设备时,考虑得仅仅是如何使用它的功能,并没有考虑其可能带来的隐患,因此一旦将这些工业控制设备暴露在互联网,势必对我国基础工业设施的安全带来极大的隐患。

在互联网还不发达的时候,工厂设备一般都是物理隔离,没有联网,近些年,许多工厂需要将生产一线的数据传到集团决策部门,来进行高层次的生产调度,许多工厂在完成了基础自动化建设以后,往往需要进行各个平台数据的整合工作,由于上层系统与控制网相连,上层网络从上位机或者上位机的数据库取数据,这些基础的工业控制设备都开始直接或间接的联网,那么一旦发生网络攻击,上位机提供的数据将不可信,迫切需要一种既不影响业务开展、又能保证信息安全的数据整合方法。

本案结合实际情况指出,针对以上方面,需要对现有技术进行有效创新。



技术实现要素:

针对以上缺陷,本发明提供一种基于镜像口解析的智能工控网络数据整合方法,以解决现有技术的诸多不足。

为实现上述目的,本发明采用以下技术方案:

一种基于镜像口解析的智能工控网络数据整合方法,由以下步骤组成:

⑴首先,捕获网络中的数据包,通过对交换机配置镜像功能来实现镜像口的抓包功能后,读取这些数据;

⑵然后再创建连接,将捕获到的这些数据聚集到连接,以tcp状态机或超时300s作为连接的超时标志;

⑶确定连接的客户端和服务端:即遵守三次握手协议的tcp连接,服务器端用来接收syn包或发送syn/ack包;

⑷比较协议头的特征值,确定协议类别;

⑸然后,根据协议功能码,选择不同的协议解析算法;

⑹进行数据展示,根据工控环境正在通讯的输入输出地址来进行匹配数据解析,将解析的数据以ip地址为数据库表名、寄存器地址为数据库地址字段名、寄存器值为数据库数值字段名,进行数据存储;

⑺对外提供数据库访问接口,供工业大数据分析平台使用。

步骤⑶的协议包括modbus协议,数据连接的发送端为服务端,并使用502端口作为服务端口,另一端则为客户端,每次重新建联时该协议会重新生成新的端口,这个端口值可通过解析tcp的rmi协商数据包来获得,最后将同一个服务端口,同样源ip、目的ip、源mac、目的mac的tcp包判断为是同一对客户端和服务端产生。

步骤⑸的每个协议不同命令的功能码也不同,根据不同的功能码需要匹配不同的解析算法。

本发明所述的基于镜像口解析的智能工控网络数据整合方法的有益效果为:

⑴该方法从网络层采集数据可避免上位机被攻击的情况;

⑵由于在网络层存在多种工业协议的数据往来,通过这种采集方式,可同时采集多个plc的实时数据,并可高效地进入同一数据平台,取代了通过不同上位机采集不同plc数据,再往外发送的现有方法,减少了通讯链路,为工厂大数据的基础采集部分提供了可行性极强的新手段。

附图说明

下面根据附图对本发明作进一步详细说明。

图1是本发明实施例所述基于镜像口解析的智能工控网络数据整合方法的流程图;

图2是本发明实施例所述基于镜像口解析的智能工控网络数据整合方法的算法部分示意图。

具体实施方式

如图1-2所示,本发明实施例所述的基于镜像口解析的智能工控网络数据整合方法,所采用的的镜像口数据是一种以基于tcp/ip协议作为工控网络的主要传输协议的集合,该数据集合由源mac地址、目的mac地址、源ip、目的ip、源端口、目的端口、协议类型及通信时间等八元组的双向包的通讯序列组成。

通用的格式是:

tcp/ip工控协议头协议数据段

因此,在解析数据时,需先将tcp/ip的头剥掉,通过工控协议头将协议数据归类到某一协议,再进行协议数据段的解析。

由以下步骤组成:

⑴首先,捕获网络中的数据包,通过对交换机配置镜像功能来实现镜像口的抓包功能后,读取这些数据;

⑵然后再创建连接,将捕获到的这些数据聚集到连接,以tcp状态机或超时300s作为连接的超时标志;

⑶确定连接的客户端和服务端;

包括,遵守三次握手协议的tcp连接,服务器端用来接收syn包或发送syn/ack包。第一次seq:0,第二次seq:0,ack:1,第三次seq:1,ack:1。

例如,modbus协议,数据连接的发送端为服务端,并使用502端口作为服务端口,另一端则为客户端,每次重新建联时该协议会重新生成新的端口,这个端口值可以通过解析tcp的rmi协商数据包来获得,最后将同一个服务端口,同样源ip、目的ip、源mac、目的mac的tcp包判断为是同一对客户端和服务端产生的。

⑷比较协议头的特征值,确定协议类别;

⑸然后,根据协议功能码,选择不同的协议解析算法;每个协议不同命令的功能码也是不同的,例如,modbus协议的16功能码代表的是写多个寄存器,功能码是读多个寄存器,根据不同的功能码需要匹配不同的解析算法。

⑹进行数据展示,根据工控环境正在通讯的输入输出地址来进行匹配数据解析,将解析的数据以ip地址为数据库表名、寄存器地址为数据库地址字段名、寄存器值为数据库数值字段名,进行数据存储;

例如,一个4字节的16进制数,解析成整型是一个数,解析成浮点型又是另外一个数值,必须根据用户配置的数据类型来进行换算;有些协议对浮点数的解析还存在字节顺序变换的问题,例如,在配置modbus协议时,需要选择2143、4321、1234、3412这些不同的字节顺序,这样才可解析出正确的数值。

⑺对外提供数据库访问接口,供工业大数据分析平台使用,例如,管理网的oa系统、mes系统等,这些系统都可访问工厂的生产数据,并且不会因此导致信息安全所引起的停产问题;

通过搭建仿真工业平台,建立不同的业务运行环境,通过镜像口抓包,与实际环境的变量进行比对,最终解析出对应数据的含义,验证实际数值。

以上本发明实施例所述的基于镜像口解析的智能工控网络数据整合方法,,其具体应用实例如下:

例一,fins协议中的一段数据帧:

首先在上位机页面上对dw100的数据写入39,同时通过镜像口进行数据抓包,可以得到以下数据包:

fins协议头:46494e530000001e0000000200000000

fins数据段:80000200010000ef000001028200640000020000421c

其中最重要的部分如下:

内存写命令:0102

区域码:82

起始地址:0064

对应数值:0000421c

解析结果:0064转换为十进制为100,区域码对应的数据类型为dword,0000421c通过float16进制解析算法得出39。该值在plc中对应的仪表为温度,因此可以通过镜像口解析获得现场某个环境的温度数据。

例2:s7协议中的一段数据帧:

首先在上位机页面上对db2.dbd0的数据写入13,同时通过镜像口进行数据抓包,可以得到以下数据包:

s7协议头:3201000c00000e00080501120a10

s7数据段:0200040002840000000004002041500000

其中最重要的部分如下:

功能码类型:02

数据块地址:0002

区域号:8400

数据偏移地址:0000

对应数值:41500000

解析结果:0002解析为db2,偏移地址解析为0,对应数值解析为13,该值在plc中对应的仪表为液位高度,因此可以通过镜像口解析获得现场某个环境的液位数据。

上述对实施例的描述是为了便于该技术领域的普通技术人员能够理解和应用本案技术,熟悉本领域技术的人员显然可轻易对这些实例做出各种修改,并把在此说明的一般原理应用到其它实施例中而不必经过创造性的劳动。因此,本案不限于以上实施例,本领域的技术人员根据本案的揭示,对于本案做出的改进和修改都应该在本案的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1