CN112637223B - 应用协议识别方法、装置、计算机设备和存储介质 - Google Patents

应用协议识别方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN112637223B
CN112637223B CN202011570693.XA CN202011570693A CN112637223B CN 112637223 B CN112637223 B CN 112637223B CN 202011570693 A CN202011570693 A CN 202011570693A CN 112637223 B CN112637223 B CN 112637223B
Authority
CN
China
Prior art keywords
application protocol
target
data stream
mapping relation
destination
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
Application number
CN202011570693.XA
Other languages
English (en)
Other versions
CN112637223A (zh
Inventor
聂军
季超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dawning Network Technology Co ltd
Original Assignee
Dawning Network Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dawning Network Technology Co ltd filed Critical Dawning Network Technology Co ltd
Priority to CN202011570693.XA priority Critical patent/CN112637223B/zh
Publication of CN112637223A publication Critical patent/CN112637223A/zh
Application granted granted Critical
Publication of CN112637223B publication Critical patent/CN112637223B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请涉及一种应用协议识别方法、装置、计算机设备和存储介质。该方法包括:接收目标数据包;检测目标数据包中的目标数据流的类别,得到数据流类别;按照数据流类别,在预设的应用协议映射关系集中查找数据流类别对应的应用协议,得到目标数据包对应的目标应用协议;其中,应用协议映射关系集中存储有数据流类别特征与应用协议类型的对应关系。从而能够根据目标数据包对应的目标数据流的具体类别,在应用协议映射关系集中有针对性地确定出相应数据流类别对应的应用协议,避免不必要的数据比较,提高应用协议识别的效率。

Description

应用协议识别方法、装置、计算机设备和存储介质
技术领域
本申请涉及通信技术领域,特别是涉及一种应用协议识别法、装置、计算机设备和存储介质。
背景技术
随着通信技术的不断发展,通信领域的许多上层业务应用都是基于应用协议的识别结果开展的。因此,准确而高效地对应用协议进行识别,对于后续的业务开展十分重要。传统应用协议识别方法,一般是通过对每一类型的应用协议中的特定数据进行分析,找出能表示该特定数据共性的特征,并将共性特征与接收到的数据包进行比较,以识别出不同的应用协议。
然而,传统应用协议识别方法中,采用的共性特征中包含了大量的数据,在应用协议识别的过程中,将共性特征中的所有数据与接收到的数据包进行比较,会出现大量无效且冗余的数据比较过程,导致应用协议识别过程中的数据处理效率低下。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高应用协议识别效率的应用协议识别方法、装置、计算机设备和存储介质。
一种应用协议识别方法,所述方法包括:
接收目标数据包;
检测所述目标数据包中的目标数据流的类别,得到数据流类别;
按照所述数据流类别,在预设的应用协议映射关系集中查找所述数据流类别对应的应用协议,得到所述目标数据包对应的目标应用协议;其中,所述应用协议映射关系集中存储有数据流类别与应用协议的对应关系。
在其中一个实施例中,所述应用协议映射关系集包括第一映射关系集和第二映射关系集;其中,所述第一映射关系集中存储有源IP、目的IP、目的端口与应用协议的对应关系,所述第二映射关系集中存储有目的IP与应用协议的对应关系;
所述按照所述数据流类别,在预设的应用协议映射关系集中查找所述数据流类别对应的应用协议,得到所述目标数据包对应的目标应用协议,包括:
若所述数据流类别为关联流对应的控制流,则根据所述目标数据流对应的源IP、目的IP和目的端口,在所述第一映射关系集中查找对应的应用协议,得到所述目标应用协议;
若所述数据流类别为DNS报文,则根据所述目标数据流对应的目的IP,在所述第二映射关系集中查找对应的应用协议,得到所述目标应用协议。
在其中一个实施例中,所述根据所述目标数据流对应的源IP、目的IP和目的端口,在所述第一映射关系集中查找对应的应用协议,得到所述目标应用协议,之后包括:
建立所述目标数据流对应的应用协议与源IP、目的IP和目的端口之间的第一映射关系,并将所述第一映射关系存储至所述第一映射关系集;
所述根据所述目标数据流对应的目的IP,在所述第二映射关系集中查找对应的应用协议,得到所述目标应用协议,之后包括:
建立所述目标数据流对应的应用协议与目的IP之间的第二映射关系,并将所述第二映射关系存储至所述第二映射关系集。
在其中一个实施例中,所述按照所述数据流类别,在预设的应用协议映射关系集中查找所述数据流类别对应的应用协议,得到所述目标数据包对应的目标应用协议,之后包括:
若无法按照所述数据流类别,在所述应用协议映射关系集中查找所述数据流类别对应的应用协议,则检测所述目标数据包中的目标数据流的流量类别,得到目标流量类别;
按照所述目标流量类别和所述目标数据流对应的目的IP和目的端口,在预设的第三映射关系集中查找对应的应用协议,得到所述目标应用协议;其中,所述第三映射关系集中存储有目的IP、目的端口与应用协议的对应关系。
在其中一个实施例中,
所述按照所述目标流量类别和所述目标数据流对应的目的IP和目的端口,在所述第三映射关系集中查找对应的应用协议,得到所述目标应用协议,包括:
按照所述目标流量类别,从所述第三映射关系集中查找与所述目标流量类别对应的第三映射关系;
按照所述目标数据流对应的目的IP和目的端口,在所述第三映射关系中查找对应的应用协议,得到所述目标应用协议。
在其中一个实施例中,所述按照所述目标流量类别和所述目标数据流对应的目的IP和目的端口,在所述第三映射关系集中查找对应的应用协议,得到所述目标应用协议,之前包括:
建立所述目标数据流对应的应用协议与目的IP和目的端口之间的第三映射关系,并将所述第三映射关系存储至所述第三映射关系集。
在其中一个实施例中,所述第三映射关系的确定方式,包括:
获取参数配置文件和初始映射关系;
按照所述参数配置文件为所述初始映射关系设置对应的检测报文数量阈值,得到所述第三映射关系;
其中,所述检测报文数量阈值,用于限制在所述第三映射关系集中查找对应的应用协议的数据包的数量。
一种应用协议识别装置,所述装置包括:
数据包接收模块,用于接收目标数据包;
数据流类别检测模块,用于检测所述目标数据包中的目标数据流的类别,得到数据流类别;
应用协议识别模块,用于按照所述数据流类别,在预设的应用协议映射关系集中查找所述数据流类别对应的应用协议,得到所述目标数据包对应的目标应用协议;其中,所述应用协议映射关系集中存储有数据流类别与应用协议的对应关系。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述方法的步骤。
上述应用协议识别方法、装置、计算机设备和存储介质,接收目标数据包,检测目标数据包中的目标数据流的类别,得到数据流类别,并按照数据流类别,在预设的存储有数据流类别与应用协议对应关系的应用协议映射关系集中,查找数据流类别对应的应用协议,得到目标数据包对应的目标应用协议。从而能够根据目标数据包对应的目标数据流的具体类别,在应用协议映射关系集中有针对性地确定出相应数据流类别对应的应用协议,避免不必要的数据比较,提高应用协议识别的效率。
附图说明
图1为一个实施例中应用协议识别方法的流程示意图;
图2为一个实施例中步骤S300的一种可实施方式的流程示意图;
图3为一个实施例中步骤S330的一种可实施方式的流程示意图;
图4为一个实施例中步骤S332的一种可实施方式的流程示意图;
图5为一个实施例中流量匹配的设置方法的流程示意图;
图6为一个实施例中应用协议识别方法的流程示意图;
图7为一个实施例中应用协议识别装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种应用协议识别方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
步骤S100,接收目标数据包。
步骤S200,检测目标数据包中的目标数据流的类别,得到数据流类别。
步骤S300,按照数据流类别,在预设的应用协议映射关系集中查找数据流类别对应的应用协议,得到目标数据包对应的目标应用协议;其中,应用协议映射关系集中存储有数据流类别与应用协议的对应关系。
其中,数据流类别是指接收到的目标数据包中的报文对应的类别,包括关联流对应的控制流、DNS报文等。应用协议映射关系集是指存储有数据流类别与应用协议的对应关系的集合,其中,数据流类别与应用协议的对应关系是预设的或者应用过程中根据数据流类别特征识别出的应用协议类型而生成的对应关系。
具体地,接收到目标数据包后,检测目标数据包中的目标数据流的类别,得到数据流类别,并按照数据流类别在存储有数据流类别与应用协议对应关系的应用协议映射关系集中,查找数据流类别对应的应用协议,得到目标数据包对应的目标应用协议。目标应用协议,是根据具体的数据流类别,从预设的或者应用过程中根据数据流类别识别出的应用协议类型生成的对应关系中确定出来的。整个目标应用协议的识别过程,能够根据具体的数据流类别以及预设的或者应用过程中生成的应用协议对应关系确定出目标数据包对应的应用协议类型,无需逐一对目标数据包中的数据进行检测和比较,能避免不必要的数据比较,提高应用协议识别的效率。
上述应用协议识别方法中,接收目标数据包,检测目标数据包中的目标数据流的类别,得到数据流类别,并按照数据流类别,在预设的存储有数据流类别与应用协议对应关系的应用协议映射关系集中,查找数据流类别对应的应用协议,得到目标数据包对应的目标应用协议。从而能够根据目标数据包对应的目标数据流的具体类别,在应用协议映射关系集中有针对性地确定出相应数据流类别对应的应用协议,能够避免不必要的数据比较,有效减少应用协议匹配任务的实际执行次数,提高应用协议识别的效率。
在一个实施例中,如图2所示,为步骤S300的一种可实施方式的流程示意图,包括以下步骤:
步骤S311,若数据流类别为关联流对应的控制流,则根据目标数据流对应的源IP、目的IP和目的端口,在第一映射关系集中查找对应的应用协议,得到目标应用协议。
步骤S312,若数据流类别为DNS报文,则根据目标数据流对应的目的IP,在第二映射关系集中查找对应的应用协议,得到目标应用协议。
其中,应用协议映射关系集包括第一映射关系集和第二映射关系集;其中,第一映射关系集中存储有源IP、目的IP、目的端口与应用协议的对应关系,第二映射关系集中存储有目的IP与应用协议的对应关系。
具体地,在应用协议映射关系集中查找数据流类别对应的应用协议的过程中,当数据流类别为关联流对应的控制流时,则根据目标数据流对应的源IP、目的IP和目的端口,在存储有源IP、目的IP、目的端口与应用协议的对应关系的第一映射关系集中查找对应的目标应用协议。当数据流类别为DNS报文,则根据目标数据流对应的目的IP,在存储有目的IP与应用协议的对应关系的第二映射关系集中查找对应的目标应用协议。
可选地,步骤S311之后包括:建立目标数据流对应的应用协议与源IP、目的IP和目的端口之间的第一映射关系,并将第一映射关系存储至第一映射关系集。
具体地,当数据流类别为关联流对应的控制流时,对目标数据流进行解析,得到目标数据包对应的应用协议和关联流对应的控制流,建立应用协议与关联流对应的控制流之间的第一映射关系,关联流对应的控制流中包括对应的源IP、目的IP和目的端口,不同的源IP、不同的目的IP、不同的目的端口对应不同的第一映射关系,不同的第一映射关系形成一个第一映射关系集。
可选地,步骤S311之后包括:建立目标数据流对应的应用协议与目的IP之间的第二映射关系,并将第二映射关系存储至第二映射关系集
具体地,当数据流类别为DNS报文时,对目标数据流进行解析,得到目标数据包对应的应用协议和目的IP,建立应用协议与目的IP之间的第二映射关系,不同的目的IP对应不同的第二映射关系,不同的第二映射关系形成一个第二映射关系集。
上述实施例中,根据数据流类别,分别从应用协议映射关系集对应的第一映射关系集和第二映射关系集中确定出目标数据流对应的应用协议,能够在应用协议映射关系集中有针对性地确定出相应数据流类别对应的应用协议,避免不必要的数据比较,提高应用协议识别的效率。同时,能够对应用过程中得到的应用协议映射关系集进行充分的利用,提高数据的利用率,提高处理密集任务时的内存命中率。
在一个实施例中,如图3所示,为步骤S300之后的一种可实施方式的流程示意图,包括以下步骤:
步骤S321,若无法按照数据流类别,在应用协议映射关系集中查找数据流类别对应的应用协议,则检测目标数据包中的目标数据流的流量类别,得到目标流量类别。
步骤S322,按照目标流量类别和目标数据流对应的目的IP和目的端口,在预设的第三映射关系集中查找对应的应用协议,得到目标应用协议;其中,第三映射关系集中存储有目的IP、目的端口与应用协议的对应关系。
其中,目标流量类别是指目标数据流对应的流量的类型,包括HTTP流量、HTTPS流量和其他类型的流量。
具体地,当数据流类别为关联流对应的控制流时,则在应用协议映射关系集中查找关联流控制流对应的应用协议,得到目标应用协议。而当数据流类别为DNS报文时,则在应用协议映射关系集中查找DNS报文对应的应用协议,得到目标应用协议。当数据流类别不是关联流对应的控制流也不是DNS报文时,无法按照数据流类别,在应用协议映射关系集中查找数据流类别对应的应用协议,则进一步检测目标数据包中的目标数据流的目标流量类别,并根据具体的目标流量类别,按照目标数据流对应的目的IP和目的端口,在存储有目的IP、目的端口与应用协议的对应关系的第三映射关系集中查找对应的应用协议。
可选地,如图4所示,为步骤S322的一种可实施方式的流程示意图,包括以下步骤:
步骤S3221,按照目标流量类别,从第三映射关系集中查找与目标流量类别对应的第三映射关系。
步骤S3222,按照目标数据流对应的目的IP和目的端口,在第三映射关系中查找对应的应用协议,得到目标应用协议。
其中,第三映射关系集中包括HTTP规则、HTTPS规则和流量规则,HTTP规则中存储有HTTP流量下的目的IP、目的端口与应用协议的对应关系,HTTPS规则中存储有HTTPS流量下的目的IP、目的端口与应用协议的对应关系,流量规则中存储有非HTTP流量且非HTTPS流量下的目的IP、目的端口与应用协议的对应关系。
具体地,每一种目标流量类别对应特定的应用协议匹配规则。当目标流量类别为HTTP流量时,根据目标数据流对应的目的IP和目的端口,在存储有目的IP、目的端口与应用协议的对应关系的HTTP规则中查找对应的目标应用协议。当目标流量类别为HTTPS流量时,根据目标数据流对应的目的IP和目的端口,在存储有HTTPS流量下的目的IP、目的端口与应用协议的对应关系的HTTPS规则中查找对应的目标应用协议。当目标流量类别不是HTTP流量也不是HTTPS流量时,根据目标数据流对应的目的IP和目的端口,在存储有非HTTP流量且非HTTPS流量下的目的IP、目的端口与应用协议的对应关系的流量规则中查找对应的目标应用协议。
可选地,为步骤S322之后的一种可实施方式,包括:建立目标数据流对应的应用协议与目的IP和目的端口之间的第三映射关系,并将第三映射关系存储至第三映射关系集。
具体地,HTTP规则的确定方式包括:若目标流量类别为HTTP流量,则按照HTTP规则进行匹配,得到目标应用协议,建立应用协议与目的IP和目的端口之间的HTTP规则(第三映射关系),并将HTTP规则存储至第三映射关系集。HTTPS规则的确定方式包括:若目标流量类别为HTTPS流量,则按照HTTPS规则进行匹配,得到目标应用协议,建立应用协议与目的IP和目的端口之间的HTTPS规则(第三映射关系),并将HTTPS规则存储至第三映射关系集。流量规则的确定方式包括:若目标流量类别不是HTTP流量或HTTPS流量,则按照预设的流量规则进行匹配,得到目标应用协议,建立应用协议与目的IP和目的端口之间的流量规则(第三映射关系),并将流量规则存储至第三映射关系集。
具体地,当目标流量类别为HTTP流量时,按照HTTP规则对目标数据包进行匹配,得到目标数据包对应的应用协议,建立应用协议与目标数据包对应的目的IP之间的HTTP规则(第三映射关系),不同的目的IP对应不同的HTTP规则,不同的HTTP规则为第三映射关系集的一部分。当目标流量类别为HTTPS流量时,按照HTTPS规则对目标数据包进行匹配,得到目标数据包对应的应用协议,建立应用协议与目标数据包对应的目的IP之间的HTTPS规则(第三映射关系),不同的目的IP对应不同的HTTPS规则,不同的HTTPS规则为第三映射关系集的一部分。当目标流量类别不是HTTP流量也不是HTTPS流量时,按照流量规则对目标数据包进行匹配,得到目标数据包对应的应用协议,建立应用协议与目标数据包对应的目的IP之间的流量规则(第三映射关系),不同的目的IP对应不同的流量规则,不同的流量规则为第三映射关系集的一部分。
上述实施例中,根据目标流量类别,分别从第三映射关系集中确定出目标数据流对应的应用协议,能够在应用协议映射关系集中有针对性地确定出相应流量类别对应的应用协议,避免不必要的数据比较,提高应用协议识别的效率。同时,能够对应用过程中得到的第三映射关系集进行充分的利用,提高数据的利用率,提高应用协议识别的效率。
在一个实施例中,如图5所示,为第三映射关系的确定方法的流程示意图,包括以下步骤:
步骤S3211,获取参数配置文件和初始映射关系;其中,初始映射关系包括目标数据流对应的应用协议与目的IP和目的端口之间的映射关系。
步骤S3212,按照参数配置文件为初始映射关系设置对应的检测报文数量阈值,得到第三映射关系。
其中,参数配置文件是指包括相应映射关系对应的需要检测报文数量阈值的文件。检测报文数量阈值是指针对不同映射关系设置的不同的网络报文匹配数量阈值。根据流量模型的设定,在不影响上层业务的场景下,该检测报文数量是指能够命中或者不命中相应应用协议的最大报文总数量的条件阈值。具体地,当检测数量达到检测报文数量阈值后,若能将该数据包识别为一个确定的应用协议类型,则将该数据包的应用协议类型确定为对应的目标应用协议;当检测数量达到检测报文数量阈值后,若不能将该数据包识别为一个确定的应用协议类型,则说明即便检测再多的报文,也很难确定应用协议类型,则无需继续进行应用协议类型识别。网络报文检测速率控制算法是指一种过载保护方法,用以控制网络数据传输的速率,使流量以比较均匀的速度向外或者向内发送,例如,令牌桶算法。当某一时刻突发的流量超过设定的检测报文数量阈值时,则动态调整进入到规则匹配引擎的报文数量,保证上层业务的连续性,当报文数量回归至检测报文数量阈值范围内后,则将策略调整成尽可能的按最大报文数量进行规则匹配,以达到提高识别结果准确性的目标。
具体地,获取参数配置文件和初始映射关系(初始HTTP规则、初始HTTPS规则和初始流量规则),按照参数配置文件为初始映射关系设置对应的检测报文数量阈值,得到第三映射关系(HTTP规则、HTTPS规则和流量规则),在具体的实施方式中,可在网络报文检测速率控制算法的作用下动态调整接收到的目标数据包的数量,实现规则匹配任务与主业务任务的性能动态平衡。
上述实施例中,按照参数配置文件为初始映射关系设置对应的检测报文数量阈值,得到第三映射关系,在网络报文检测速率控制算法的作用下动态调整接收到的目标数据包的数量,实现规则匹配任务与主业务任务的性能动态平衡。
在一个具体的实施例中,如图6所示,提供了一种应用协议识别方法,包括:
在接收到数据包后,进行基础的协议识别规则匹配,获取协议识别结果。若业务流是关联流对应的控制流,则解析关联流的控制流,提取数据流的IP和端口信息,建立数据流与应用协议的映射关系;若业务流是DNS报文,则进行DNS规则匹配,建立目的IP和应用协议的映射关系;若业务流是其他类型的网络报文,则根据源IP、目的IP和目的端口查询在上述控制流处理时生成的关联流的数据流与应用协议的映射关系表,如果存在,返回协议识别结果,结束报文匹配处理流程。如果不存在,则根据目的IP查询在上述DNS规则匹配时生成的目的IP和应用协议的映射关系表,如果存在,返回协议识别结果,结束报文匹配处理流程。如果不存在则根据目的IP和目的端口查询目的IP和端口与协议的映射关系表,如果存在,判断当前目的IP和端口与协议的映射关是否有效,如果有效,返回协议识别结果,结束报文匹配处理流程;如果不存在或无效,则根据当前业务流的协议识别结果进行后续的规则匹配处理:如果是HTTP流量,则进入HTTP规则引擎进行规则匹配处理,匹配结束后,如果业务流的识别结果可用,即能够得到目的IP和端口与应用协议的对应关系,则将识别结果更新到目的IP和端口与应用协议的映射关系表中;如果是HTTPS流量,进入HTTPS规则引擎进行规则匹配处理,匹配结束后,如果业务流的识别结果可用,即能够得到目的IP和端口与应用协议的对应关系,则将识别结果更新到目的IP和端口与应用协议的映射关系表中;如果不是HTTP流量也不是HTTPS流量,则进入其他TCP和UDP规则引擎进行规则匹配处理,匹配结束后,如果业务流的识别结果可用,即能够得到目的IP和端口与应用协议的对应关系,则将识别结果更新到目的IP和端口与应用协议的映射关系表中。
需要注意的是,在各种映射关系的使用和建立的过程中,需要设定应用识别结果使用的判定条件,单条流的协议识别结果判定条件主要是依据规则优先级和是否达到设置的网络报文匹配阈值(检测报文数量阈值),当匹配的规则满足设定的优先级或者匹配的报文数量时,则认为当前流的识别结果可用,建立当前识别的应用协议与目的IP和目的端口的映射关系。当一定阈值的目的IP和目的端口都识别为某个协议时,则判定后续一段时间内,同样目的IP和端口的流量都是这个协议,并记录映射关系。在接收到后续报文时,先根据目的IP和目的端口从映射关系中获取对应的应用协议识别结果,如果结果可用,则直接使用获取的应用协议作为当前流的识别结果,无需进行后续的规则匹配操作,节省了规则匹配了资源开消。
在对不同类别的规则设置不同的检测报文数量时,需要根据流量模型设定在不影响上层业务的场景下,每秒能够进行规则匹配的最大报文数量,结合使用网络报文检测速率控制算法,比如令牌桶算法。当某一时刻突发的流量超过设定的检测报文数量阈值时,则动态调整进入到规则匹配引擎的报文数量,保证上层业务的连续性,当报文数量回归至检测报文数量阈值范围内后,则将策略调整成尽可能的按最大报文数量进行规则匹配,以达到提高识别结果的准确性的目标。其中,可以将特征规则库的规则(HTTP规则、HTTPS规则和流量规则)按照引擎处理逻辑流程需要进行分类,以达到符合处理引擎高效工作状态的要求。具体地可分为IP规则、端口规则、DNS规则、HTTP规则、HTTPS规则、关联流规则、用户自定义规则和其他规则等。在加载特征库规则的时候,分别把这些规则编译成处理引擎的逻辑代码,送入到处理引擎进行分类处理。
上述实施例中,能够实现的互联网应用协议规则匹配引擎,充分利用相同类型任务更高效的特点,把特征规则分类转换成多个与设备无关的状态机,然后由特征规则匹配引擎完成对网络数据报文的快速匹配。能够在降低特征规则匹配引擎的内存占用、减少规则匹配任务的实际执行次数的同时,提高密集任务处理时的内存命中率,实现提高整个特征规则匹配引擎的处理性能的最终目标。
应该理解的是,虽然图1-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种应用协议识别装置,包括数据包接收模块701、数据流类别检测模块702和应用协议识别模块703,其中:
数据包接收模块701,用于接收目标数据包;
数据流类别检测模块702,用于检测目标数据包中的目标数据流的类别,得到数据流类别;
应用协议识别模块703,用于按照数据流类别,在预设的应用协议映射关系集中查找数据流类别对应的应用协议,得到目标数据包对应的目标应用协议;其中,应用协议映射关系集中存储有数据流类别与应用协议的对应关系。
在一个实施例中,应用协议识别模块703还用于执行若数据流类别为关联流对应的控制流,则根据目标数据流对应的源IP、目的IP和目的端口,在第一映射关系集中查找对应的应用协议,得到目标应用协议;若数据流类别为DNS报文,则根据目标数据流对应的目的IP,在第二映射关系集中查找对应的应用协议,得到目标应用协议。
在一个实施例中,应用协议识别模块703还用于建立目标数据流对应的应用协议与源IP、目的IP和目的端口之间的第一映射关系,并将第一映射关系存储至第一映射关系集;建立目标数据流对应的应用协议与目的IP之间的第二映射关系,并将第二映射关系存储至第二映射关系集。
在一个实施例中,应用协议识别模块703还用于若无法按照数据流类别,在应用协议映射关系集中查找数据流类别对应的应用协议,则检测目标数据包中的目标数据流的流量类别,得到目标流量类别;按照目标流量类别和目标数据流对应的目的IP和目的端口,在预设的第三映射关系集中查找对应的应用协议,得到目标应用协议;其中,第三映射关系集中存储有目的IP、目的端口与应用协议的对应关系。
在一个实施例中,应用协议识别模块703还用于按照目标流量类别,从第三映射关系集中查找与目标流量类别对应的第三映射关系;按照目标数据流对应的目的IP和目的端口,在第三映射关系中查找对应的应用协议,得到目标应用协议。
在一个实施例中,应用协议识别模块703还用于建立目标数据流对应的应用协议与目的IP和目的端口之间的第三映射关系,并将第三映射关系存储至第三映射关系集。
在一个实施例中,应用协议识别模块703还用于获取参数配置文件和初始映射关系;其中,初始映射关系包括目标数据流对应的应用协议与目的IP和目的端口之间的映射关系;按照参数配置文件为初始映射关系设置对应的检测报文数量阈值,得到第三映射关系;其中,检测报文数量阈值,用于限制在第三映射关系集中查找对应的应用协议的数据包的数量。
关于应用协议识别装置的具体限定可以参见上文中对于应用协议识别方法的限定,在此不再赘述。上述应用协议识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种应用协议识别方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收目标数据包;
检测目标数据包中的目标数据流的类别,得到数据流类别;
按照数据流类别,在预设的应用协议映射关系集中查找数据流类别对应的应用协议,得到目标数据包对应的目标应用协议;其中,应用协议映射关系集中存储有数据流类别与应用协议的对应关系。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若数据流类别为关联流对应的控制流,则根据目标数据流对应的源IP、目的IP和目的端口,在第一映射关系集中查找对应的应用协议,得到目标应用协议;若数据流类别为DNS报文,则根据目标数据流对应的目的IP,在第二映射关系集中查找对应的应用协议,得到目标应用协议。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:建立目标数据流对应的应用协议与源IP、目的IP和目的端口之间的第一映射关系,并将第一映射关系存储至第一映射关系集;建立目标数据流对应的应用协议与目的IP之间的第二映射关系,并将第二映射关系存储至第二映射关系集。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若无法按照数据流类别,在应用协议映射关系集中查找数据流类别对应的应用协议,则检测目标数据包中的目标数据流的流量类别,得到目标流量类别;按照目标流量类别和目标数据流对应的目的IP和目的端口,在预设的第三映射关系集中查找对应的应用协议,得到目标应用协议;其中,第三映射关系集中存储有目的IP、目的端口与应用协议的对应关系。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:按照目标流量类别,从第三映射关系集中查找与目标流量类别对应的第三映射关系;按照目标数据流对应的目的IP和目的端口,在第三映射关系中查找对应的应用协议,得到目标应用协议。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:建立目标数据流对应的应用协议与目的IP和目的端口之间的第三映射关系,并将第三映射关系存储至第三映射关系集。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
按照参数配置文件为初始映射关系设置对应的检测报文数量阈值,得到第三映射关系;
其中,检测报文数量阈值,用于限制在第三映射关系集中查找对应的应用协议的数据包的数量。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收目标数据包;
检测目标数据包中的目标数据流的类别,得到数据流类别;
按照数据流类别,在预设的应用协议映射关系集中查找数据流类别对应的应用协议,得到目标数据包对应的目标应用协议;其中,应用协议映射关系集中存储有数据流类别与应用协议的对应关系。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若数据流类别为关联流对应的控制流,则根据目标数据流对应的源IP、目的IP和目的端口,在第一映射关系集中查找对应的应用协议,得到目标应用协议;若数据流类别为DNS报文,则根据目标数据流对应的目的IP,在第二映射关系集中查找对应的应用协议,得到目标应用协议。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:建立目标数据流对应的应用协议与源IP、目的IP和目的端口之间的第一映射关系,并将第一映射关系存储至第一映射关系集;建立目标数据流对应的应用协议与目的IP之间的第二映射关系,并将第二映射关系存储至第二映射关系集。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若无法按照数据流类别,在应用协议映射关系集中查找数据流类别对应的应用协议,则检测目标数据包中的目标数据流的流量类别,得到目标流量类别;按照目标流量类别和目标数据流对应的目的IP和目的端口,在预设的第三映射关系集中查找对应的应用协议,得到目标应用协议;其中,第三映射关系集中存储有目的IP、目的端口与应用协议的对应关系。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:按照目标流量类别,从第三映射关系集中查找与目标流量类别对应的第三映射关系;按照目标数据流对应的目的IP和目的端口,在第三映射关系中查找对应的应用协议,得到目标应用协议。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:建立目标数据流对应的应用协议与目的IP和目的端口之间的第三映射关系,并将第三映射关系存储至第三映射关系集。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取参数配置文件和初始映射关系;其中,初始映射关系包括目标数据流对应的应用协议与目的IP和目的端口之间的映射关系;
按照参数配置文件为初始映射关系设置对应的检测报文数量阈值,得到第三映射关系;
其中,检测报文数量阈值,用于限制在第三映射关系集中查找对应的应用协议的数据包的数量。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种应用协议识别方法,其特征在于,所述方法包括:
接收目标数据包;
检测所述目标数据包中的目标数据流的类别,得到数据流类别;
按照所述数据流类别,在预设的应用协议映射关系集中查找所述数据流类别对应的应用协议,得到所述目标数据包对应的目标应用协议;其中,所述应用协议映射关系集中存储有数据流类别与应用协议的对应关系,所述应用协议映射关系集包括第一映射关系集和第二映射关系集;其中,所述第一映射关系集中存储有源IP、目的IP、目的端口与应用协议的对应关系,所述第二映射关系集中存储有目的IP与应用协议的对应关系;
所述按照所述数据流类别,在预设的应用协议映射关系集中查找所述数据流类别对应的应用协议,得到所述目标数据包对应的目标应用协议,包括:
若所述数据流类别为关联流对应的控制流,则根据所述目标数据流对应的源IP、目的IP和目的端口,在所述第一映射关系集中查找对应的应用协议,得到所述目标应用协议;
若所述数据流类别为DNS报文,则根据所述目标数据流对应的目的IP,在所述第二映射关系集中查找对应的应用协议,得到所述目标应用协议。
2.根据权利要求1所述的应用协议识别方法,其特征在于,所述根据所述目标数据流对应的源IP、目的IP和目的端口,在所述第一映射关系集中查找对应的应用协议,得到所述目标应用协议,之后包括:
建立所述目标数据流对应的应用协议与源IP、目的IP和目的端口之间的第一映射关系,并将所述第一映射关系存储至所述第一映射关系集;
所述根据所述目标数据流对应的目的IP,在所述第二映射关系集中查找对应的应用协议,得到所述目标应用协议,之后包括:
建立所述目标数据流对应的应用协议与目的IP之间的第二映射关系,并将所述第二映射关系存储至所述第二映射关系集。
3.根据权利要求1所述的应用协议识别方法,其特征在于,所述按照所述数据流类别,在预设的应用协议映射关系集中查找所述数据流类别对应的应用协议,得到所述目标数据包对应的目标应用协议,之后包括:
若无法按照所述数据流类别,在所述应用协议映射关系集中查找所述数据流类别对应的应用协议,则检测所述目标数据包中的目标数据流的流量类别,得到目标流量类别;
按照所述目标流量类别和所述目标数据流对应的目的IP和目的端口,在预设的第三映射关系集中查找对应的应用协议,得到所述目标应用协议;其中,所述第三映射关系集中存储有目的IP、目的端口与应用协议的对应关系。
4.根据权利要求3所述的应用协议识别方法,其特征在于,所述按照所述目标流量类别和所述目标数据流对应的目的IP和目的端口,在预设的第三映射关系集中查找对应的应用协议,得到所述目标应用协议,包括:
按照所述目标流量类别,从所述第三映射关系集中查找与所述目标流量类别对应的第三映射关系;
按照所述目标数据流对应的目的IP和目的端口,在所述第三映射关系中查找对应的应用协议,得到所述目标应用协议。
5.根据权利要求4所述的应用协议识别方法,其特征在于,所述按照所述目标流量类别和所述目标数据流对应的目的IP和目的端口,在第三映射关系集中查找对应的应用协议,得到所述目标应用协议,之后包括:
建立所述目标数据流对应的应用协议与目的IP和目的端口之间的第三映射关系,并将所述第三映射关系存储至所述第三映射关系集。
6.根据权利要求4或5所述的应用协议识别方法,其特征在于,所述第三映射关系的确定方式,包括:
获取参数配置文件和初始映射关系;其中,所述初始映射关系包括所述目标数据流对应的应用协议与目的IP和目的端口之间的映射关系;
按照所述参数配置文件为所述初始映射关系设置对应的检测报文数量阈值,得到所述第三映射关系;
其中,所述检测报文数量阈值,用于限制在所述第三映射关系集中查找对应的应用协议的数据包的数量。
7.一种应用协议识别装置,其特征在于,所述装置包括:
数据包接收模块,用于接收目标数据包;
数据流类别检测模块,用于检测所述目标数据包中的目标数据流的类别,得到数据流类别;
应用协议识别模块,用于按照所述数据流类别,在预设的应用协议映射关系集中查找所述数据流类别对应的应用协议,得到所述目标数据包对应的目标应用协议;其中,所述应用协议映射关系集中存储有数据流类别与应用协议的对应关系;
所述应用协议识别模块还用于执行若数据流类别为关联流对应的控制流,则根据目标数据流对应的源IP、目的IP和目的端口,在第一映射关系集中查找对应的应用协议,得到目标应用协议;若数据流类别为DNS报文,则根据目标数据流对应的目的IP,在第二映射关系集中查找对应的应用协议,得到目标应用协议。
8.根据权利要求7所述的应用协议识别装置,其特征在于,所述应用协议识别模块还用于建立目标数据流对应的应用协议与源IP、目的IP和目的端口之间的第一映射关系,并将第一映射关系存储至第一映射关系集;建立目标数据流对应的应用协议与目的IP之间的第二映射关系,并将第二映射关系存储至第二映射关系集。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202011570693.XA 2020-12-26 2020-12-26 应用协议识别方法、装置、计算机设备和存储介质 Active CN112637223B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011570693.XA CN112637223B (zh) 2020-12-26 2020-12-26 应用协议识别方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011570693.XA CN112637223B (zh) 2020-12-26 2020-12-26 应用协议识别方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN112637223A CN112637223A (zh) 2021-04-09
CN112637223B true CN112637223B (zh) 2023-03-24

Family

ID=75325303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011570693.XA Active CN112637223B (zh) 2020-12-26 2020-12-26 应用协议识别方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN112637223B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110674130A (zh) * 2019-08-30 2020-01-10 深圳鸿智云创科技有限公司 数据传输方法
CN114039928A (zh) * 2021-11-02 2022-02-11 恒安嘉新(北京)科技股份公司 网络流量的识别方法、装置、设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6651099B1 (en) * 1999-06-30 2003-11-18 Hi/Fn, Inc. Method and apparatus for monitoring traffic in a network
CN100429617C (zh) * 2006-05-16 2008-10-29 北京启明星辰信息技术有限公司 一种自动协议识别方法及系统
CN101714952B (zh) * 2009-12-22 2012-03-07 北京邮电大学 一种接入网的流量识别方法和装置
CN104348677A (zh) * 2013-08-05 2015-02-11 华为技术有限公司 一种深度报文检测方法、设备及协处理器
CN108259488A (zh) * 2018-01-11 2018-07-06 网宿科技股份有限公司 一种识别报文的协议类型的方法和装置
CN111314164A (zh) * 2019-12-13 2020-06-19 北京明朝万达科技股份有限公司 一种网络流量还原方法、装置和计算机可读存储介质
CN111147519A (zh) * 2019-12-31 2020-05-12 奇安信科技集团股份有限公司 数据检测方法、装置、电子设备和介质
CN111884876A (zh) * 2020-07-22 2020-11-03 杭州安恒信息技术股份有限公司 一种网络协议的协议类型检测方法、装置、设备及介质

Also Published As

Publication number Publication date
CN112637223A (zh) 2021-04-09

Similar Documents

Publication Publication Date Title
CN111367983B (zh) 数据库访问方法、系统、设备和存储介质
CN112637223B (zh) 应用协议识别方法、装置、计算机设备和存储介质
CN109587008B (zh) 检测异常流量数据的方法、装置及存储介质
US8797876B2 (en) Identification of underutilized network devices
CN110609937A (zh) 一种爬虫识别方法及装置
CN111193716A (zh) 业务数据调用方法、装置、计算机设备和存储介质
CN112118249B (zh) 基于日志和防火墙的安全防护方法及装置
CN110417801B (zh) 服务端识别方法和装置、设备及存储介质
CN111181923A (zh) 流量检测方法、装置、电子设备及存储介质
CN113630418B (zh) 一种网络服务识别方法、装置、设备及介质
CN114546590A (zh) Java虚拟机堆内存集合对象监测方法及内存溢出分析方法
CN110611937B (zh) 数据分流方法、装置、边缘数据中心和可读存储介质
CN113765850B (zh) 物联网异常检测方法、装置、计算设备及计算机存储介质
CN116821215A (zh) 基于端口查询的opc ua服务器搜索方法
CN114095235B (zh) 系统识别方法、装置、计算机设备及介质
CN106254375B (zh) 一种无线热点设备的识别方法及装置
CN115687674A (zh) 服务于智慧云服务平台的大数据需求分析方法及系统
CN114979236A (zh) 数据传输方法、装置、存储介质以及电子设备
CN113672449A (zh) 智能运维异常监测方法、装置、计算机设备和存储介质
CN117640363B (zh) 微服务配置与管控方法和系统
CN112783673A (zh) 一种调用链的确定方法、装置、计算机设备及存储介质
CN109905325A (zh) 一种流量引导方法及流量识别设备
CN115361231B (zh) 基于访问基线的主机异常流量检测方法、系统及设备
CN114884740B (zh) 一种基于ai的入侵防护应答数据处理方法及服务器
US20230064755A1 (en) Data processing method and apparatus

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