一种基于工艺流程并网络流量的实时数据采集方法

allin2022-09-28  206



1.本发明涉及一种实时数据采集方法,特别是涉及一种基于工艺流程并网络流量的实时数据采集方法。


背景技术:

2.随着网络技术的快速发展,信息化与传统工业产生了不可避免的融合,工业互联网已经深入改造了传统工业模式,智能化、无人化将会成为未来工厂的发展趋势。
3.工业控制系统作为工业互联网的核心组成部分,已经应用于各个工控行业,如电力系统、石油化工、轨道交通等,通过对工控系统中工业大数据的采集与分析,不仅可以远程查看实时数据,还可以为企业生产提供相应的安全生产指导,进而提升企业效率。
4.当前,工业数据采集大多是简单的将原始数据发送至服务器进行存储,存储形式单一,不能与工艺流程具体变量建立关联,当面对复杂工艺的大批量数据时,数据的采集、传输、存储还会大大增加服务器负载,严重时还会导致服务器瘫痪。


技术实现要素:

5.本发明的目的在于提供一种基于工艺流程并网络流量的实时数据采集方法,本发明在工业控制系统获取工业镜像流量,通过对实时流量进行协议解析,将解析数据存储至旁路数据库并与工艺流程控制变量建立关联,根据工艺流程对解析数据展开进一步分析,使数据采集过程中分散、单一、不便于分析等问题得到了改善,可以更加高效的获取工控系统实时数据,并可对实时数据进行安全分析,提高了工控系统安全性、可靠性。
6.本发明的目的是通过以下技术方案实现的:一种基于工艺流程并网络流量的实时数据采集方法,所述方法包括以下过程:在工业控制网络交换机进行网络流量镜像采集,进行旁路部署获取工业旁路流量;将采集流量引入suricata流量分析引擎框架,suricata对流经流量进行数据采集操作;基于suricata流量分析引擎,针对不同工艺采用的不同工控协议进行协议解析;对suricata协议解析日志通过logstash进行日志数据收集,并将收集数据转存至elasticsearch数据库;基于工艺流程,将工艺控制变量与协议解析所得参数进行匹配,并进行可视化界面展示;通过对工业控制网络核心交换机进行流量镜像处理,对通过核心交换机的全流量进行采集;通过suricata框架对流量进行数据采集,流量通过suricata解析框架进行协议识别,suricata可具备识别http, ssl, smtp, ftp, ssh, dns协议,识别modbus,s7工控协议。
7.所述的一种基于工艺流程并网络流量的实时数据采集方法,所述针对不同工控采用的不同工控协议与其对应的suricata解析框架也不同,需根据工艺信息进一步配置。
8.所述的一种基于工艺流程并网络流量的实时数据采集方法,所述suricata对流经
流量进行数据采集操作,采集流量通过suricata解析框架进行协议解析,解析流经数据包的时间戳、源端口、源ip、目的端口、目的ip、传输协议信息。
9.所述的一种基于工艺流程并网络流量的实时数据采集方法,所述协议解析包括对工控协议的语句级解析,通过对工控环境数据包提取,并结合工艺流程,分析工艺参数对应的数据包及具体数据所在片段,并通过修改suricata框架,将具体参数名及对应参数以日志形式输出。
10.所述的一种基于工艺流程并网络流量的实时数据采集方法,所述日志数据收集过程包括通过logstash将suricata输出日志进行缓存,以及格式转换,然后存入elasticsearch数据库。
11.所述的一种基于工艺流程并网络流量的实时数据采集方法,所述存入elasticsearch数据库,包括存入数据库的协议解析参数与工艺流程控制变量相对应,通过查看工艺变量名称便可查看其关联协议解析变量。
12.所述的一种基于工艺流程并网络流量的实时数据采集方法,所述工艺变量信息包含:变量名称、数据类型、格式、地址信息、数值。
13.所述的一种基于工艺流程并网络流量的实时数据采集方法,所述存入elasticsearch数据库中存储的工业变量信息及其关联的协议解析参数通过web前端界面进行分组处理并实时展示。
附图说明
14.图1为本发明流程示意图;图2为本发明实施例协议解析变量与工艺流程控制变量对应表图片;图3为本发明实施例数据采集系统实时协议解析参数展示前端界面图片。
具体实施方式
15.下面结合附图所示实施例对本发明进行详细说明。
16.本发明包括在工业控制网络交换机进行网络流量镜像采集,进行旁路部署采集,将采集流量引入suricata流量分析引擎框架,suricata对流经流量进行数据采集操作;基于suricata流量分析引擎,针对不同工艺采用的不同工控协议进行协议解析;对suricata协议解析日志通过logstash进行日志数据收集,并将收集数据转存至elastisearch数据库;基于工艺流程,将工艺控制变量与协议解析所得参数进行匹配,并进行可视化界面展示。
17.通过对工业控制网络核心交换机进行流量镜像,对通过核心交换机的全流量进行采集。
18.采集流量通过suricata解析框架进行协议识别,suricata可具备识别http, ssl, smtp, ftp, ssh, dns等协议,也可识别modbus,s7等工控协议。
19.根据不同工控设备采用的不同工控协议,与其对应的suricata解析框架也不同,需根据工艺信息进一步配置。
20.不同工艺设备采用通讯协议不同,其适配组态软件也不相同。例如:西门子plc设备,通常与wincc组态进行搭配,选用通讯协议为s7协议;罗克韦尔plc设备,通常与rsview
组态进行搭配,选用通讯协议为df1协议。还有一部分设备厂商没有设计对应的组态原件,需要其他第三方设备来完成设备部署,相应的也会选择与之适配的通讯协议。
21.采集流量通过suricata解析框架进行协议解析,可以解析流经数据包的时间戳、源端口、源ip、目的端口、目的ip、传输协议等信息。
22.协议解析包括,对工控协议的语句级解析:通过对工控环境数据包提取,并结合工艺流程,分析工艺参数对应的数据包及具体数据所在片段,并通过修改suricata框架,将具体参数名及对应参数以日志形式输出。
23.日志采集过程包括,通过logstash将suricata输出日志进行缓存,以及格式转换,然后存入elasticsearch数据库。
24.存入数据库的协议解析参数与工艺流程控制变量相对应,通过查看工艺变量名称便可查看其关联协议解析变量。工艺变量信息包含:变量名称、数据类型、格式、地址信息、数值等。
25.将数据库中存储的工业变量信息及其关联的协议解析参数通过web前端界面进行分组处理并实时展示。
26.本发明实施例的第二方面,包括电子设备,至少包括存储器、处理器以及存储在存储器中并可以在处理器运行的计算机程序,处理器执行计算机程序时,实现本发明实施例第一方面的步骤。
27.本发明实施例的第三方面,包括计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现本发明实施例第一方面的步骤。
28.本发明实施例中,通过对工业控制网络核心交换机进行网络流量旁路镜像采集,并将采集到的实时流量输入至suricata框架,suricata框架根据操作步骤对通过流量进行数据收集及协议解析,然后将解析日志输出至logstash,进行日志数据收集及格式转换,然后将转换后数据输出至elasticsearch数据库并与工艺流程控制变量建立对应连接,并通过web前端界面进行分组处并实时展示,以便对数据进行分析。从而使数据采集过程中分散、单一、不便于分析等问题得到了改善。
29.以下结合实施例对本发明做进一步描述,同时对实施例涉及的部分名词说明如下:suricata是一个免费、开源、成熟、快速、健壮的网络威胁检测引擎。suricata引擎能够进行实时入侵检测(ids)、内联入侵预防(ips)、网络安全监控(nsm)和离线pcap处理。suricata使用强大而广泛的规则和签名语言来检查网络流量,并提供强大的lua脚本支持来检测复杂的威胁。
30.logstash是一个开源数据收集引擎,具有实时管道功能。logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地。
31.elasticsearch是一个基于lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于restful web接口。
32.图1为本发明实施例提供的一种基于工艺的、网络流量实时数据采集方法的流程示意图。
33.本发明方法工艺步骤如下:在工业控制网络交换机进行实时流量镜像采集,获取工业旁路流量;
将采集流量引入suricata流量分析引擎框架,suricata对流经流量进行数据采集操作;基于suricata流量分析引擎,针对不同工控协议进行协议解析;随后对suricata协议解析日志通过logstash进行日志数据收集,并将收集数据转入elasticsearch数据库;基于工艺流程,将工艺控制变量与协议解析所得参数进行匹配,并进行可视化界面展示。
34.在实施例中,suricata负责对工控协议的解析及输出工作。suricata主要包括线程、线程模块和队列三个部分。suricata具有多线程的特点,可以同时运行多个线程。根据具体功能对线程进行划分,不同的线程模块执行不同的任务。这可以保障数据包协议识别与协议解析同时工作。
35.在实施例中,suricata框架包括数据接收模块、解码模块、流水线模块、判决模块、重发模块、日志模块。数据包通过抓包模块进行获取,并进行简单封装,然后送入解码模块,解码模块根据数据包链路类型解码获得对应数据包上层协议。
36.在实施例中,协议解析系统主要分为协议解析模块及数据管理模块。
37.协议解析模块通过编写suricata框架完成,主要划分为网络报文解析模块、协议输出模块:网络报文模块主要负责网络报文协议解析工作,通过suricata获取需要解析的网络报文并进行详细解析。本方法采用suricata对接收的流量直接封装为数据包进行解析,通过对suricata框架设计协议结构体和协议解析函数,协议结构体负责解析结果的存储,协议解析函数负责对网络报文注意解析并赋值给相应的结构体字段,解析完成后,结构体字段由线程保存并在输出线程中调用。
38.协议输出模块负责将解析结果输出至具体文件中,以供输出调用。在协议输出过程中,将结构体中需要输出的字段及相应的字段数据输出到日志文件中。输出文件主要包括源ip、目的ip、源端口、目的端口、协议类别以及数据层的工控操作数据。
39.图2为wincc变量表。wincc是西门子tia(全集成自动化)架构中基于pc的hmi/scada软件系统。通过其中的变量管理功能,将针对西门子s7协议的协议数据,进行协议解析与变量表中参数进行匹配,实现对协议解析单一数据的扩展。
40.根据工业环境中具体工艺流程采用设备的不同,其对应的组态软件也不尽相同,对应的通讯协议也会发生相应改变。
41.图2实施例中采用工控设备为西门子plc,其通讯协议为s7协议,在其配套组态软件wincc中获取变量信息;再如,罗克韦尔plc设备通常选用df1通讯协议,其对应的组态软件为rsview。还有部分设备支持多项通讯协议,还可兼容第三方组态软件。所以,工控设备采用的通讯协议及对应的工艺环节变量信息的获取都需要一一匹配。
42.数据管理模块主要为数据和系统管理设计,主要包括用户管理模块、解析数据管理模块和历史数据管理模块:用户管理模块主要针对访问用户进行统一管理,主要包括身份id、姓名等,所有使用该系统用户统一将信息录入此模块。
43.解析数据管理模块主要是对已解析完成数据进行管理的模块,该模块需要与
suricata解析输出的数据文件进行交互,对suricata输出的文件具有编辑保存权限。
44.历史数据管理模块是对历史已解析完成数据进行保存管理,可以通过该模块进行数据统计、分析等功能,该模块具有与elasticsearch数据库交互能力。可以对历史数据进行编辑保存权限。
45.图3为数据采集系统实时协议解析参数展示前端界面。
46.通过提取数据库中数据并建立展示界面。图中借助活力发电厂为背景,通过对控制中心网络流量采集并进行协议解析,并结合工艺流程将解析数据分别对应不同系统,每个系统包含参数名称、具体数值、时间等信息。
47.显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

技术特征:
1.一种基于工艺流程并网络流量的实时数据采集方法,其特征在于,所述方法包括以下过程:在工业控制网络交换机进行网络流量镜像采集,进行旁路部署获取工业旁路流量;将采集流量引入suricata流量分析引擎框架,suricata对流经流量进行数据采集操作;基于suricata流量分析引擎,针对不同工艺采用的不同工控协议进行协议解析;对suricata协议解析日志通过logstash进行日志数据收集,并将收集数据转存至elasticsearch数据库;基于工艺流程,将工艺控制变量与协议解析所得参数进行匹配,并进行可视化界面展示;通过对工业控制网络核心交换机进行流量镜像处理,对通过核心交换机的全流量进行采集;通过suricata框架对流量进行数据采集,流量通过suricata解析框架进行协议识别,suricata可具备识别http, ssl, smtp, ftp, ssh, dns协议,识别modbus,s7工控协议。2.根据权利要求1所述的一种基于工艺流程并网络流量的实时数据采集方法,其特征在于,所述针对不同工控采用的不同工控协议与其对应的suricata解析框架也不同,需根据工艺信息进一步配置。3.根据权利要求1所述的一种基于工艺流程并网络流量的实时数据采集方法,其特征在于,所述suricata对流经流量进行数据采集操作,采集流量通过suricata解析框架进行协议解析,解析流经数据包的时间戳、源端口、源ip、目的端口、目的ip、传输协议信息。4.根据权利要求1所述的一种基于工艺流程并网络流量的实时数据采集方法,其特征在于,所述协议解析包括对工控协议的语句级解析,通过对工控环境数据包提取,并结合工艺流程,分析工艺参数对应的数据包及具体数据所在片段,并通过修改suricata框架,将具体参数名及对应参数以日志形式输出。5.根据权利要求1所述的一种基于工艺流程并网络流量的实时数据采集方法,其特征在于,所述日志数据收集过程包括通过logstash将suricata输出日志进行缓存,以及格式转换,然后存入elasticsearch数据库。6.根据权利要求5所述的一种基于工艺流程并网络流量的实时数据采集方法,其特征在于,所述存入elasticsearch数据库,包括存入数据库的协议解析参数与工艺流程控制变量相对应,通过查看工艺变量名称便可查看其关联协议解析变量。7.根据权利要求6所述的一种基于工艺流程并网络流量的实时数据采集方法,其特征在于,所述工艺变量信息包含:变量名称、数据类型、格式、地址信息、数值。8.根据权利要求5所述的一种基于工艺流程并网络流量的实时数据采集方法,其特征在于,所述存入elasticsearch数据库中存储的工业变量信息及其关联的协议解析参数通过web前端界面进行分组处理并实时展示。

技术总结
一种基于工艺流程并网络流量的实时数据采集方法,涉及一种实时数据采集方法,该方法包括在工业控制网络交换机进行实时流量镜像采集,获取工业旁路流量;将采集流量引入Suricata流量分析引擎框架,Suricata对流经流量进行数据采集操作;基于Suricata流量分析引擎,针对不同工控协议进行协议解析;随后对Suricata协议解析日志通过Logstash进行日志数据收集,并将收集数据转入ElasticSearch数据库;基于工艺流程,将工艺控制变量与协议解析所得参数进行匹配,并进行可视化界面展示。本发明可以更加高效的获取工控系统实时数据,并可对实时数据进行安全分析,提高了工控系统安全性、可靠性。可靠性。可靠性。


技术研发人员:何戡 陈金喆 宗学军 杨忠君 连莲 齐济
受保护的技术使用者:沈阳化工大学
技术研发日:2022.02.23
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-3675.html

最新回复(0)