CN111371649A - 一种深度包检测方法及装置 - Google Patents
一种深度包检测方法及装置 Download PDFInfo
- Publication number
- CN111371649A CN111371649A CN202010139010.9A CN202010139010A CN111371649A CN 111371649 A CN111371649 A CN 111371649A CN 202010139010 A CN202010139010 A CN 202010139010A CN 111371649 A CN111371649 A CN 111371649A
- Authority
- CN
- China
- Prior art keywords
- application
- identified
- file
- data packet
- preset
- 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.)
- Granted
Links
Images
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/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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
Abstract
本申请提供了一种深度包检测方法及装置,其中,方法包括:对预设的网络关键点处的流量和网络报文内容检测分析,得到待匹配特征;读取预先生成的json文件;json文件是通过预设的描述方法对待识别应用的数据包的特征进行描述得到;解析json文件,得到待识别应用的数据包的特征;通过检测待匹配特征是否符合待识别应用的数据包的特征,检测流量中是否存在待识别应用产生的流量。由于本申请中json文件与深度包检测程序之间是分离的,因此,在应用更新的情况下,深度包检测程序无需更新,因此,系统无需重启,所以本申请可以解决在应用更新的情况下,系统无法正常检测流量的问题。
Description
技术领域
本申请涉及电子信息领域,尤其涉及一种深度包检测方法及装置。
背景技术
网络流量中包含协议和网络应用(为了描述方便,以下简称为应用),深度包检测技术(Deep Packet Inspection,DPI)需要对网络流量进行深度包解析,并能够精准地判断出网络流量中所承载的业务类型(即应用)。
目前,事先定义好待识别应用的识别规则,并采用编译型语言编程实现该识别规则,得到识别程序,使得在深度包检测过程中运行该识别程序,来识别待识别应用的应用数据包。
但是,在待识别应用更新的情况下,需要运维人员修改识别程序和重启系统,从而,在一定时间内系统无法正常检测网络中的流量。
发明内容
本申请提供了一种深度包检测方法及装置,目的在于解决在待识别应用更新的情况下,在一定时间内系统无法正常检测网络中的流量的问题。
为了实现上述目的,本申请提供了以下技术方案:
本申请提供了一种深度包检测方法,应用于DPI引擎,包括:
对预设的网络关键点处的流量和网络报文内容检测分析,得到待匹配特征;
读取预先生成的json文件;所述json文件是通过预设的描述方法对待识别应用的数据包的特征进行描述得到;所述待识别应用数据包为所述待识别应用产生的网络应用层数据包;
解析所述json文件,得到所述待识别应用的数据包的特征;
通过检测所述待匹配特征是否符合所述待识别应用的数据包的特征,检测所述流量中是否存在所述待识别应用产生的流量。
可选的,通过所述预设的描述方法对待识别应用的数据包的特征进行描述,得到所述json文件,包括:
生成应用文件、基础协议文件和协议规则文件;所述应用文件、所述基础协议文件和所述协议规则文件,构成所述json文件;
所述应用文件包括:待识别应用的名称与标识间的预设映射关系;
所述基础协议文件用于指示:待识别应用所采用的基础协议中,待深度分析的基础协议;
所述协议规则文件是采用预设元素对所述协议规则文件的信息和所述待识别应用的信息分别进行描述,以及按照预设结构描述规则采用所述预设元素对所述待识别应用的数据包的特征进行描述得到;所述预设元素包括:命令字、每个所述命令字的数据类型、预定义符和逻辑操作符号。
可选的,所述协议规则文件的信息至少包括:版本信息和创建修改时间信息;所述待识别应用的信息至少包括:所述待识别应用的名称和别名;所述待识别应用的数据包的特征通过预设识别条件进行体现;
所述按照预设结构描述规则采用所述预设元素对所述待识别应用的数据包的特征进行描述,包括:
先采用所述预设元素描述相关信息,再采用所述预设元素描述所述待识别应用的数据包的识别条件;所述待识别应用的数据包的每个识别条件采用一对“{}”括起来,并且,相邻所述识别条件之间采用“,”分隔;
其中,所述相关信息包括:所述待识别应用的数据包所采用的基础协议名称、协议行为标识,以及所述识别条件间的逻辑关系。
可选的,所述预设识别条件包括:IP类条件、PORT类条件、关键字类条件、包特征类条件和关联类条件。
可选的,所述预设识别条件还包括:信息提取类条件;所述信息提取类条件,用于指示从识别出的应用数据包中,待提取的信息。
本申请还提供了一种深度包检测装置,包括:
第一检测模块,用于对预设的网络关键点处的流量和网络报文内容检测分析,得到待匹配特征;
读取模块,用于读取预先生成的json文件;所述json文件是通过预设的描述方法对待识别应用的数据包的特征进行描述得到;所述待识别应用数据包为所述待识别应用产生的网络应用层数据包;
解析模块,用于解析所述json文件,得到所述待识别应用的数据包的特征;
第二检测模块,用于通过检测所述待匹配特征是否符合所述待识别应用的数据包的特征,检测所述流量中是否存在所述待识别应用产生的流量。
可选的,该装置还包括:
生成模块,用于通过所述预设的描述方法对待识别应用的数据包的特征进行描述,得到所述json文件;
所述生成模块,用于通过所述预设的描述方法对待识别应用的数据包的特征进行描述,得到所述json文件,包括:
所述生成模块,具体用于生成应用文件、基础协议文件和协议规则文件;所述应用文件、所述基础协议文件和所述协议规则文件,构成所述json文件;
所述应用文件包括:待识别应用的名称与标识间的预设映射关系;
所述基础协议文件用于指示:待识别应用所采用的基础协议中,待深度分析的基础协议;
所述协议规则文件是采用预设元素对所述协议规则文件的信息和所述待识别应用的信息分别进行描述,以及按照预设结构描述规则采用所述预设元素对所述待识别应用的数据包的特征进行描述得到;所述预设元素包括:命令字、每个所述命令字的数据类型、预定义符和逻辑操作符号。
可选的,所述生成模块,用于按照预设结构描述规则采用所述预设元素对所述待识别应用的数据包的特征进行描述,包括:
所述生成模块,具体用于先采用所述预设元素描述相关信息,再采用所述预设元素描述所述待识别应用的数据包的识别条件;所述待识别应用的数据包的每个识别条件采用一对“{}”括起来,并且,相邻所述识别条件之间采用“,”分隔;其中,所述相关信息包括:所述待识别应用的数据包所采用的基础协议名称、协议行为标识,以及所述识别条件间的逻辑关系。
本申请还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序执行上述任意一项深度包检测方法。
本申请还提供了一种设备,所述设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述任一项所述的深度包检测方法。
本申请所述的深度包检测方法及装置中,对预设的网络关键点处的流量和网络报文内容检测分析,得到待匹配特征,读取预先生成的json文件,其中,json文件是通过预设的描述方法对待识别应用的数据包的特征进行描述得到,其中,待识别应用的数据包为待识别应用产生的网络应用层数据包;解析json文件,得到待识别应用的数据包的特征,通过检测待匹配特征是否符合待识别应用的数据包的特征,从而,检测流量中是否存在待识别应用产生的流量。
本申请的深度包检测过程是通过读取json文件和解析json文件,得到待识别应用的数据包的特征,并依据待识别应用的数据包的特征,对待识别应用数据包进行检测,即本申请提供的深度包检测程序与json文件是分离的,并且,json文件是一种完全独立于编程语言的文本格式文件,因此,在待识别应用更新的情况下,只需依据更新后的应用更改json文件,而无需修改深度包检测程序,因此,也无需重启系统。因此,本申请在待识别应用更新的情况下,系统可以正常检测网络中的流量。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种深度包检测方法的流程图;
图2为本申请实施例公开的应用文件内容的示例图;
图3为本申请实施例公开的基础协议文件内容的示例图;
图4为本申请实施例公开的采用预设元素对协议规则文件的信息进行描述的示例图;
图5为本申请实施例公开的采用预设元素对待识别应用的信息进行描述的示例图;
图6为本申请实施例公开的采用预设元素对所述待识别应用数据包的识别规则进行描述的示例图;
图7为本申请实施例公开的采用预设元素对IP类条件进行描述的示例图;
图8为本申请实施例公开的采用预设元素对PORT类条件进行描述的示例图;
图9为本申请实施例公开的采用预设元素对关键字类特征进行描述的示例图;
图10为本申请实施例公开的采用预设元素对包特征类条件进行描述的示例图;
图11为本申请实施例公开的采用预设元素对关联类条件进行描述的示例图;
图12为本申请实施例公开的采用预设元素对信息提取类条件进行描述的示例图;
图13为本申请实施例公开的一种深度包检测装置的结构示意图;
图14为本申请实施例公开的一种设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种深度包检测方法,包括以下步骤:
S101、对预设的网络关键点处的流量和网络报文内容检测分析,得到待匹配特征。
在本步骤中,DPI引擎对预设的网络关键点处的流量和网络报文内容进行检测分析,例如,对网络流量进行拆解,并从拆解后的流量中提取特征等。在本实施例中,为了描述方便,将提取的特征称为待匹配特征,即该待匹配特征是用于后续与待识别应用数据的特征进行匹配。
具体的,DPI引擎对预设的网络关键点处的流量和网络报文内容进行检测分析的过程为现有技术,这里不在赘述。
S102、读取预先生成的json文件。
在本实施例中,json文件是通过预设的描述方法对待识别应用的数据包的特征进行描述得到。其中,待识别应用是根据实际需求确定的,本实施例不对待识别应用的具体内容作限定。
在本实施例中,json文件是依据待识别应用的数据包的特征,事先生成的文件。其中,待识别应用的数据包的特征是用户根据待识别应用确定出来的,具体的,待识别应用的数据包的特征的具体内容是根据实际需求确定的,本实施例不对待识别应用的数据包的特征的具体内容作限定。
其中,待识别应用数据包为待识别应用产生的网络应用层数据包。
在本步骤中,DPI引擎将json文件读取到内存中。
S103、解析json文件,得到待识别应用的数据包的特征。
在本步骤中,DPI引擎对json文件进行解析,具体的解析过程为现有技术,这里不再赘述。
在本步骤中,解析json文件,可以得到待识别应用的数据包的特征。以便后续基于待识别应用的数据包的特征,从流量中检测待识别应用产生的流量。
S104、通过检测待匹配特征是否符合待识别应用的数据包的特征,检测流量中是否存在待识别应用产生的流量。
在本步骤中,由于待识别应用的数据包的特征已通过解析json文件得到,因此,在待匹配特征符合待识别应用的数据包的特征的情况下,则说明网络流量中存在待识别应用产生的流量。否则,说明网络流量中不存在待识别应用产生的流量。
因此,在本步骤中,DPI引擎通过检测待匹配特征是否符合待识别应用的数据包的特征,检测流量中是否存在待识别应用产生的流量。
在本申请实施例中,通过预设的描述方法对待识别应用的数据包的特征进行描述,生成待识别应用的json文件的过程可以包括:生成应用文件、基础协议文件和协议规则文件。
其中,应用文件包括:待识别应用的名称与标识间的预设映射关系。作为示例,待识别应用的名称对应的标识可以为待识别应用的ID。作为示例,应用文件的第一行的开始部分可以采用“#”号进行标记,该标记只是一个标记信息,DPI引擎不会执行该行。作为示例,应用文件的内容如下图2所示。在图2中,待识别应用的名称分别为“sf-express”、“qq”和“skype”,其中,“sf-express”指示的待识别应用对应的ID为“1”,“qq”指示的待识别应用对应的ID为“2”,“skype”指示的待识别应用对应的ID为“3”。
基础协议的名称分别为“http”、“https”和“dns”,其中,“http”指示的基础协议对应的ID为“100000”,“https”指示的基础协议对应的ID为“100001”,“dns”指示的基础协议对应的ID为“100001”。
在本实施例中,应用文件是一个纯文本文件。DPI引擎从网络流量中识别出符合待识别应用的数据包的特征后,即DPI引擎从网络流量中识别出待识别应用产生的流量后,返回该应用文件中待识别应用对应的标识。
在本申请实施例中,基础协议文件用于指示:待识别应用所采用的基础协议中,待深度分析的基础协议。例如,很多基于web的应用都会采用http协议来传递消息,基础协议文件就是用于指示DPI引擎哪些应用层协议在被识别后需要进行更深层次的识别。具体的,可以在基础协议文件的第一行的开始部分采用字符“#”进行标记,标记该字符用于表示一个注释信息,DPI引擎在执行过程中不会执行该行。
作为示例,基础协议文件的内容如下图3所示,从图3中,可以看出,基础协议文件中定义的基础协议为“http”和“ftp”。
在本申请实施例中,协议规则文件是采用预设元素对协议规则文件的信息和待识别应用的信息分别进行描述,以及按照预设结构描述规则采用预设元素对待识别应用的数据包的特征进行描述得到。
可选的,在本实施例中,一个协议规则文件可以描述一个待识别应用的的数据包的特征,也可以描述多个待识别应用的数据包的特征,具体的,一个协议规则文件所描述的待识别应用的数量,本实施例不作限定。只要符合协议规则文件的命名规范即可。
具体的,在本申请实施例中,一个规则描述文件以“{”开始,以与之配对的"}"结束。其中,每一个规则文件都由三大部分组成,协议规则文件的信息、待识别应用的信息和待识别应用的数据包的特征的信息。
其中,协议规则文件的信息可以包括:版本信息和创建修改时间信息等。待识别应用的信息可以包括:待识别应用的名称和别名等。待识别应用的数据包的特征可以通过预设识别条件进行体现。其中,预设识别条件可以包括:IP类条件、PORT类条件、关键字类条件、包特征类条件和关联类条件。其中,对于任一待识别应用,该待识别应用的数据包的识别条件可以采用上述预设识别条件中的一种或几种,具体的,该待识别应用的数据包的识别条件具体采用上述预设识别条件中的哪几种识别条件,需要根据实际情况确定,即根据该待识别应用的数据包的特征的具体内容确定的,本实施例不对该待识别应用的数据包的识别条件的数量作限定。
具体的,预设元素可以包括:命令字、每个命令字的数据类型、预定义符和逻辑操作符号。作为示例,命令字所包含的具体内容如下表1所示,
表1
对于命令字的数据格式,以及每个数据格式含义的具体解释,参考表2所示:
表2
预设元素中的预定义符(DEF)所包含的项,以及各项表示的含义如下表3所示:
表3
其中,预设元素中的操作符所包含的各项操作符,以及每项操作符所表示的含义,如下表4所示:
表4
作为示例,采用预设元素对协议规则文件的信息进行描述的结果,如下图4所示。在图4中,命令字“fileinfo”表示规则文件信息对象,用于描述头部信息。其中,命令字“fileinfo”的数据格式为对象类型,对象类型的具体内容采用{}括起来表示,因此,“fileinfo”的具体内容写入{}中。命令字“version”和“date”的数据类型为“STRING”即字符串类型,并且,字符串类型的命令字的具体内容采用“”引起来表示,因此,“version”和“date”的具体内容采用“”引起来。
作为示例,采用预设元素对待识别应用的信息进行描述的结果,如下图5所示,在图5中,“applist”、“appname”、“aliases”和“apprules”都是命令字,其中,“applist”表示待识别应用的特征,数据类型为数组,并且,一个“applist”表示一种待识别应用。“appname”表示待识别应用的名称,“aliases”表示待识别应用的别名。
在实际中,通过协议规则文件中的“appname”关联应用文件,获取应用文件中该“appname”指示的待识别应用的名称所对应的标识。因此,“appname”为协议规则文件中的必选字段。
“apprules”表示对数据包的特征的描述,用于识别某个应用,数据类型为数组。需要说明的是,apprules对象数组的里的每一个元素都能独立识别该待识别应用的应用数据包。
在本申请实施例中,协议规则文件中的“apprules”中的内容是按照预设结构描述规则,采用预设元素对待识别应用的数据包的特征进行描述得到。
其中,待识别应用的数据包的特征可以通过预设识别条件进行体现。其中,用于识别该待识别应用的数据包的识别条件可以为预设识别条件中的一个识别条件,也可以为多个识别条件,本实施例不对识别条件的具体数量作限定。其中,待识别应用的数据包的每个识别条件采用一对“{}”括起来,并且,待识别应用的数据包的识别条件中相邻识别条件之间采用“,”分隔。
“apprules”的开始部分需要定义识别条件的一些相关信息,其中,相关信息可以包括:待识别应用数据包所采用的基础协议名称、协议行为标识,以及识别条件间的逻辑关系。即在“apprules”中,先采用预设元素描述相关信息,再采用预设元素描述待识别应用的数据包的识别条件,在本申请实施例中,为了描述方便,将先描述待识别应用的数据包的识别条件的相关信息,再描述待识别应用的数据包的识别条件的顺序结构,称为预设结构描述规则。
作为示例,按照预设结构描述规则,采用预设元素对待识别应用的数据包的特征进行描述的结果,如图6所示。
在图6中,“actionid”表示协议行为ID,“ruleid”表示待识别应用的识别规则ID,“operator”表示“rules”字段中各识别条件间的逻辑关系。例如,逻辑关系为“and”或者“or”。Rules:字段中,逐个列出该待识别应用的数据包的所有识别条件,待识别应用的数据包的每一个识别条件由一对“{}”扩起来,识别条件与识别条件之间采用“,”分隔。“baseappname”用于标记通过该待识别应用的数据包的识别条件识别出来的流所采用的基础协议名,该基础协议名在做应用数据包分析的时候获得,并手动指定到该描述中。DPI引擎在命中该待识别应用的数据包的识别条件时,会返回该基础协议名所对应的待识别应用的ID。
以下对预设识别条件进行介绍,在本申请实施例中,IP类条件用于描述一个或一组IP地址,其中,支持IPv4和IPv6。作为示例,其格式如下图7所示。
作为示例,PORT类条件的格式如下图8所示。
关键字类条件是网络应用层数据包识别的一个重要手段,在一个应用数据包中,用类型的关键字具有位置、长度和内容等方面的不确定性,作为示例,关键字类特征的结果如下图9所示,图9中的关键字类条件表示在网络流量中的应用数据包中偏移为5个字节处连续两个字节的值与掩码“Oxeeff”作与操作后的值为“Ox359e”,则表示该应用数据包满足该关键字类特征。
作为示例,包特征类条件的结果如下图10所示,图10中的包特征类条件表示如果传输层协议类型为UDP,则应用数据包满足图10的包特征类条件。
关联类条件在应用数据包识别分析中,需要通过从一条流中取出相关的数据,作为另一条流的识别条件。例如,DNS中,满足域名条件所返回的IP地址,可以作为另一条流的IP条件。作为示例,关联类条件的内容如下图11所示。图11所示的关联类条件表示:如果在dns的响应包中,解析出的dns域名包含"www.qiyi.com",就解析出该域名对应的ip。如果有应用数据包的ip满足该ip且时间在有效时间内,该应用数据包就满足该关联类特征描述。
在本申请实施例中,在协议规则文件的识别条件之后,还包括:信息提取类条件。其中,信息提取类条件,用于指示从识别出的应用数据包中,待提取的信息。
依据该提取类条件提取出的信息,可以作为后续使用,具体的,提取类条件指示的待提取信息通过extract规则配置,可以包括:提取类型、提取方式和字段类型值。具体如下表5所示:
表5
参数 | 参数名 | 说明 |
extract_type | 提取方式 | 从字符串中提取指定信息的方法 |
extract_area | 提取区域 | 指定需要提取的http字段区域 |
encode | 编码方式 | 待提取信息的编码方式 |
charset | 中文编码 | 可以指定提取内容的中文编码格式 |
rule | 提取规则 | 从字符串中提取的规则 |
typeid | 字段编号 | 为提取的字段进行编号 |
作为示例,信息提取类条件的结果如图12所示,图12中的信息提取类条件中的rg指的是用正则表达式的方式进行提取,http.req_Body指的是从请求体中进行提取,rule代表提取规则,括号内代表要提取的内容,4199代表此字段的编号,url代表编码方式。
本申请实施例具有以下有益效果:
有益效果一:
在本实施例中,由于json文件与深度包检测程序之间是分离的,深度包检测程序通过读取和解析json文件,得到待识别应用的数据包的特征,通过检测待匹配特征是否符合待识别应用的数据包的特征,检测流量中是否存在待识别应用产生的流量。使得在应用快速更新的情况下,相比于现有技术中,通过运维人员更该DPI引擎对待识别应用的识别规则修改,以及对修改后的程序进行编译,并重新启动系统进行深度包检测来说,本申请实施例只需修改json文件即可,没有编译及重启系统的过程,针对网络应用的更新迭代,采用更新后的json文件进行深度包识别所需的时间缩短。
此外,本实施例无需运维人员重启系统,因此,在应用更新的情况下,可以减少运维人员的操作复杂度。
有益效果二:
在本实施例中,由于json文件描述清晰简洁,并且,json是独立于语言的文本格式文件,因此,在网络应用更新的情况下,不会在更改json文件中的内容的过程中引入额外的bug。
图13为本申请实施例提供的一种深度包检测装置,包括:第一检测模块1301、读取模块1302、解析模块1303和第二检测模块1304;其中,
第一检测模块1301,用于对预设的网络关键点处的流量和网络报文内容检测分析,得到待匹配特征;
读取模块1302,用于读取预先生成的json文件;json文件是通过预设的描述方法对待识别应用的数据包的特征进行描述得到;待识别应用数据包为待识别应用产生的网络应用层数据包;
解析模块1303,用于解析json文件,得到待识别应用的数据包的特征;
第二检测模块1304,用于通过检测待匹配特征是否符合待识别应用的数据包的特征,检测流量中是否存在待识别应用产生的流量。
可选的,该装置还可以包括:生成模块,用于通过预设的描述方法对待识别应用的数据包的特征进行描述,得到json文件;
生成模块,用于通过预设的描述方法对待识别应用的数据包的特征进行描述,得到json文件,包括:
生成模块,具体用于生成应用文件、基础协议文件和协议规则文件;应用文件、基础协议文件和协议规则文件,构成json文件;
应用文件包括:待识别应用的名称与标识间的预设映射关系;
基础协议文件用于指示:待识别应用所采用的基础协议中,待深度分析的基础协议;
协议规则文件是采用预设元素对协议规则文件的信息和待识别应用的信息分别进行描述,以及按照预设结构描述规则采用预设元素对待识别应用的数据包的特征进行描述得到;预设元素包括:命令字、每个命令字的数据类型、预定义符和逻辑操作符号。
可选的,生成模块,用于按照预设结构描述规则采用预设元素对待识别应用的数据包的特征进行描述,包括:
生成模块,具体用于先采用预设元素描述相关信息,再采用预设元素描述待识别应用的数据包的识别条件;待识别应用的数据包的每个识别条件采用一对“{}”括起来,并且,相邻识别条件之间采用“,”分隔;其中,相关信息包括:待识别应用的数据包所采用的基础协议名称、协议行为标识,以及识别条件间的逻辑关系。
所述深度包检测装置包括处理器和存储器,上述第一检测模块、读取模块、解析模块和第二检测模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高Kaldi开源工具对待解码语音进行解码的精度。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述语音解码方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述语音解码方法。
本发明实施例提供了一种设备,如图14所示,设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述的语音解码方法。本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
对预设的网络关键点处的流量和网络报文内容检测分析,得到待匹配特征;
读取预先生成的json文件;所述json文件是通过预设的描述方法对待识别应用的数据包的特征进行描述得到;所述待识别应用数据包为所述待识别应用产生的网络应用层数据包;
解析所述json文件,得到所述待识别应用的数据包的特征;
通过检测所述待匹配特征是否符合所述待识别应用的数据包的特征,检测所述流量中是否存在所述待识别应用产生的流量。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
本申请实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种深度包检测方法,其特征在于,应用于DPI引擎,包括:
对预设的网络关键点处的流量和网络报文内容检测分析,得到待匹配特征;
读取预先生成的json文件;所述json文件是通过预设的描述方法对待识别应用的数据包的特征进行描述得到;所述待识别应用数据包为所述待识别应用产生的网络应用层数据包;
解析所述json文件,得到所述待识别应用的数据包的特征;
通过检测所述待匹配特征是否符合所述待识别应用的数据包的特征,检测所述流量中是否存在所述待识别应用产生的流量。
2.根据权利要求1所述的方法,其特征在于,通过所述预设的描述方法对待识别应用的数据包的特征进行描述,得到所述json文件,包括:
生成应用文件、基础协议文件和协议规则文件;所述应用文件、所述基础协议文件和所述协议规则文件,构成所述json文件;
所述应用文件包括:待识别应用的名称与标识间的预设映射关系;
所述基础协议文件用于指示:待识别应用所采用的基础协议中,待深度分析的基础协议;
所述协议规则文件是采用预设元素对所述协议规则文件的信息和所述待识别应用的信息分别进行描述,以及按照预设结构描述规则采用所述预设元素对所述待识别应用的数据包的特征进行描述得到;所述预设元素包括:命令字、每个所述命令字的数据类型、预定义符和逻辑操作符号。
3.根据权利要求2所述的方法,其特征在于,所述协议规则文件的信息至少包括:版本信息和创建修改时间信息;所述待识别应用的信息至少包括:所述待识别应用的名称和别名;所述待识别应用的数据包的特征通过预设识别条件进行体现;
所述按照预设结构描述规则采用所述预设元素对所述待识别应用的数据包的特征进行描述,包括:
先采用所述预设元素描述相关信息,再采用所述预设元素描述所述待识别应用的数据包的识别条件;所述待识别应用的数据包的每个识别条件采用一对“{}”括起来,并且,相邻所述识别条件之间采用“,”分隔;
其中,所述相关信息包括:所述待识别应用的数据包所采用的基础协议名称、协议行为标识,以及所述识别条件间的逻辑关系。
4.根据权利要求3所述的方法,其特征在于,所述预设识别条件包括:IP类条件、PORT类条件、关键字类条件、包特征类条件和关联类条件。
5.根据权利要求3所述的方法,其特征在于,所述预设识别条件还包括:信息提取类条件;所述信息提取类条件,用于指示从识别出的应用数据包中,待提取的信息。
6.一种深度包检测装置,其特征在于,包括:
第一检测模块,用于对预设的网络关键点处的流量和网络报文内容检测分析,得到待匹配特征;
读取模块,用于读取预先生成的json文件;所述json文件是通过预设的描述方法对待识别应用的数据包的特征进行描述得到;所述待识别应用数据包为所述待识别应用产生的网络应用层数据包;
解析模块,用于解析所述json文件,得到所述待识别应用的数据包的特征;
第二检测模块,用于通过检测所述待匹配特征是否符合所述待识别应用的数据包的特征,检测所述流量中是否存在所述待识别应用产生的流量。
7.根据权利要求6所述的装置,其特征在于,还包括:
生成模块,用于通过所述预设的描述方法对待识别应用的数据包的特征进行描述,得到所述json文件;
所述生成模块,用于通过所述预设的描述方法对待识别应用的数据包的特征进行描述,得到所述json文件,包括:
所述生成模块,具体用于生成应用文件、基础协议文件和协议规则文件;所述应用文件、所述基础协议文件和所述协议规则文件,构成所述json文件;
所述应用文件包括:待识别应用的名称与标识间的预设映射关系;
所述基础协议文件用于指示:待识别应用所采用的基础协议中,待深度分析的基础协议;
所述协议规则文件是采用预设元素对所述协议规则文件的信息和所述待识别应用的信息分别进行描述,以及按照预设结构描述规则采用所述预设元素对所述待识别应用的数据包的特征进行描述得到;所述预设元素包括:命令字、每个所述命令字的数据类型、预定义符和逻辑操作符号。
8.根据权利要求7所述的装置,其特征在于,所述生成模块,用于按照预设结构描述规则采用所述预设元素对所述待识别应用的数据包的特征进行描述,包括:
所述生成模块,具体用于先采用所述预设元素描述相关信息,再采用所述预设元素描述所述待识别应用的数据包的识别条件;所述待识别应用的数据包的每个识别条件采用一对“{}”括起来,并且,相邻所述识别条件之间采用“,”分隔;其中,所述相关信息包括:所述待识别应用的数据包所采用的基础协议名称、协议行为标识,以及所述识别条件间的逻辑关系。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1~5任意一项权利要求所述的深度包检测方法。
10.一种设备,其特征在于,所述设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1-5中任一项权利要求所述的深度包检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010139010.9A CN111371649B (zh) | 2020-03-03 | 2020-03-03 | 一种深度包检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010139010.9A CN111371649B (zh) | 2020-03-03 | 2020-03-03 | 一种深度包检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111371649A true CN111371649A (zh) | 2020-07-03 |
CN111371649B CN111371649B (zh) | 2021-11-30 |
Family
ID=71211676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010139010.9A Active CN111371649B (zh) | 2020-03-03 | 2020-03-03 | 一种深度包检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111371649B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865724A (zh) * | 2020-07-28 | 2020-10-30 | 公安部第三研究所 | 视频监控设备信息采集控制实现方法 |
CN112532616A (zh) * | 2020-11-26 | 2021-03-19 | 杭州迪普科技股份有限公司 | 网络应用的特征分析方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414939A (zh) * | 2008-11-28 | 2009-04-22 | 武汉虹旭信息技术有限责任公司 | 一种基于动态深度包检测的互联网应用识别方法 |
CN102045363A (zh) * | 2010-12-31 | 2011-05-04 | 成都市华为赛门铁克科技有限公司 | 网络流量特征识别规则的建立方法、识别控制方法及装置 |
CN104022920A (zh) * | 2014-06-26 | 2014-09-03 | 重庆重邮汇测通信技术有限公司 | 一种lte网络流量识别系统及方法 |
CN104486143A (zh) * | 2014-12-01 | 2015-04-01 | 中国联合网络通信集团有限公司 | 一种深度报文检测方法、检测系统 |
CN106209506A (zh) * | 2016-06-30 | 2016-12-07 | 瑞斯康达科技发展股份有限公司 | 一种虚拟化深度包检测流量分析方法及系统 |
CN108173705A (zh) * | 2017-11-28 | 2018-06-15 | 北京天融信网络安全技术有限公司 | 流量引流的首包识别方法、装置、设备及介质 |
CN108255993A (zh) * | 2017-12-29 | 2018-07-06 | 北京三快在线科技有限公司 | 提取业务字段的方法、装置、电子设备及存储介质 |
US20180241720A1 (en) * | 2017-02-17 | 2018-08-23 | Corrata Limited | Data inspection system and method |
CN108512816A (zh) * | 2017-02-28 | 2018-09-07 | 中国移动通信集团广东有限公司 | 一种流量劫持的检测方法及装置 |
CN110708215A (zh) * | 2019-10-10 | 2020-01-17 | 深圳市网心科技有限公司 | 深度包检测规则库生成方法、装置、网络设备及存储介质 |
-
2020
- 2020-03-03 CN CN202010139010.9A patent/CN111371649B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414939A (zh) * | 2008-11-28 | 2009-04-22 | 武汉虹旭信息技术有限责任公司 | 一种基于动态深度包检测的互联网应用识别方法 |
CN102045363A (zh) * | 2010-12-31 | 2011-05-04 | 成都市华为赛门铁克科技有限公司 | 网络流量特征识别规则的建立方法、识别控制方法及装置 |
CN104022920A (zh) * | 2014-06-26 | 2014-09-03 | 重庆重邮汇测通信技术有限公司 | 一种lte网络流量识别系统及方法 |
CN104486143A (zh) * | 2014-12-01 | 2015-04-01 | 中国联合网络通信集团有限公司 | 一种深度报文检测方法、检测系统 |
CN106209506A (zh) * | 2016-06-30 | 2016-12-07 | 瑞斯康达科技发展股份有限公司 | 一种虚拟化深度包检测流量分析方法及系统 |
US20180241720A1 (en) * | 2017-02-17 | 2018-08-23 | Corrata Limited | Data inspection system and method |
CN108512816A (zh) * | 2017-02-28 | 2018-09-07 | 中国移动通信集团广东有限公司 | 一种流量劫持的检测方法及装置 |
CN108173705A (zh) * | 2017-11-28 | 2018-06-15 | 北京天融信网络安全技术有限公司 | 流量引流的首包识别方法、装置、设备及介质 |
CN108255993A (zh) * | 2017-12-29 | 2018-07-06 | 北京三快在线科技有限公司 | 提取业务字段的方法、装置、电子设备及存储介质 |
CN110708215A (zh) * | 2019-10-10 | 2020-01-17 | 深圳市网心科技有限公司 | 深度包检测规则库生成方法、装置、网络设备及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865724A (zh) * | 2020-07-28 | 2020-10-30 | 公安部第三研究所 | 视频监控设备信息采集控制实现方法 |
CN111865724B (zh) * | 2020-07-28 | 2022-02-08 | 公安部第三研究所 | 视频监控设备信息采集控制实现方法 |
CN112532616A (zh) * | 2020-11-26 | 2021-03-19 | 杭州迪普科技股份有限公司 | 网络应用的特征分析方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111371649B (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111371649B (zh) | 一种深度包检测方法及装置 | |
CN102647414B (zh) | 协议解析方法、设备及系统 | |
CN107257390B (zh) | 一种url地址的解析方法和系统 | |
CN111740923A (zh) | 应用识别规则的生成方法、装置、电子设备和存储介质 | |
WO2018001078A1 (zh) | 一种url匹配方法、装置及存储介质 | |
CN113220782A (zh) | 多元测试数据源生成方法、装置、设备及介质 | |
CN110007906B (zh) | 脚本文件的处理方法、装置和服务器 | |
CN110909361A (zh) | 一种漏洞检测方法,装置和计算机设备 | |
WO2021175053A1 (zh) | 一种在虚拟机中执行功能模块的方法和装置 | |
CN114900546B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN114338413A (zh) | 网络中设备的拓扑关系的确定方法、装置以及存储介质 | |
CN113961768B (zh) | 敏感词检测方法、装置、计算机设备和存储介质 | |
CN110019012B (zh) | 数据预处理方法、装置和计算机可读存储介质 | |
CN111125704B (zh) | 一种网页挂马识别方法及系统 | |
CN106528066B (zh) | 一种业务流程运行方法及装置 | |
CN106469048B (zh) | 一种调用属性配置文件中内容的方法和装置 | |
CN111240790A (zh) | 一种应用的多语言适配方法、装置、客户端和存储介质 | |
CN111125714A (zh) | 一种安全检测方法、装置及电子设备 | |
CN115865457A (zh) | 一种网络攻击行为的识别方法、服务器及介质 | |
CN110929188A (zh) | 服务端页面渲染方法及装置 | |
CN115437930A (zh) | 网页应用指纹信息的识别方法及相关设备 | |
CN113032836B (zh) | 数据脱敏方法和装置 | |
CN111768767B (zh) | 用户标签提取方法和装置、服务器、计算机可读存储介质 | |
CN105635225A (zh) | 移动终端访问基于移动互联网络的服务器的方法与系统及移动终端 | |
CN114329495A (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 |