CN117596193B - 一种基于神经网络的报文协议识别方法及系统 - Google Patents
一种基于神经网络的报文协议识别方法及系统 Download PDFInfo
- Publication number
- CN117596193B CN117596193B CN202311549548.7A CN202311549548A CN117596193B CN 117596193 B CN117596193 B CN 117596193B CN 202311549548 A CN202311549548 A CN 202311549548A CN 117596193 B CN117596193 B CN 117596193B
- Authority
- CN
- China
- Prior art keywords
- message
- difference
- matrix
- neural network
- data packets
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 68
- 238000000034 method Methods 0.000 title claims abstract description 34
- 239000013598 vector Substances 0.000 claims abstract description 52
- 238000012216 screening Methods 0.000 claims abstract description 12
- 239000011159 matrix material Substances 0.000 claims description 70
- 238000000605 extraction Methods 0.000 claims description 37
- 230000015654 memory Effects 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 abstract description 15
- 238000004891 communication Methods 0.000 abstract description 9
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000012986 modification Methods 0.000 abstract description 4
- 230000004048 modification Effects 0.000 abstract description 4
- 238000012545 processing Methods 0.000 description 6
- 238000003062 neural network model Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000009413 insulation Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及基于神经网络的报文协议识别方法及系统,其先获取多个报文数据包,然后基于相似度筛选得到多个目标报文序列,最后根据相同位置的数值的差异,得到报文特征向量,通过预设神经网络分析模型得到报文数据包的协议种类。相比于现有技术,本发明能够通过报文数据包的差异进行自动筛选和整理分析,然后利用先进的神经网络技术进行识别,以方便快速地识别出报文数据包采用的通讯协议,进而方便后续使用现有的协议转换硬件或软件进行协议转换。本发明可以和现有的协议转换硬件或软件结合至一起,实现不同协议的设备之间的快速连接,极大地缩短了智能水电站中网络系统的搭设,并且还为后续的系统的拓展修改提供了极大的便利性。
Description
技术领域
本发明涉及可编程智能控制器技术领域,尤其涉及一种基于神经网络的报文协议识别方法及系统。
背景技术
随着信息技术的进步,工业通信经常需要多个设备之间的信息共享和数据交换。工业现场的许多设备采用的通信接口各不相同,由于各种通信结构的协议不兼容,使得异构网络之间的操作和信息交换难以进行。
特别是在智能水电站中,其通常需要传出多种不同的数据,使用不同的设备,例如:监测传感器用于收集水位、温度和压力等参数数据;控制器用于监控和控制水泵、阀门和发电机组等设备;数据记录器用于存储历史数据和运行日志;而计算机监控系统则用于实时监测和远程操作水电站的各个部分。这些设备可能来自不同的厂商,采用不同的通信协议和数据格式。因此,实现这些不同设备之间的数据共享和交换变得至关重要。
目前市面上能买到的简易协议转换器只能完成点对点的转换,多种协议之间的相互转换无法实现。也有一些网关产品可以进行协议转换,但大部分都无法进行协议解析,即无法识别获取的报文数据包的协议,需要人工翻阅设备的说明手册去确认,这为智能水电在的建设工作带来了许多不便之处。因此,仅依靠现有协议转换器无法满足智能水电站的需求,而且手动确认协议会浪费大量时间和人力资源。所以人们急需一种更先进的识别协议的解决方案。
发明内容
有鉴于此,有必要提供一种基于神经网络的报文协议识别方法及系统,用以解决现有技术中如何识别协议的问题。
为达到上述技术目的,本发明采取了以下技术方案:
第一方面,本发明提供了一种基于神经网络的报文协议识别方法,包括:
获取多个报文数据包;
基于多个报文数据包的相似度筛选多个报文数据包,得到多个目标报文序列;
根据多个目标报文序列中相同位置的数值的差异,得到报文特征向量;
将所述报文特征向量输入至预设神经网络分析模型中,得到所述预设神经网络分析模型输出的协议种类。
进一步的,所述获取多个报文数据包,包括:
获取数据流;
识别所述数据流中的预设报头字段,并基于所述预设报头字段分割所述数据流,得到所述多个报文数据包。
进一步的,所述基于多个报文数据包的相似度筛选多个报文数据包,得到多个目标报文序列,包括:
从每个报文数据包的首部截取预设长度的数据序列,得到多个初始报文序列;
基于两个初始报文序列之间的汉明距离,从多个初始报文序列中筛选出相似的多个目标报文序列。
进一步的,所述基于两个初始报文序列之间的汉明距离,从多个初始报文序列中筛选出相似的多个目标报文序列,包括:
求解两个初始报文序列之间的汉明距离,得到差异矩阵,所述差异矩阵的行和列分别代表每个初始报文序列的索引,所述差异矩阵中的元素为其所在的行和列对应的两个初始报文序列之间的汉明距离;
根据所述差异矩阵中每一行的统计特征,得到每个初始报文序列的差异特征值;
选择差异特征值低于预设阈值的初始报文序列,作为目标报文序列。
进一步的,所述根据所述差异矩阵中每一行的统计特征,得到每个初始报文序列的差异特征值,包括:
通过下式得到所述差异特征值:
其中,diff(i)表示差异矩阵A中第i行对应的初始报文序列的差异特征值,A[i,j]表示差异矩阵A中第i行,第j列的元素,n为初始报文序列的长度,a、b分别为不同的调整系数。
进一步的,所述根据多个目标报文序列中相同位置的数值的差异,得到报文特征向量,包括:
以每个目标报文序列为矩阵中的一行,建立特征提取矩阵;
根据所述特征提取矩阵,建立报文特征向量,其中,所述报文特征向量中第t个元素对应所述特征提取矩阵中的第t列,用于表征所述特征提取矩阵中第t列的元素的有序程度。
进一步的,所述根据所述特征提取矩阵,建立报文特征向量,包括:
通过下式得到报文特征向量:
feav(t)=-(p1(Bt)×log2 p1(Bt))+(p0(Bt)×log2 p0(Bt))
其中,feav(t)表示报文特征向量中第t个元素,Bt表示特征提取矩阵B的第t列,p1(Bt)表示特征提取矩阵B的第t列中数值为1的元素个数占比,p0(Bt)表示特征提取矩阵B的第t列中数值为0的元素个数占比。
第二方面,本发明还提供了一种基于神经网络的报文协议识别系统,包括:
数据截取模块,用于获取多个报文数据包;
数据去噪模块,用于基于多个报文数据包的相似度筛选多个报文数据包,得到多个目标报文序列;
特征提取模块,用于根据多个目标报文序列中相同位置的数值的差异,得到报文特征向量;
协议识别模块,用于将所述报文特征向量输入至预设神经网络分析模型中,得到所述预设神经网络分析模型输出的协议种类。
第三方面,本发明还提供了一种电子设备,包括存储器和处理器,其中,
存储器,用于存储程序;
处理器,与存储器耦合,用于执行存储器中存储的程序,以实现上述任一种实现方式中的基于神经网络的报文协议识别方法中的步骤。
第四方面,本发明还提供了一种计算机可读存储介质,用于存储计算机可读取的程序或指令,程序或指令被处理器执行时,能够实现上述任一种实现方式中的基于神经网络的报文协议识别方法中的步骤。
本发明提供一种基于神经网络的报文协议识别方法及系统,其先获取多个报文数据包,然后基于多个报文数据包的相似度筛选多个报文数据包,得到多个目标报文序列,最后根据多个目标报文序列中相同位置的数值的差异,得到报文特征向量,最后将所述报文特征向量输入至预设神经网络分析模型中,得到所述预设神经网络分析模型输出的协议种类。相比于现有技术,本发明能够通过报文数据包的差异进行自动筛选和整理分析,得到描述协议特征的报文特征向量,然后便可以利用先进的神经网络技术进行识别,以方便快速地识别出报文数据包采用的通讯协议,进而方便后续使用现有的协议转换硬件或软件进行协议转换。本发明可以和现有的协议转换硬件或软件结合至一起,实现不同协议的设备之间的快速连接,实现一体化控制,极大地缩短了智能水电站中网络系统的搭设,并且还为后续的系统的拓展修改提供了极大的便利性。
附图说明
图1为本发明提供的基于神经网络的报文协议识别方法一实施例的方法流程图;
图2为图1中步骤S102一实施例的方法流程图;
图3为本发明提供的基于神经网络的报文协议识别系统一实施例的系统架构图;
图4为本发明提供的电子设备一实施例的结构示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
可以理解的是,后文中出现的技术名词、英文缩写等均为现有技术,本领域技术人员能够根据上下文理解其意义,本文中因篇幅原因不做过多说明。
在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明提供了一种基于神经网络的报文协议识别方法、装置、设备及存储介质,以下分别进行说明。
结合图1所示,本发明的一个具体实施例,公开了一种基于神经网络的报文协议识别方法,包括:
S101、获取多个报文数据包;
S102、基于多个报文数据包的相似度筛选多个报文数据包,得到多个目标报文序列;
S103、根据多个目标报文序列中相同位置的数值的差异,得到报文特征向量;
S104、将所述报文特征向量输入至预设神经网络分析模型中,得到所述预设神经网络分析模型输出的协议种类。
相比于现有技术,本发明能够通过报文数据包的差异进行自动筛选和整理分析,得到描述协议特征的报文特征向量,然后便可以利用先进的神经网络技术进行识别,以方便快速地识别出报文数据包采用的通讯协议,进而方便后续使用现有的协议转换硬件或软件进行协议转换。本发明可以和现有的协议转换硬件或软件结合至一起,实现不同协议的设备之间的快速连接,极大地缩短了智能水电站中网络系统的搭设,并且还为后续的系统的拓展修改提供了极大的便利性。
进一步的,在一个优选的实施例中,上述步骤S101、获取多个报文数据包,具体包括:
获取数据流;
识别所述数据流中的预设报头字段,并基于所述预设报头字段分割所述数据流,得到所述多个报文数据包。
实际中,若能够控制发送设备一次发送一条数据,那么将其每一次发送的一条数据作为一个报文数据包即可。显然,在数据量较多,或者无法控制发送设备一次发送一条数据的条件下,执行本方法的设备只能够获取数据流,那么在数据采用的协议未知的情况下,计算机无法准确地识别每一条数据,此时就需要识别数据流中的预设报头字段,并基于预设报头字段对数据流进行预分割,以初步得到包含一条数据的报文数据包。
可以理解的是,实际中不同设备采用的协议区别多为应用层上的不同,如Modbus、CANopen、IEC、OPC和MQTT等。而为了保证通讯的易用性,不同设备在传输层或网络层采用的协议大多是相同的,例如IPV4、TCP协议等。因此,可以选择传输层或网络层的协议中的已知字段,作为预设报头字段进行协议分割,例如选择TCP的报头作为预设报头字段。实际中预设报头字段可以根据需要,结合经验灵活设定。
进一步的,结合图2所示,在一个优选的实施例中,上述步骤S102、基于多个报文数据包的相似度筛选多个报文数据包,得到多个目标报文序列,包括:
S201、从每个报文数据包的首部截取预设长度的数据序列,得到多个初始报文序列;
S202、基于两个初始报文序列之间的汉明距离,从多个初始报文序列中筛选出相似的多个目标报文序列。
数据帧的结构通常包括报头段和数据段,其中数据段用于承载需要传送的信息,因具体信息不同,数据段的长度大小也不尽相同,而报头段则通常采用固定的框架,其长度相等,大多数情况下仅通过报头段便可以识别出协议种类。因此本实施例中先对多个报文数据包进行截取,以尽量截取出包括报头字段的且等长的初始报文序列。同样地,上述预设长度也可以根据实际情况和经验灵活选择。
截取数据之后,本实施例基于汉明距离分析出多个初始报文序列的相似程度,以剔除多个连续的报文数据包中,明显和其他报文不相似的报文序列,达到去噪的目的,使留存的信息最大程度地保留报文的规则特征,提高后续处理的过程。
汉明距离是指两个等长的二进制序列中,不相同二进制位的数量。换而言之,它是两个二进制序列相应位置不同二进制位的数目。本实施例中,使用汉明距离来分析两个二进制序列的优点在于,汉明距离的计算简单,只需要找到两个二进制序列中不相同的二进制位,比较它们的数目即可,同时汉明距离可以精确地表达两个二进制序列之间的差异程度,数值越大表示两个序列越不相似。此外,汉明距离可以扩展为多个二进制序列之间的比较,例如可以对多个序列求平均汉明距离来评估它们之间的相似度或者差异程度。显然,汉明距离很适合本发明的应用场景。
具体地,在一个优选的实施例中,上述步骤S202、基于两个初始报文序列之间的汉明距离,从多个初始报文序列中筛选出相似的多个目标报文序列,具体包括:
求解两个初始报文序列之间的汉明距离,得到差异矩阵,所述差异矩阵的行和列分别代表每个初始报文序列的索引,所述差异矩阵中的元素为其所在的行和列对应的两个初始报文序列之间的汉明距离;
根据所述差异矩阵中每一行的统计特征,得到每个初始报文序列的差异特征值;
选择差异特征值低于预设阈值的初始报文序列,作为目标报文序列。
本发明还提供一更加详细的实施例,用以更加清楚地说明上述步骤:
设目前有5个初始报文序列:
初始报文序列1:10101100;
初始报文序列2:10011100;
初始报文序列3:10101011;
初始报文序列4:11001110;
初始报文序列5:10111000;
然后通过汉明距离计算上述5个初始报文序列的差异特征矩阵为:
上述矩阵第二行第一个元素为2,代表初始报文序列2和初始报文序列1之间的汉明距离为2。通过分析上述矩阵中每一行(或每一列)的数值,便可以分析出该行(列)代表的初始报文序列和其他初始报文序列的差异程度。从以上矩阵可以看出第四行(列)中元素的值普遍较大,那么此时可以认为该行代表的初始报文序列和其他初始报文序列有着明显差异,那么此时应当将第四行(列)代表的初始报文序列剔除。可以理解的是,以上数据仅是为了方便理解而举出的一个简单的实施例,实际中待分析的数据会比上述数据复杂得多。
实际中可以根据具体情况采用任意规则剔除相似度较差的数据,本实施例中采用计算差异特征值的方式来评价相似程度。当差异特征值低于预设阈值时,便证明该差异特征值代表的初始报文序列和其他初始报文序列相似程度较好,此时应当将其作为目标报文序列。
具体地,在一个优选的实施例中,通过下式得到所述差异特征值:
其中,diff(i)表示差异矩阵A中第i行对应的初始报文序列的差异特征值,A[i,j]表示差异矩阵A中第i行,第j列的元素,n为初始报文序列的长度,a、b分别为不同的调整系数。
上式的意义为从平均值和方差两个角度分析差异矩阵中的一行,以达到综合考量的结果。其中第一个系数项对应求解差异矩阵中第i行的平均数,平均数越大表示该行对应的初始报文序列的差异程度越大,但是平均数只能反映数值上的差异大小,而无法表征编码规律上的差别。而第二个系数项则对应求解差异矩阵中第i行的方差,方差越大说明该行数值的波动越大,也代表着该行代表的初始报文序列和其他初始报文序列的差异在保温数据包的获取顺序上不存在着明显的规律。所以本实施例将上述两项结合,并通过a、b两个不同的调整系数平衡二者的影响比重,以得到科学合理的差异特征值。
进一步的,在一个优选的实施例中,上述步骤S103、根据多个目标报文序列中相同位置的数值的差异,得到报文特征向量,具体包括:
以每个目标报文序列为矩阵中的一行,建立特征提取矩阵;
根据所述特征提取矩阵,建立报文特征向量,其中,所述报文特征向量中第t个元素对应所述特征提取矩阵中的第t列,用于表征所述特征提取矩阵中第t列的元素的有序程度。
上述过程通过特征提取矩阵的方式,将多个目标报文序列对齐,特征提取矩阵中的每一列中0和1的不同便可以体现不同目标报文序列中相同位置的数值的差异。本实施例中通过特征描述向量的形式来表征目标报文序列中每一列的差异。
具体地,在一个优选的实施例中,所述根据所述特征提取矩阵,建立报文特征向量,包括:
通过下式得到报文特征向量:
feav(t)=-(p1(Bt)×log2 p1(Bt))+(p0(Bt)×log2 p0(Bt))
其中,feav(t)表示报文特征向量中第t个元素,Bt表示特征提取矩阵B的第t列,p1(Bt)表示特征提取矩阵B的第t列中数值为1的元素个数占比,p0(Bt)表示特征提取矩阵B的第t列中数值为0的元素个数占比。
上述过程实质上是求解“香农熵”的过程,香农熵(Shannon entropy)是信息论中的一个重要概念,用来衡量一个随机变量的不确定性或信息量的平均值。香农熵的核心思想是衡量信息的不确定性或无序程度。越高的香农熵意味着需要更多的信息来描述或表示随机变量。
而本实施例中,通过香浓熵来表征报文特征向量中对应位的元素值,用来度量计算二进制序列的工整程度。
上述公式中,求解得到的香农熵的取值范围是[0,1],其中0表示序列非常有序,全为1或全为0,此时说明特征提取矩阵中对应的第t列的数据全位1或0,进而代表不同目标报文序列中第t位的数字全1为0,此时可以认为第t位为目标报文序列所采用的协议中,具备特殊意义的字段。同理,1表示序列非常无序,1和0的比例相等,此时姑且可以认为特征提取矩阵中对应的第t列的数据不规则,进而代表不同目标报文序列中第t位的数字随机性较高,此时可以认为第t位为目标报文序列所采用的协议中,不具备特殊意义的字段。当所有位的香农熵全部计算完成后,便得到了报文特征向量,报文特征向量中的元素按照目标报文序列中对应的位数排序,保留了顺序信息,那么此时通过报文特征向量中每个香浓熵的值,以及不同香浓熵之间的位置关系,便可以分析得到目标报文序列采用的协议种类。
本实施例中选用提前训练好的预设神经网络来解析报文特征向量。即步骤S104。用于识别报文协议的预设神经网络模型可以是多种类型,实际中取决于具体的场景和需求,例如,可以采用循环神经网络(Recurrent Neural Network,RNN)的模型作为预设神经网络模型,RNN是一类适用于处理序列数据的神经网络模型,对于报文协议识别来说,可以利用RNN来捕捉报文特征向量中的时序信息。其中,长短期记忆网络(Long Short-TermMemory,LSTM)和门控循环单元(Gated Recurrent Unit,GRU)是常用的RNN变体,可以有效地处理长期依赖关系。
再例如,也可以采用基于注意力机制(Attention Mechanism)的预设神经网络模型,注意力机制可以用于在长文本或序列中加强模型对于关键部分的关注。在分析报文特征向量中,可以针对关键字段或重要序列位置(例如香农熵为0或1的位置,或香农熵成有规律递增/递减的位置)引入注意力机制,以提高模型对于协议类型的判断能力。
例如,可以理解的是,通过神经网络分析一个特征向量为现有技术,在本实施例提供编码方式(即上述报文特征向量)的情况下,该过程中如何准备样本,如何训练神经网络模型、优化模型均为本领域技术人员能够理解并实施的技术,本文不做过多说明。
为了更好实施本发明实施例中的基于神经网络的报文协议识别方法,在基于神经网络的报文协议识别方法基础之上,对应的,请参阅图3,图3为本发明提供的基于神经网络的报文协议识别系统的一实施例的结构示意图,本发明实施例提供的一种基于神经网络的报文协议识别系统300,包括:
数据截取模块310,用于获取多个报文数据包;
数据去噪模块320,用于基于多个报文数据包的相似度筛选多个报文数据包,得到多个目标报文序列;
特征提取模块330,用于根据多个目标报文序列中相同位置的数值的差异,得到报文特征向量;
协议识别模块340,用于将所述报文特征向量输入至预设神经网络分析模型中,得到所述预设神经网络分析模型输出的协议种类。
这里需要说明的是:上述实施例提供的对应的系统300可实现上述各方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述方法实施例中的相应内容,此处不再赘述。
请参阅图4,图4为本发明实施例提供的电子设备的结构示意图。基于上述基于神经网络的报文协议识别方法,本发明还相应提供了一种基于神经网络的报文协议识别设备400,即上述电子设备,基于神经网络的报文协议识别设备400可以是移动终端、桌上型计算机、笔记本、掌上电脑及服务器等计算设备。该基于神经网络的报文协议识别设备400包括处理器410、存储器420及显示器430。图4仅示出了基于神经网络的报文协议识别设备的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
存储器420在一些实施例中可以是基于神经网络的报文协议识别设备400的内部存储单元,例如基于神经网络的报文协议识别设备400的硬盘或内存。存储器420在另一些实施例中也可以是基于神经网络的报文协议识别设备400的外部存储设备,例如基于神经网络的报文协议识别设备400上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器420还可以既包括基于神经网络的报文协议识别设备400的内部存储单元也包括外部存储设备。存储器420用于存储安装于基于神经网络的报文协议识别设备400的应用软件及各类数据,例如安装基于神经网络的报文协议识别设备400的程序代码等。存储器420还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器420上存储有基于神经网络的报文协议识别程序440,该基于神经网络的报文协议识别程序440可被处理器410所执行,从而实现本申请各实施例的基于神经网络的报文协议识别方法。
处理器410在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器420中存储的程序代码或处理数据,例如执行基于神经网络的报文协议识别方法等。
显示器430在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。显示器430用于显示在基于神经网络的报文协议识别设备400的信息以及用于显示可视化的用户界面。基于神经网络的报文协议识别设备400的部件410-430通过系统总线相互通信。
在一实施例中,当处理器410执行存储器420中基于神经网络的报文协议识别程序440时实现如上的基于神经网络的报文协议识别方法中的步骤。
本实施例还提供了一种计算机可读存储介质,其上存储有基于神经网络的报文协议识别程序,该基于神经网络的报文协议识别程序被处理器执行时可实现上述实施例中的步骤。
本发明提供一种基于神经网络的报文协议识别方法及系统,其先获取多个报文数据包,然后基于多个报文数据包的相似度筛选多个报文数据包,得到多个目标报文序列,最后根据多个目标报文序列中相同位置的数值的差异,得到报文特征向量,最后将所述报文特征向量输入至预设神经网络分析模型中,得到所述预设神经网络分析模型输出的协议种类。相比于现有技术,本发明能够通过报文数据包的差异进行自动筛选和整理分析,得到描述协议特征的报文特征向量,然后便可以利用先进的神经网络技术进行识别,以方便快速地识别出报文数据包采用的通讯协议,进而方便后续使用现有的协议转换硬件或软件进行协议转换。本发明可以和现有的协议转换硬件或软件结合至一起,实现不同协议的设备之间的快速连接,实现一体化控制,极大地缩短了智能水电站中网络系统的搭设,并且还为后续的系统的拓展修改提供了极大的便利性。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (5)
1.一种基于神经网络的报文协议识别方法,其特征在于,包括:
获取多个报文数据包;
基于多个报文数据包的相似度筛选多个报文数据包,得到多个目标报文序列;
根据多个目标报文序列中相同位置的数值的差异,得到报文特征向量;
将所述报文特征向量输入至预设神经网络分析模型中,得到所述预设神经网络分析模型输出的协议种类;
所述基于多个报文数据包的相似度筛选多个报文数据包,得到多个目标报文序列,包括:
从每个报文数据包的首部截取预设长度的数据序列,得到多个初始报文序列;
求解两个初始报文序列之间的汉明距离,得到差异矩阵,所述差异矩阵的行和列分别代表每个初始报文序列的索引,所述差异矩阵中的元素为其所在的行和列对应的两个初始报文序列之间的汉明距离;
根据所述差异矩阵中每一行的统计特征,得到每个初始报文序列的差异特征值,通过下式得到所述差异特征值:
其中,表示差异矩阵/>中第/>行对应的初始报文序列的差异特征值,/>表示差异矩阵/>中第/>行,第/>列的元素,/>为初始报文序列的长度,/>、/>分别为不同的调整系数;
选择差异特征值低于预设阈值的初始报文序列,作为目标报文序列;
所述根据多个目标报文序列中相同位置的数值的差异,得到报文特征向量,包括:
以每个目标报文序列为矩阵中的一行,建立特征提取矩阵;
根据所述特征提取矩阵,建立报文特征向量,其中,所述报文特征向量中第个元素对应所述特征提取矩阵中的第/>列,用于表征所述特征提取矩阵中第/>列的元素的有序程度;
其中,通过下式得到报文特征向量:
其中,表示报文特征向量中第/>个元素,/>表示特征提取矩阵/>的第/>列,表示特征提取矩阵/>的第/>列中数值为1的元素个数占比,/>表示特征提取矩阵/>的第/>列中数值为0的元素个数占比。
2.根据权利要求1所述的基于神经网络的报文协议识别方法,其特征在于,所述获取多个报文数据包,包括:
获取数据流;
识别所述数据流中的预设报头字段,并基于所述预设报头字段分割所述数据流,得到所述多个报文数据包。
3.一种基于神经网络的报文协议识别系统,其特征在于,包括:
数据截取模块,用于获取多个报文数据包;
数据去噪模块,用于基于多个报文数据包的相似度筛选多个报文数据包,得到多个目标报文序列;
特征提取模块,用于根据多个目标报文序列中相同位置的数值的差异,得到报文特征向量;
协议识别模块,用于将所述报文特征向量输入至预设神经网络分析模型中,得到所述预设神经网络分析模型输出的协议种类;
所述基于多个报文数据包的相似度筛选多个报文数据包,得到多个目标报文序列,包括:
从每个报文数据包的首部截取预设长度的数据序列,得到多个初始报文序列;
求解两个初始报文序列之间的汉明距离,得到差异矩阵,所述差异矩阵的行和列分别代表每个初始报文序列的索引,所述差异矩阵中的元素为其所在的行和列对应的两个初始报文序列之间的汉明距离;
根据所述差异矩阵中每一行的统计特征,得到每个初始报文序列的差异特征值,通过下式得到所述差异特征值:
其中,表示差异矩阵/>中第/>行对应的初始报文序列的差异特征值,/>表示差异矩阵/>中第/>行,第/>列的元素,/>为初始报文序列的长度,/>、/>分别为不同的调整系数;
选择差异特征值低于预设阈值的初始报文序列,作为目标报文序列;
所述根据多个目标报文序列中相同位置的数值的差异,得到报文特征向量,包括:
以每个目标报文序列为矩阵中的一行,建立特征提取矩阵;
根据所述特征提取矩阵,建立报文特征向量,其中,所述报文特征向量中第个元素对应所述特征提取矩阵中的第/>列,用于表征所述特征提取矩阵中第/>列的元素的有序程度;
其中,通过下式得到报文特征向量:
其中,表示报文特征向量中第/>个元素,/>表示特征提取矩阵/>的第/>列,表示特征提取矩阵/>的第/>列中数值为1的元素个数占比,/>表示特征提取矩阵/>的第/>列中数值为0的元素个数占比。
4.一种电子设备,其特征在于,包括存储器和处理器,其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以实现上述权利要求1至2中任一项所述基于神经网络的报文协议识别方法中的步骤。
5.一种计算机可读存储介质,其特征在于,用于存储计算机可读取的程序或指令,所述程序或指令被处理器执行时,能够实现上述权利要求1至2中任一项所述基于神经网络的报文协议识别方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311549548.7A CN117596193B (zh) | 2023-11-20 | 2023-11-20 | 一种基于神经网络的报文协议识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311549548.7A CN117596193B (zh) | 2023-11-20 | 2023-11-20 | 一种基于神经网络的报文协议识别方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117596193A CN117596193A (zh) | 2024-02-23 |
CN117596193B true CN117596193B (zh) | 2024-05-31 |
Family
ID=89916000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311549548.7A Active CN117596193B (zh) | 2023-11-20 | 2023-11-20 | 一种基于神经网络的报文协议识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117596193B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011130957A1 (zh) * | 2010-04-22 | 2011-10-27 | 北京邮电大学 | 利用数据流头部特征的tcp流量在线识别方法及装置 |
CN112039196A (zh) * | 2020-04-22 | 2020-12-04 | 广东电网有限责任公司 | 一种基于协议逆向工程的电力监控系统私有协议解析方法 |
CN112134737A (zh) * | 2020-10-19 | 2020-12-25 | 北方工业大学 | 一种工业物联网逆向分析系统 |
CN112804123A (zh) * | 2021-01-13 | 2021-05-14 | 国网安徽省电力有限公司亳州供电公司 | 一种用于调度数据网的网络协议识别方法及系统 |
CN114039901A (zh) * | 2021-11-05 | 2022-02-11 | 中国人民解放军陆军工程大学 | 基于残差网络和循环神经网络混合模型的协议识别方法 |
WO2022142106A1 (zh) * | 2020-12-31 | 2022-07-07 | 平安科技(深圳)有限公司 | 文本分析方法、装置、电子设备及可读存储介质 |
CN115622926A (zh) * | 2022-10-18 | 2023-01-17 | 浙江大学 | 一种基于网络流量的工控协议逆向分析方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101751497B1 (ko) * | 2010-06-11 | 2017-06-27 | 삼성전자주식회사 | 행렬 네트워크 코딩을 사용하는 장치 및 방법 |
-
2023
- 2023-11-20 CN CN202311549548.7A patent/CN117596193B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011130957A1 (zh) * | 2010-04-22 | 2011-10-27 | 北京邮电大学 | 利用数据流头部特征的tcp流量在线识别方法及装置 |
CN112039196A (zh) * | 2020-04-22 | 2020-12-04 | 广东电网有限责任公司 | 一种基于协议逆向工程的电力监控系统私有协议解析方法 |
CN112134737A (zh) * | 2020-10-19 | 2020-12-25 | 北方工业大学 | 一种工业物联网逆向分析系统 |
WO2022142106A1 (zh) * | 2020-12-31 | 2022-07-07 | 平安科技(深圳)有限公司 | 文本分析方法、装置、电子设备及可读存储介质 |
CN112804123A (zh) * | 2021-01-13 | 2021-05-14 | 国网安徽省电力有限公司亳州供电公司 | 一种用于调度数据网的网络协议识别方法及系统 |
CN114039901A (zh) * | 2021-11-05 | 2022-02-11 | 中国人民解放军陆军工程大学 | 基于残差网络和循环神经网络混合模型的协议识别方法 |
CN115622926A (zh) * | 2022-10-18 | 2023-01-17 | 浙江大学 | 一种基于网络流量的工控协议逆向分析方法 |
Non-Patent Citations (1)
Title |
---|
一种基于聚类和模式串匹配的未知协议比特流分类方法研究;王兆丰,单甘霖;《军械工程学院学报》;20150815;第65-71页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117596193A (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109754105B (zh) | 一种预测方法及终端、服务器 | |
US20150131445A1 (en) | Similarity matching method and related device and communication system | |
WO2023056808A1 (zh) | 加密恶意流量检测方法、装置、存储介质及电子装置 | |
CN111131314A (zh) | 网络行为的检测方法、装置、计算机设备和存储介质 | |
CN107852620A (zh) | 拥挤状况推定系统、拥挤状况推定方法以及存储介质 | |
CN113592593B (zh) | 序列推荐模型的训练及应用方法、装置、设备及存储介质 | |
US12058215B2 (en) | Methods, industrial internet of things systems, and storage mediums for controlling production line detection data | |
CN116302841A (zh) | 一种工业物联网安全监测方法及系统 | |
CN115564000A (zh) | 二维码生成方法、装置、计算机设备及存储介质 | |
CN117596193B (zh) | 一种基于神经网络的报文协议识别方法及系统 | |
CN112911024B (zh) | 一种物联网数据采集的方法、系统、电子装置和存储介质 | |
Soleymani et al. | Analog secret sharing with applications to private distributed learning | |
CN106850559A (zh) | 一种可扩展的网络协议解析系统及方法 | |
CN115774870A (zh) | 设备授权作弊检测方法、装置、电子设备及存储介质 | |
CN114253210A (zh) | 基于Json-RPC的PLC通讯系统及方法 | |
CN113904961A (zh) | 一种用户行为识别方法、系统、设备及存储介质 | |
CN113852605A (zh) | 一种基于关系推理的协议格式自动化推断方法及系统 | |
CN107193933A (zh) | 一种热泵机组移动服务器控制系统和方法 | |
CN111985446A (zh) | 人脸识别方法以及系统 | |
CN108449425A (zh) | 一种基于物联网的机床监控系统及其方法 | |
CN116341689B (zh) | 机器学习模型的训练方法、装置、电子设备及存储介质 | |
CN112000765A (zh) | 一种基于智能网元日志的被动域名收集的方法 | |
CN107979650B (zh) | 血浆数据的传输方法、装置和系统 | |
CN118714323A (zh) | 基于窗口尺寸分析的云计算预测系统 | |
CN117749515A (zh) | 异常数据的分类识别方法、模型参数确定方法及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |