CN111355696A - 一种报文识别方法、装置、dpi设备及存储介质 - Google Patents
一种报文识别方法、装置、dpi设备及存储介质 Download PDFInfo
- Publication number
- CN111355696A CN111355696A CN201811584626.6A CN201811584626A CN111355696A CN 111355696 A CN111355696 A CN 111355696A CN 201811584626 A CN201811584626 A CN 201811584626A CN 111355696 A CN111355696 A CN 111355696A
- Authority
- CN
- China
- Prior art keywords
- protocol
- identification rule
- message
- identification
- rule
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种报文识别方法、装置、DPI设备及存储介质,所述方法包括:DPI设备接收待识别的报文;按照协议层次由低到高的顺序,针对特征库中每个协议层次,根据该协议层次的上一协议层次中与所述报文匹配的目标协议的识别规则,在该协议层次中查找与所述目标协议的识别规则存在关联的待选协议的识别规则;根据每个待选协议的识别规则,在待选协议中确定该协议层次中与所述报文匹配的目标协议;根据与所述报文匹配的目标协议中对应协议层次最高的目标协议,确定所述报文的报文类型。用以提高报文识别的效率,并避免在特征库中重复记录部分协议的识别规则,节省特征库的开发和维护成本。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种报文识别方法、装置、DPI设备及存储介质。
背景技术
深度报文(包)检测(Deep Packet Inspection,DPI)是一种协议识别技术,相对于普通的报文检测仅分析报文头中的IP、端口以及协议号等内容,DPI还增加对报文中应用层(载荷)的解析,当基于不同协议的各种报文类型的报文经过DPI设备时,通过解析报文的报文头和载荷的内容,识别出报文对应的协议,进行识别出报文的报文类型。
现有报文识别技术中,常用的一种方式是对需要支持的所有报文类型的协议的特征进行分类、归纳、抽象形成一个特征库,在进行报文识别时,DPI设备基于特征库运行解析软件,能够实现对特征库支持的所有报文类型的协议进行识别。然而,在现有特征库中记录的每种报文类型的识别规则中包含多种基础的协议,如TCP、UDP等,每种报文类型的识别规则是由多种协议的识别规则组合而成,这样就导致不同报文类型的识别规则中对某些协议的识别规则的描述产生了冗余,当存在冗余的协议的特征发生变化,需要修改识别规则时,会花费很大的成本去修改,增大了特征库的开发和维护的成本。并且,由于在对报文识别时,需要将报文与特征库中所有报文类型的识别规则进行比对匹配,才能得到识别结果,而特征库中不同报文类型的识别规则中存在着大量重复的协议的识别规则,降低了报文识别效率。
发明内容
本发明提供一种报文识别方法、装置、电子设备及存储介质,用以解决现有技术中存在报文识别效率低、特征库的开发和维护成本高的问题。
第一方面,本发明公开了一种报文识别方法,所述方法包括:
接收待识别的报文;
按照协议层次由低到高的顺序,针对特征库中每个协议层次,根据该协议层次的上一协议层次中与所述报文匹配的目标协议的识别规则,在该协议层次中查找与所述目标协议的识别规则存在关联的待选协议的识别规则;根据每个待选协议的识别规则,在待选协议中确定该协议层次中与所述报文匹配的目标协议;
根据与所述报文匹配的目标协议中对应协议层次最高的目标协议,确定所述报文的报文类型。
通过上述报文识别方法,按照协议层次由低到高的顺序,针对特征库中每个协议层次,按照逐层递进的方式,逐层确定与上一协议层次存在关联的待选协议的识别规则,并仅根据待选协议的识别规则识别该协议层次与待识别报文匹配的目标协议,进而确定出待识别报文的报文类型,避免在报文识别时匹配所有报文类型的识别规则,提高了报文识别的效率。同时按照特征库中每个协议层次和不同协议层次间的协议的识别规则之间的关联关系进行报文识别,避免了在特征库中重复记录部分协议的识别规则,也节省了特征库的开发和维护成本。
在一个可选的设计中,所述生成特征库的过程包括:
针对每种报文类型,将该报文类型对应所述特征库中每个协议层次的协议的识别规则,及每个协议层次的协议的识别规则与上一协议层次的协议的识别规则的关联关系写入所述特征库;
按照协议层次由低到高的顺序,针对所述特征库中每个协议层次,将该协议层次中协议的识别规则相同、且关联的上一协议层次中协议的识别规则相同的协议的识别规则进行合并去重。
通过该可选的设计,减少了特征库中数据的冗余,提高了协议的识别规则的复用程度,降低了维护难度。
在一个可选的设计中,所述根据该协议层次的上一协议层次中与所述报文匹配的目标协议的识别规则,在该协议层次中查找与所述目标协议的识别规则存在关联的待选协议的识别规则包括:
如果该协议层次的协议层次最低,将该协议层次中每个协议的识别规则均作为待选协议的识别规则。
通过该可选的设计,保证了报文识别的准确性与可靠性。
在一个可选的设计中,所述识别规则包括:
文本规则和规则插件。
通过该可选的设计,特征库支持文本规则和识别插件相结合,提高了性特征库的扩展性,降低了特征库与解析软件的耦合性。
第二方面,本发明公开了一种报文识别装置,所述装置包括:
接收模块,用于接收待识别的报文;
确定模块,用于按照协议层次由低到高的顺序,针对特征库中每个协议层次,根据该协议层次的上一协议层次中与所述报文匹配的目标协议的识别规则,在该协议层次中查找与所述目标协议的识别规则存在关联的待选协议的识别规则;根据每个待选协议的识别规则,在待选协议中确定该协议层次中与所述报文匹配的目标协议;
所述确定模块,还用于根据与所述报文匹配的目标协议中对应协议层次最高的目标协议,确定所述报文的报文类型。
在一个可选的设计中,所述装置还包括:
生成模块,用于针对每种报文类型,将该报文类型对应所述特征库中每个协议层次的协议的识别规则,及每个协议层次的协议的识别规则与上一协议层次的协议的识别规则的关联关系写入所述特征库;按照协议层次由低到高的顺序,针对所述特征库中每个协议层次,将该协议层次中协议的识别规则相同、且关联的上一协议层次中协议的识别规则相同的协议的识别规则进行合并去重。
在一个可选的设计中,所述确定模块,具体用于如果该协议层次的协议层次最低,将该协议层次中每个协议的识别规则均作为待选协议的识别规则。
在一个可选的设计中,所述识别规则包括:
文本规则和规则插件。
第三方面,本发明公开了一种DPI设备,包括:存储器、处理器和收发机;
所述处理器,用于读取存储器中的程序,执行下列过程:通过收发机接收待识别的报文;按照协议层次由低到高的顺序,针对特征库中每个协议层次,根据该协议层次的上一协议层次中与所述报文匹配的目标协议的识别规则,在该协议层次中查找与所述目标协议的识别规则存在关联的待选协议的识别规则;根据每个待选协议的识别规则,在待选协议中确定该协议层次中与所述报文匹配的目标协议;根据与所述报文匹配的目标协议中对应协议层次最高的目标协议,确定所述报文的报文类型。
在一个可选的设计中,所述处理器,还用于针对每种报文类型,将该报文类型对应所述特征库中每个协议层次的协议的识别规则,及每个协议层次的协议的识别规则与上一协议层次的协议的识别规则的关联关系写入所述特征库;按照协议层次由低到高的顺序,针对所述特征库中每个协议层次,将该协议层次中协议的识别规则相同、且关联的上一协议层次中协议的识别规则相同的协议的识别规则进行合并去重。
在一个可选的设计中,所述处理器,如果该协议层次的协议层次最低,将该协议层次中每个协议的识别规则均作为待选协议的识别规则。
在一个可选的设计中,所述识别规则包括:
文本规则和规则插件。
第四方面,本发明公开了一种DPI设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器中存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行上述第一方面或第一方面的任一种可选的设计中所述的方法。
第五方面,本发明公开了一种计算机可读存储介质,其存储有可由DPI设备执行的计算机程序,当所述程序在所述DPI设备上运行时,使得所述DPI设备执行上述第一方面或第一方面的任一种可选的设计中所述的方法。
本发明有益效果如下:
由于在本发明实施例中,按照协议层次由低到高的顺序,针对特征库中每个协议层次,根据该协议层次的上一协议层次中与报文匹配的目标协议的识别规则,在该协议层次中查找与所述目标协议的识别规则存在关联的待选协议的识别规则;根据每个待选协议的识别规则,在待选协议中确定该协议层次中与所述报文匹配的目标协议,在识别报文时按照特征库中的协议层次逐层递进,从而确定出完整的报文类型识别规则,进而确定出报文的报文类型,避免在报文识别时匹配所有报文类型的识别规则,提高了报文识别的效率。同时按照特征库中每个协议层次和不同协议层次间的协议的识别规则之间的关联关系进行报文识别,避免了在特征库中重复记录部分协议的识别规则,也节省了特征库的开发和维护成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种报文识别过程示意图之一;
图2为本发明实施例提供的一种特征库的协议层次示意图;
图3为本发明实施例提供的一种特征库的结构示意图;
图4为本发明实施例提供的一种协议的识别规则的存储结构示意图;
图5为本发明实施例提供的一种报文识别过程示意图之二;
图6为本发明实施例提供的一种协议的识别过程示意图;
图7为本发明实施例提供的一种报文识别实现的结构示意图;
图8为本发明实施例提供的一种报文识别装置结构示意图;
图9为本发明实施例提供的一种DPI设备结构示意图之一;
图10为本发明实施例提供的一种DPI设备结构示意图之二。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
图1为本发明实施例提供的一种报文识别过程示意图,该过程包括:
S101:接收待识别的报文。
本发明实施例提供的报文识别方法应用于DPI设备,DPI设备是具有报文识别、分析统计、数据流控制、安全监控等能力,能够对网络所承载的业务进行识别和流量管理,可以部署在骨干网络、城域网和企业内部的网络设备。
在本发明实施例中,生成对用于报文识别的特征库的过程包括:
针对每种报文类型,将该报文类型对应特征库中每个协议层次的协议的识别规则,及每个协议层次的协议的识别规则与上一协议层次的协议的识别规则的关联关系写入所述特征库;
按照协议层次由低到高的顺序,针对所述特征库中每个协议层次,将该协议层次中协议的识别规则相同、且关联的上一协议层次中协议的识别规则相同的协议的识别规则进行合并去重。
具体的,可以参考开放系统互联(Open System Interconnection,OSI)七层模型或者传输控制协议/网络之间互连的协议(Transmission Control Protocol/InternetProtocol Address,TCP/IP)四层模型来划分特征库的协议层次,其中,因应用层包含的协议的数量较多,也可以根据实际情况将应用层划分为多个协议层次。示例性的:特征库中协议层次1对应网络层的协议、协议层次2对应传输层的协议、协议层次3~n对应应用层的协议,其中n为不小于3的整数,协议层次由低到高的顺序为1~n。
在本发明实施例中,预先对每种报文类型的识别规则,按照特征库中的协议层次进行了分层,分为了对应特征库中每个协议层次的协议的识别规则,其中协议的识别规则中记录有协议的识别方式和/或条件,不再进行赘述。示例性的:报文类型1的识别规则包括:IP的识别规则、TCP的识别规则、HTTP的识别规则、PROTOBUF的识别规则、私有协议1的识别规则,按照特征库中的协议层次进行了分层后,报文类型1的IP的识别规则对应协议层次1、TCP的识别规则对应协议层次2、HTTP的识别规则对应协议层次3、PROTOBUF的识别规则对应协议层次4、私有协议1的识别规则对应协议层次5。
另外,将报文类型的识别规则按照特征库中的协议层次进行了分层后,还需要确保分层后的协议的识别规则之间的关联关系,具体的,针对某一报文类型的识别规则按照特征库中的协议层次进行了分层后,每个协议层次的协议的识别规则与上一协议层次的协议的识别规则关联,即下一协议层次的协议的识别规则依赖于上一协议层次的协议的识别规则,其中,如果协议的识别规则对应的协议层次最低,该协议关联的上一级协议层次的协议的识别规则为空。以报文类型1为例,TCP的识别规则与IP的识别规则关联,也就是对报文类型1的报文识别时,协议层次2的TCP的识别规则依赖于协议层次1的IP的识别规则,同理,如HTTP的识别规则与TCP的识别规则关联,不再进行赘述。
另,因不同的报文类型在传输层、网络层等存在大量重复的协议的识别规则,将每种报文类型对应特征库中每个协议层次的协议的识别规则,及每个协议层次的协议的识别规则与上一协议层次的协议的识别规则的关联关系写入特征库后,DPI设备按照协议层次由低到高的顺序,针对特征库中每个协议层次,将该协议层次中协议的识别规则相同、且关联的上一协议层次中协议的识别规则相同的协议的识别规则进行合并去重。
示例性的:如图2所示,按照协议层次由低到高的顺序,报文类型1对应特征库中每个协议层次分层后的协议的识别规则依次为:IP的识别规则、TCP的识别规则、HTTP的识别规则、PROTOBUF的识别规则、私有协议1的识别规则;报文类型2对应特征库中每个协议层次分层后的协议的识别规则依次为:IP的识别规则、TCP的识别规则、HTTP的识别规则、PROTOBUF的识别规则、私有协议2的识别规则;报文类型3对应特征库中每个协议层次分层后的协议的识别规则依次为:IP的识别规则、TCP的识别规则、FTP的识别规则;报文类型4对应特征库中每个协议层次分层后的协议的识别规则依次为:IP的识别规则、SCTP的识别规则、S1-AP的识别规则、NAS的识别规则;报文类型5对应特征库中每个协议层次分层后的协议的识别规则依次为:IP的识别规则、UDP的识别规则、SNMP的识别规则;报文类型6对应特征库中每个协议层次分层后的协议的识别规则依次为:IP的识别规则、UDP的识别规则、GTP-U的识别规则、私有协议3的识别规则;其中,每种报文类型中对应下一协议层次的协议的识别规则与上一协议层次的协议的识别规则关联,具体关联关系在图2中以箭头示出。
DPI设备按照协议层次由低到高的顺序,针对特征库中每个协议层次,将该协议层次中协议的识别规则相同、且关联的上一协议层次中协议的识别规则相同的协议的识别规则进行合并去重后。示例性的,包含上述图2所示报文类型1、报文类型2、报文类型3、报文类型4、报文类型5、报文类型6分别对应特征库中每个协议层次分层后的协议的识别规则进行合并去重后的特征库如图3所示。特征库呈现树形存储结构,树上的每个路径对应一种报文类型的识别规则,便于提高报文的识别效率。
较佳的,在本发明实施例中,针对报文类型在特征库中每个协议层次的协议的识别规则,可以按照如图4所示的存储结构进行存储,即对如图3所示的树形存储结构中每个节点,可以按照如图4所示的存储结构进行存储。其中,ID为当前协议的识别规则分配的唯一身份标识(ID);PID为当前协议的识别规则关联(依赖)的上一协议的识别规则的ID;通过PID和ID的关系可以把多个协议的识别规则整合成一种报文类型的完整的识别规则;V为当前协议的识别规则的版本号,可以方便用户对后续协议的识别规则进行升级维护等操作;TYPE为协议的识别规则的类型;DATA为协议的识别规则的具体内容。
S102:按照协议层次由低到高的顺序,针对特征库中每个协议层次,根据该协议层次的上一协议层次中与所述报文匹配的目标协议的识别规则,在该协议层次中查找与所述目标协议的识别规则存在关联的待选协议的识别规则;根据每个待选协议的识别规则,在待选协议中确定该协议层次中与所述报文匹配的目标协议。
S103:根据与所述报文匹配的目标协议中对应协议层次最高的目标协议,确定所述报文的报文类型。
其中,如果某协议层次的协议层次最低,将该协议层次中每个协议的识别规则均作为待选协议的识别规则。
具体的,DPI设备进行报文识别时,如基于特征库运行解析软件时,按照协议层次由低到高的顺序,逐层进行协议的识别,示例性的,参照图3所示的特征库,以待识别的报文为报文类型1的报文为例,协议层次1的协议层次最低,将IP的识别规则作为待选协议的识别规则,根据IP的识别规则,判断待识别的报文是否符合IP的识别规则,符合,确定IP是协议层次1与待识别报文匹配的目标协议;在协议层次2中存在TCP的识别规则、SCTP的识别规则和UDP的识别规则与IP的识别规则关联,分别将TCP的识别规则、SCTP的识别规则和UDP的识别规则作为待选协议的识别规则,并分别判断待识别的报文是否符合TCP的识别规则、SCTP的识别规则和UDP的识别规则,确定出待识别的报文是否符合TCP的识别规则,确定TCP是协议层次2与待识别报文匹配的目标协议;依此类推,直至确定出私有协议1是协议层次5与待识别报文匹配的目标协议,而协议层次6不存在与协议层次5的私有协议1的识别规则存在关联的协议的识别规则,结束。DPI设备根据对应的协议层次最高的“私有协议1”,定待识别的报文的为报文类型1,即私有协议1的报文。
当然了,DPI设备也可根据每个协议的识别规则中记录“ID”和“PID”,进行报文的识别。假设DPI设备接收到一个HTTP协议的报文,并且对HTTP协议的报文识别过程如图5所示。DPI设备首先确定报文符合IP的识别规则,并通过IP的协议识别规则的ID(0),确定协议层次2仅有ID(100)和ID(101)这两种可能,进一步根据TCP的识别规则和UDP的识别规则,确定报文符合TCP的识别规则,确定协议层次2仅有ID(200)这种可能,进一步根据HTTP的识别规则,确定报文符合HTTP的识别规则,最终识别出报文为HTTP报文。其中,针对协议层次1的协议的识别规则,因不存在与其关联的上一协议层次的协议的规则,其PID与自身的ID相同,或者为设定的其它值。
由于在本发明实施例中,按照协议层次由低到高的顺序,针对特征库中每个协议层次,根据该协议层次的上一协议层次中与报文匹配的目标协议的识别规则,在该协议层次中查找与所述目标协议的识别规则存在关联的待选协议的识别规则;根据每个待选协议的识别规则,在待选协议中确定该协议层次中与所述报文匹配的目标协议,在识别报文时按照特征库中的协议层次逐层递进,从而确定出完整的报文类型识别规则,进而确定出报文的报文类型,避免在报文识别时匹配所有报文类型的识别规则,提高了报文识别的效率。同时按照特征库中每个协议层次和不同协议层次间的协议的识别规则之间的关联关系进行报文识别,避免了在特征库中重复记录部分协议的识别规则,也节省了特征库的开发和维护成本。
实施例2:
为了提高特征库的扩展性,在上述实施例的基础上,在本发明实施例中,所述识别规则包括:
文本规则和规则插件。
在特征库中每个协议的识别规则,作为特征库呈现的树形存储结构中的一个节点,树形存储结构中的每个路径对应一种报文类型的识别规则。对特征库进行扩展时,可以通过增加树形存储结构中的节点,或节点构成的树枝的方式,增加树形存储结构中的路径,以实现对特征库的扩展。
另外,现有技术对协议的识别规则的描述,多是采用可以被DPI设备运行的解析软件加载的文本的形式存在,即以文本规则的方式存在,文本规则中记录有协议的识别方式和/或条件。但是,对于复杂的协议也翻译成文本规则,难度和成本都非常大,并且还可能涉及到对DPI设备运行的解析软件的改进,造成特征库与解析软件的耦合性增加。因此在本发明实施例中,对于复杂的协议的识别规则,可以直接使用代码的方式实现,把协议的识别过程直接使用代码实现,并将代码编译成规则插件,进而,进一步增加特征库的扩展性。其中,在本发明实施例中,预先为规则插件定义统一的接口和输入输出标准,每个插件需要按照上述标准提供输入输出接口,以便DPI设备运行解析软件时调用,对于规则插件内部可以自由实现不做具体约束。较佳的,在本发明实施例中规则插件可以采用二进制规则插件。参照图4所示,TYPE为协议的识别规则的类型,可以通过TYPE记录协议的识别规则是文本规则还是规则插件,便于识别。
如图6所示,在有新的报文到来,对报文是否符合某个协议进行识别时,DPI设备首先匹配协议的识别规则,根据识别规则的类型,如果是文本规则,则使用解析软件加载文本规则的方式,识别报文是否符合协议,如果是二进制规则插件,则使用解析软件加载并运行规则插件的方式,识别报文是否符合协议,识别结果。
协议的规则插件通过预先定义的统一的接口和输入输出标准,与DPI设备中的解析软件进行交互,避免与解析软件存在耦合,可以实现识别规则与解析软件的解耦。
参照图7所示,对报文的识别可以分成三个部分实现,规则描述文件:描述经过分层后的协议的识别规则,协议的识别规则采用开发或者维护人员易读的文本格式实现,对于一些只被较少使用的协议的识别规则也可直接写成二进制规则插件;对于不容易变化并且特别复杂的协议的识别规则也可以直接写成二进制规则插件;解析软件:用于实现把规则描述文件转换成计算机(DPI设备)可识别的数据格式,并对协议的识别规则进行排序、重组和整合,以设定的数据结构进行存储。对外提供协议的识别规则升级和查找接口,升级接口实现对正在使用的协议的识别规则的增加和删除,查找接口用于返回匹配的协议的识别规则,供解析软件使用;DPI解析:解析软件根据协议的识别规则对报文进行解析和识别。
实施例3:
图8为本发明实施例提供的一种报文识别装置结构示意图,该装置包括:
接收模块81,用于接收待识别的报文;
确定模块82,用于按照协议层次由低到高的顺序,针对特征库中每个协议层次,根据该协议层次的上一协议层次中与所述报文匹配的目标协议的识别规则,在该协议层次中查找与所述目标协议的识别规则存在关联的待选协议的识别规则;根据每个待选协议的识别规则,在待选协议中确定该协议层次中与所述报文匹配的目标协议;
所述确定模块82,还用于根据与所述报文匹配的目标协议中对应协议层次最高的目标协议,确定所述报文的报文类型。
优选地,所述装置还包括:
生成模块83,用于针对每种报文类型,将该报文类型对应所述特征库中每个协议层次的协议的识别规则,及每个协议层次的协议的识别规则与上一协议层次的协议的识别规则的关联关系写入所述特征库;按照协议层次由低到高的顺序,针对所述特征库中每个协议层次,将该协议层次中协议的识别规则相同、且关联的上一协议层次中协议的识别规则相同的协议的识别规则进行合并去重。
优选地,所述确定模块82,具体用于如果该协议层次的协议层次最低,将该协议层次中每个协议的识别规则均作为待选协议的识别规则。
优选地,所述识别规则包括:
文本规则和规则插件。
实施例4:
基于同一发明构思,本发明实施例中还提供了一种DPI设备,由于上述DPI设备解决问题的原理与报文识别方法相似,因此上述DPI设备的实施可以参见方法的实施,重复之处不再赘述。
如图9所示,其为本发明实施例提供的DPI设备的结构示意图,其中在图9中,总线架构可以包括任意数量的互联的总线和桥,具体有处理器91代表的一个或多个处理器91和存储器93代表的存储器93的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机92可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器91负责管理总线架构和通常的处理,存储器93可以存储处理器91在执行操作时所使用的数据。
在本发明实施例提供的DPI设备中:
所述处理器91,用于读取存储器93中的程序,执行下列过程:通过收发机92接收待识别的报文;按照协议层次由低到高的顺序,针对特征库中每个协议层次,根据该协议层次的上一协议层次中与所述报文匹配的目标协议的识别规则,在该协议层次中查找与所述目标协议的识别规则存在关联的待选协议的识别规则;根据每个待选协议的识别规则,在待选协议中确定该协议层次中与所述报文匹配的目标协议;根据与所述报文匹配的目标协议中对应协议层次最高的目标协议,确定所述报文的报文类型。
优选地,所述处理器91,还用于针对每种报文类型,将该报文类型对应所述特征库中每个协议层次的协议的识别规则,及每个协议层次的协议的识别规则与上一协议层次的协议的识别规则的关联关系写入所述特征库;按照协议层次由低到高的顺序,针对所述特征库中每个协议层次,将该协议层次中协议的识别规则相同、且关联的上一协议层次中协议的识别规则相同的协议的识别规则进行合并去重。
优选地,所述处理器91,如果该协议层次的协议层次最低,将该协议层次中每个协议的识别规则均作为待选协议的识别规则。
优选地,识别规则包括:
文本规则和规则插件。
在上述各实施例的基础上,本发明实施例还提供了一种DPI设备,如图10所示,包括:处理器11、通信接口12、存储器13和通信总线14,其中,处理器11、通信接口12、存储器13通过通信总线14完成相互间的通信;
所述存储器13中存储有计算机程序,当所述程序被所述处理器11执行时,使得所述处理器11执行上述实施例描述的报文识别方法。
在上述各实施例的基础上,本发明实施例还提供了一种计算机存储可读存储介质,所述计算机可读存储介质内存储有可由DPI设备执行的计算机程序,当所述程序在所述DPI设备上运行时,使得所述DPI设备执行上述实施例描述的报文识别方法。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种报文识别方法,其特征在于,所述方法包括:
接收待识别的报文;
按照协议层次由低到高的顺序,针对特征库中每个协议层次,根据该协议层次的上一协议层次中与所述报文匹配的目标协议的识别规则,在该协议层次中查找与所述目标协议的识别规则存在关联的待选协议的识别规则;根据每个待选协议的识别规则,在待选协议中确定该协议层次中与所述报文匹配的目标协议;
根据与所述报文匹配的目标协议中对应协议层次最高的目标协议,确定所述报文的报文类型。
2.如权利要求1所述的方法,其特征在于,所述生成特征库的过程包括:
针对每种报文类型,将该报文类型对应所述特征库中每个协议层次的协议的识别规则,及每个协议层次的协议的识别规则与上一协议层次的协议的识别规则的关联关系写入所述特征库;
按照协议层次由低到高的顺序,针对所述特征库中每个协议层次,将该协议层次中协议的识别规则相同、且关联的上一协议层次中协议的识别规则相同的协议的识别规则进行合并去重。
3.如权利要求1所述的方法,其特征在于,所述根据该协议层次的上一协议层次中与所述报文匹配的目标协议的识别规则,在该协议层次中查找与所述目标协议的识别规则存在关联的待选协议的识别规则包括:
如果该协议层次的协议层次最低,将该协议层次中每个协议的识别规则均作为待选协议的识别规则。
4.如权利要求1-3任一项所述的方法,其特征在于,所述识别规则包括:
文本规则和规则插件。
5.一种报文识别装置,其特征在于,所述装置包括:
接收模块,用于接收待识别的报文;
确定模块,用于按照协议层次由低到高的顺序,针对特征库中每个协议层次,根据该协议层次的上一协议层次中与所述报文匹配的目标协议的识别规则,在该协议层次中查找与所述目标协议的识别规则存在关联的待选协议的识别规则;根据每个待选协议的识别规则,在待选协议中确定该协议层次中与所述报文匹配的目标协议;
所述确定模块,还用于根据与所述报文匹配的目标协议中对应协议层次最高的目标协议,确定所述报文的报文类型。
6.一种深度报文检测DPI设备,其特征在于,包括:存储器、处理器和收发机;
所述处理器,用于读取存储器中的程序,执行下列过程:通过收发机接收待识别的报文;按照协议层次由低到高的顺序,针对特征库中每个协议层次,根据该协议层次的上一协议层次中与所述报文匹配的目标协议的识别规则,在该协议层次中查找与所述目标协议的识别规则存在关联的待选协议的识别规则;根据每个待选协议的识别规则,在待选协议中确定该协议层次中与所述报文匹配的目标协议;根据与所述报文匹配的目标协议中对应协议层次最高的目标协议,确定所述报文的报文类型。
7.如权利要求6所述的DPI设备,其特征在于,所述处理器,还用于针对每种报文类型,将该报文类型对应所述特征库中每个协议层次的协议的识别规则,及每个协议层次的协议的识别规则与上一协议层次的协议的识别规则的关联关系写入所述特征库;按照协议层次由低到高的顺序,针对所述特征库中每个协议层次,将该协议层次中协议的识别规则相同、且关联的上一协议层次中协议的识别规则相同的协议的识别规则进行合并去重。
8.如权利要求6所述的DPI设备,其特征在于,所述处理器,如果该协议层次的协议层次最低,将该协议层次中每个协议的识别规则均作为待选协议的识别规则。
9.如权利要求6-8任一项所述的DPI设备,其特征在于,所述识别规则包括:
文本规则和规则插件。
10.一种计算机可读存储介质,其特征在于,其存储有可由DPI设备执行的计算机程序,当所述程序在所述DPI设备上运行时,使得所述DPI设备执行权利要求1-4任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811584626.6A CN111355696A (zh) | 2018-12-24 | 2018-12-24 | 一种报文识别方法、装置、dpi设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811584626.6A CN111355696A (zh) | 2018-12-24 | 2018-12-24 | 一种报文识别方法、装置、dpi设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111355696A true CN111355696A (zh) | 2020-06-30 |
Family
ID=71193934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811584626.6A Pending CN111355696A (zh) | 2018-12-24 | 2018-12-24 | 一种报文识别方法、装置、dpi设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111355696A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111818096A (zh) * | 2020-08-31 | 2020-10-23 | 北京安帝科技有限公司 | 网络协议解析方法和装置 |
CN112488857A (zh) * | 2020-11-24 | 2021-03-12 | 泰康保险集团股份有限公司 | 事件识别的方法、装置、电子设备和存储介质 |
CN113438231A (zh) * | 2021-06-23 | 2021-09-24 | 北京天融信网络安全技术有限公司 | 工业协议解码方法、装置、电子设备及存储介质 |
CN115296878A (zh) * | 2022-07-27 | 2022-11-04 | 天翼云科技有限公司 | 一种报文检测方法、装置、电子设备及存储介质 |
CN117978706A (zh) * | 2024-03-29 | 2024-05-03 | 中国电子技术标准化研究院 | 流量协议识别方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101035131A (zh) * | 2007-02-16 | 2007-09-12 | 杭州华为三康技术有限公司 | 协议识别方法及装置 |
US8291495B1 (en) * | 2007-08-08 | 2012-10-16 | Juniper Networks, Inc. | Identifying applications for intrusion detection systems |
CN105162626A (zh) * | 2015-08-20 | 2015-12-16 | 西安工程大学 | 基于众核处理器的网络流量深度识别系统及识别方法 |
CN105991373A (zh) * | 2015-04-30 | 2016-10-05 | 杭州迪普科技有限公司 | 一种应用协议识别方法及装置 |
-
2018
- 2018-12-24 CN CN201811584626.6A patent/CN111355696A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101035131A (zh) * | 2007-02-16 | 2007-09-12 | 杭州华为三康技术有限公司 | 协议识别方法及装置 |
US8291495B1 (en) * | 2007-08-08 | 2012-10-16 | Juniper Networks, Inc. | Identifying applications for intrusion detection systems |
CN105991373A (zh) * | 2015-04-30 | 2016-10-05 | 杭州迪普科技有限公司 | 一种应用协议识别方法及装置 |
CN105162626A (zh) * | 2015-08-20 | 2015-12-16 | 西安工程大学 | 基于众核处理器的网络流量深度识别系统及识别方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111818096A (zh) * | 2020-08-31 | 2020-10-23 | 北京安帝科技有限公司 | 网络协议解析方法和装置 |
CN112488857A (zh) * | 2020-11-24 | 2021-03-12 | 泰康保险集团股份有限公司 | 事件识别的方法、装置、电子设备和存储介质 |
CN112488857B (zh) * | 2020-11-24 | 2023-08-22 | 泰康保险集团股份有限公司 | 事件识别的方法、装置、电子设备和存储介质 |
CN113438231A (zh) * | 2021-06-23 | 2021-09-24 | 北京天融信网络安全技术有限公司 | 工业协议解码方法、装置、电子设备及存储介质 |
CN113438231B (zh) * | 2021-06-23 | 2023-10-13 | 北京天融信网络安全技术有限公司 | 工业协议解码方法、装置、电子设备及存储介质 |
CN115296878A (zh) * | 2022-07-27 | 2022-11-04 | 天翼云科技有限公司 | 一种报文检测方法、装置、电子设备及存储介质 |
CN115296878B (zh) * | 2022-07-27 | 2023-11-03 | 天翼云科技有限公司 | 一种报文检测方法、装置、电子设备及存储介质 |
CN117978706A (zh) * | 2024-03-29 | 2024-05-03 | 中国电子技术标准化研究院 | 流量协议识别方法、装置、电子设备及存储介质 |
CN117978706B (zh) * | 2024-03-29 | 2024-06-28 | 中国电子技术标准化研究院 | 流量协议识别方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111355696A (zh) | 一种报文识别方法、装置、dpi设备及存储介质 | |
Souri et al. | Behavioral modeling and formal verification of a resource discovery approach in Grid computing | |
EP2674875A1 (en) | Method, controller, program and data storage system for performing reconciliation processing | |
US11687527B2 (en) | System and method for analysis of graph databases using intelligent reasoning systems | |
US11431572B2 (en) | Semantic detection and resolution of conflicts and redundancies in network function virtualization policies | |
MX2011010795A (es) | Composicion dinamica de aplicaciones de procesamiento de flujo de datos. | |
CN101751333A (zh) | 用于支援程序解析的方法、及其计算机程序以及计算机系统 | |
US11196633B2 (en) | Generalized correlation of network resources and associated data records in dynamic network environments | |
US20160292581A1 (en) | Minimized processing of streaming changes into a semantic reasoner | |
CN102932203A (zh) | 异构平台间的深度报文检测方法及装置 | |
CN114091610A (zh) | 智能决策方法及装置 | |
CN104320312A (zh) | 网络应用安全测试工具及模糊测试用例生成方法和系统 | |
CN111240772B (zh) | 一种基于区块链的数据处理方法、装置及存储介质 | |
CN109783626A (zh) | 问题生成方法、智能问答系统、介质以及计算机系统 | |
Vasilevskaya et al. | Integrating security mechanisms into embedded systems by domain‐specific modelling | |
US10547565B2 (en) | Automatic determination and just-in-time acquisition of data for semantic reasoning | |
CN116361153A (zh) | 固件代码的测试方法、装置、电子设备、存储介质 | |
US20230239306A1 (en) | Modifying network relationships using a heterogenous network flows graph | |
CN116128525A (zh) | 一种基于模式前缀共享的多模式图匹配查询方法及装置 | |
CN115268847A (zh) | 区块链智能合约的生成方法、装置及电子设备 | |
CN112862245B (zh) | 数据交换方法、装置以及电子设备 | |
CN113407701A (zh) | 针对大数据的云业务话题信息处理方法及大数据服务器 | |
CN112994931A (zh) | 一种规则匹配的方法及其设备 | |
CN112783673A (zh) | 一种调用链的确定方法、装置、计算机设备及存储介质 | |
EP3350694A1 (en) | Runtime adjustment of configuration models for consistency preservation |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200630 |