CN103166973A - 协议识别的方法和装置 - Google Patents

协议识别的方法和装置 Download PDF

Info

Publication number
CN103166973A
CN103166973A CN2013101012834A CN201310101283A CN103166973A CN 103166973 A CN103166973 A CN 103166973A CN 2013101012834 A CN2013101012834 A CN 2013101012834A CN 201310101283 A CN201310101283 A CN 201310101283A CN 103166973 A CN103166973 A CN 103166973A
Authority
CN
China
Prior art keywords
packet
agreement
format information
rule
protocol
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
Application number
CN2013101012834A
Other languages
English (en)
Other versions
CN103166973B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310101283.4A priority Critical patent/CN103166973B/zh
Publication of CN103166973A publication Critical patent/CN103166973A/zh
Application granted granted Critical
Publication of CN103166973B publication Critical patent/CN103166973B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种协议识别的方法和装置。该方法包括:确定数据包的协议的格式信息;根据该数据包的协议的格式信息,将该数据包分为多个部分;根据协议承载识别的规则对该数据包的多个部分进行协议承载识别。本发明实施例的协议识别的方法和装置,可以支持多种协议的数据包的分部分识别,从而能够提升协议识别的性能。

Description

协议识别的方法和装置
技术领域
本发明涉及通信领域,并且更具体地,涉及协议识别的方法和装置。
背景技术
协议承载识别,也称为L7+识别,是基础L7(7层)协议之上的进一步细分。随着深度包检测(Deep Packet Inspection,DPI)业务的发展,产品要求能够对一些协议进行更细致的识别,如超文本传输协议(Hypertext TransferProtocol,Http)。Http协议能够承载其他应用,如用户通过Http协议访问Skype网站等等。产品希望能区分出这些信息,利用这些信息进行业务优化,如针对制定套餐的用户,提升其使用体验。网络运营商希望能够实现对网络用户更加精细的控制,如实现根据内容计费、多种套餐服务制作,反病毒等。因此,需要给运营商提供数据,以便于制定更好的管理策略。为了能够识别这些应用,需要对一些基础协议再进行深度识别,即为L7协议之上的L7+协议识别。
现有的L7+协议识别技术不能支持所有基础协议的L7+识别,L7+识别性能无法得到保证。
发明内容
本发明实施例提供了一种协议识别的方法和装置,能够提升协议识别的性能。
第一方面,提供了一种协议识别的方法,包括:确定数据包的协议的格式信息;根据该数据包的协议的格式信息,将该数据包分为多个部分;根据协议承载识别的规则对该数据包的多个部分进行协议承载识别。
在第一种可能的实现方式中,根据协议承载识别的规则对该数据包的多个部分进行协议承载识别,包括:确定该规则对应的该数据包的部分;根据该规则和该规则对应的该数据包的部分,对该数据包的多个部分进行协议承载识别。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,确定该规则对应的该数据包的部分,包括:根据配置的该规则的对应信息,确定该规则对应的该数据包的部分。
结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,确定该规则对应的该数据包的部分,包括:根据已有的识别结果,确定该规则对应的该数据包的部分。
结合第一方面或第一方面的第一至三种可能的实现方式中的任一种可能的实现方式,在第四种可能的实现方式中,确定数据包的协议的格式信息,包括:根据配置的各种协议的格式信息和该数据包的协议,确定该数据包的协议的格式信息。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,该配置的各种协议的格式信息包括按照字符串、长度或者逻辑区分不同部分的方式。
结合第一方面的第四种可能的实现方式或第五种可能的实现方式,在第六种可能的实现方式中,根据配置的各种协议的格式信息和该数据包的协议,确定该数据包的协议的格式信息,包括:解析用户配置的各种协议的格式信息,根据各种协议的格式信息和该数据包的协议,确定该数据包的协议的格式信息。
第二方面,提供了一种协议识别的装置,包括:确定模块,用于确定数据包的协议的格式信息;定界模块,用于根据该数据包的协议的格式信息,将该数据包分为多个部分;识别模块,用于根据协议承载识别的规则对该数据包的多个部分进行协议承载识别。
在第一种可能的实现方式中,该识别模块包括:确定单元,用于确定该规则对应的该数据包的部分;识别单元,用于根据该规则和该规则对应的该数据包的部分,对该数据包的多个部分进行协议承载识别。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,该确定单元包括:第一确定子单元,用于根据配置的该规则的对应信息,确定该规则对应的该数据包的部分。
结合第二方面的第一种可能的实现方式,在第三种可能的实现方式中,该确定单元包括:第二确定子单元,用于根据已有的识别结果,确定该规则对应的该数据包的部分。
结合第二方面或第二方面的第一至三种可能的实现方式中的任一种可能的实现方式,在第四种可能的实现方式中,该确定模块具体用于,根据配置的各种协议的格式信息和该数据包的协议,确定该数据包的协议的格式信息。
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,该配置的各种协议的格式信息包括按照字符串、长度或者逻辑区分不同部分的方式。
结合第二方面的第四种可能的实现方式或第五种可能的实现方式,在第六种可能的实现方式中,该确定模块具体用于,解析用户配置的各种协议的格式信息,根据各种协议的格式信息和该数据包的协议,确定该数据包的协议的格式信息。
基于上述技术方案,本发明实施例的协议识别的方法和装置,根据数据包的协议的格式信息将数据包分为多个部分,并根据协议承载识别的规则对数据包的多个部分进行识别,可以支持多种协议的数据包的分部分识别,从而能够提升协议识别的性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的协议识别的方法的示意性流程图。
图2根据本发明实施例的按照逻辑划分方式的例子的示意图。
图3根据本发明实施例的按照字符串划分方式的例子的示意图。
图4是根据本发明另一实施例的协议识别的方法的示意性流程图。
图5是根据本发明实施例的协议识别的方法的例子的示意图。
图6是根据本发明实施例的格式定界的例子的示意图。
图7是根据本发明实施例的规则重组的例子的示意图。
图8是根据本发明实施例的L7+识别的例子的示意图。
图9是根据本发明另一实施例的协议识别的方法的例子的示意图。
图10是根据本发明实施例的协议识别的装置的示意性框图。
图11是根据本发明实施例的协议识别的装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
图1示出了根据本发明实施例的协议识别的方法100的示意性流程图。该方法100由协议识别的装置执行,如图1所示,该方法100包括:
S110,确定数据包的协议的格式信息;
S120,根据该数据包的协议的格式信息,将该数据包分为多个部分;
S130,根据协议承载识别的规则对该数据包的多个部分进行协议承载识别。
为了能够识别出基础协议之上的应用,需要在对数据包进行L7基础协议识别后,进行再次识别查找应用的特征,也就是进行协议承载识别(即L7+识别)。在本发明实施例中,为了提升L7+识别的性能,在L7基础协议识别后,协议识别的装置首先确定数据包的协议的格式信息,再根据该数据包的协议的格式信息,将该数据包分为多个部分,然后,协议识别的装置根据协议承载识别的规则对该数据包的多个部分进行协议承载识别。这样,通过协议格式信息将数据包分为多个部分,再根据协议承载识别的规则对数据包的多个部分进行识别,可以对多种协议的数据包进行分部分的识别,提高了识别的效率。
因此,本发明实施例的协议识别的方法,根据数据包的协议的格式信息将数据包分为多个部分,并根据协议承载识别的规则对数据包的多个部分进行识别,可以支持多种协议的数据包的分部分识别,从而能够提升协议识别的性能。
在本发明实施例中,一个协议承载识别的规则可以是多个特征的组合与应用的匹配信息,也可以是一个特征与应用的匹配信息,换句话说,一个规则可以包括多个特征的信息,也可以仅包括一个特征的信息。
在S110中,协议识别的装置确定数据包的协议的格式信息。
在本发明实施例中,协议的格式信息包括区分该协议的数据包的不同部分的方式。为了提高协议承载识别的效率,本发明实施例先将数据包分为多个部分再对每一个部分进行识别。为了能对任意协议的数据包进行划分,本发明实施例通过协议的格式信息表示划分的方式。也就是说,本发明实施例的格式信息能够适应任意协议,对于每一种协议,预先配置好其格式信息,这样,在对该协议的数据包进行协议承载识别时,就可以根据该协议的格式信息将数据包分为多个部分。
协议的格式信息包括的区分该协议的数据包的不同部分的方式(即对数据包的划分方式)可以有多种。例如,可以按照字符串划分,即用特定的字符串将数据包分段,到特定字符串出现时为一个部分;或者,可以按照长度划分;或者,还可以按照逻辑划分,即每一部分按照对该部分的逻辑描述确定。
可选地,协议的格式信息还包括协议名称,分为哪几个部分等。例如,采用字符串划分方式的会话起始协议(Session Initiation Protocol,SIP)的格式信息可以为:
-PROTO SIP
-SIP_FIRSTLINE:STR:“\r\n”
-SIP_HEAD:STR:“\r\n\r\n”
-SIP_BODY:NA(只关心当前包的识别,剩下的部分是Body不需要关心)
按照逻辑划分的方式可以用于分界比较复杂的情况。例如,采用常见的数据段表示方法TLV格式,T(Type)表示数据段的类型,L(Length)表示数据段长度,V(variable)表示数据段内容。如图2所示,该方式中,每个TLV表示一个部分。
应理解,上述示例只是为了帮助本领域技术人员更好地理解本发明实施例的协议的格式信息,而非限制本发明实施例的范围。
在本发明实施例中,可选地,各种协议的格式信息可以预先配置好,还可以不断更新。例如,可以在每添加一种协议时,配置该协议的格式信息。
因此,可选地,S110包括:根据配置的各种协议的格式信息和该数据包的协议,确定该数据包的协议的格式信息。
也就是说,协议识别的装置根据数据包的协议,在配置的各种协议的格式信息中查找该数据包的协议的格式信息,从而确定该数据包的协议的格式信息。
如前所述,该配置的各种协议的格式信息可以包括按照字符串、长度或者逻辑区分不同部分的方式,协议识别的装置根据数据包的协议,选择该协议的格式信息中的区分方式对该数据包进行划分。
在具体实现方面,上述各种协议的格式信息能够通过统一的语法配置,因而能够适合各种协议,并且能够被协议识别的装置理解。
这样,可选地,根据配置的各种协议的格式信息和该数据包的协议,确定该数据包的协议的格式信息,包括:
解析用户配置的各种协议的格式信息,根据各种协议的格式信息和该数据包的协议,确定该数据包的协议的格式信息。
在S120中,协议识别的装置根据该数据包的协议的格式信息,将该数据包分为多个部分。
在确定了数据包的协议的格式信息后,协议识别的装置根据该数据包的协议的格式信息,将该数据包分段。例如,若该数据包的协议的格式信息表示的是按照字符串划分的方式,则将数据包按格式信息中的字符串分为多个部分。如图3所示,按照前述采用字符串划分方式的SIP协议的格式信息,将SIP协议的数据包分为首行FirstLine、头域Head和数据Body三部分。
在S130中,协议识别的装置根据协议承载识别的规则对该数据包的多个部分进行协议承载识别。
在将数据包分为多个部分后,协议识别的装置根据协议承载识别的规则对数据包进行分部分的协议承载识别。
对数据包的协议承载识别需要查找应用的特征。在应用的相应特征或特征组合匹配时,确定数据包承载该应用。特征或特征组合的信息构成协议承载识别的规则。协议识别的装置在对数据包进行协议承载识别时,首先要获取协议承载识别的规则。协议承载识别的规则可以通过学习调整的方式获得。例如,可以对已有的协议识别结果进行命中统计来获取协议承载识别的规则。或者,可选地,协议承载识别的规则可以预先配置好,还可以不断更新。例如,可以通过设立知识库的方式配置各种规则,在需要更新规则时更新知识库。协议识别的装置从知识库中获取协议承载识别的规则,然后,协议识别的装置根据该规则对数据包的每个部分进行协议承载识别。
在本发明实施例中,如图4所示,可选地,S130包括:S131,确定该规则对应的该数据包的部分;S132,根据该规则和该规则对应的该数据包的部分,对该数据包的多个部分进行协议承载识别。
具体而言,为了能对数据包进行分部分的协议承载识别,协议识别的装置首先要确定协议承载识别的规则对应的数据包的哪个部分,然后再根据该规则对其对应的数据包的部分进行识别,即每个协议承载识别的规则仅对其对应的数据包的那个部分进行识别,而对其他部分不进行识别。这样,对于每个规则,只需对数据包的部分内容进行查找,而不必查找整个数据包的内容,从而能够提高协议识别的效率。
可选地,S131包括:根据配置的该规则的对应信息,确定该规则对应的该数据包的部分。
具体而言,在本实施例中,协议承载识别的规则的对应信息表示规则与数据包的各部分的对应关系。协议识别的装置通过该对应信息确定规则对应的数据包的部分。协议承载识别的规则的对应信息可以预先配置好,还可以不断更新。例如,可以在知识库中配置该对应信息,在需要更新该对应信息时更新知识库。协议识别的装置从知识库中获取配置的该规则的对应信息。
可选地,S131包括:根据已有的识别结果,确定该规则对应的该数据包的部分。
具体而言,在本实施例中,不预先配置协议承载识别的规则与数据包的各部分的对应关系,而是在识别过程中,根据已有的识别结果,确定规则与数据包的各部分的对应关系,进而确定规则对应的数据包的部分。例如,在刚开始识别时,每个规则都查找整个数据包;根据识别结果,统计规则与数据包各部分的匹配情况;当一个规则与一个部分匹配的统计值达到一定的值时,确定该规则与该部分对应;在后续的识别过程中,该规则就对应该部分,该规则只需查找该部分的内容。这样,在识别过程中建立规则与数据包的各部分的对应关系,后续识别根据该对应关系,确定协议承载识别的规则对应的数据包的部分,然后对该部分进行识别,能够提升协议识别的效率。
下面将结合具体的例子详细描述本发明实施例。应注意,这些例子只是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例的范围。
在图5所示的实施例中,配置协议承载识别的规则的对应信息,具体流程如下。
501,配置各种协议的格式信息。该格式信息中包括对数据包划分的方式。例如,SIP协议的格式信息可以为:
-PROTO SIP
-SIP_FIRSTLINE:STR:“\r\n”
-SIP_HEAD:STR:“\r\n\r\n”
-SIP_BODY:NA
502,配置知识库。该知识库中包括协议承载识别的规则以及协议承载识别的规则的对应信息。例如,与上述SIP协议相应的协议承载识别的规则的对应信息可以为:
...
Signature1:SIP_FIRSTLINE
Signature2:SIP_HEAD
Signature3:SIP_BODY
...
503,格式解析器解析协议格式信息,将解析得到的信息传递给格式定界模块。
504,数据包经过L7基础协议识别后,若需要进行L7+识别,且该数据包的协议已经配置协议格式信息,则格式定界模块根据该数据包的协议的格式信息将该数据包分为多个部分(即,将数据包定界),并将已经定界的数据包交给L7+识别模块。例如,如图6所示,格式定界模块根据上述SIP协议的格式信息,将数据包分为SIP_FIRSTLINE,SIP_HEAD,SIP_BODY三部分,然后将数据包交给L7+识别模块。
505,知识库解析加载模块解析知识库,将解析得到的信息传递给学习调整模块。
506,学习调整模块将得到规则的对应信息交给规则重组模块。
507,规则重组模块根据从学习调整模块得到的信息,重新组织特征,将整理好的识别特征交给L7+识别模块用于L7+识别。例如,如图7所示,在识别SIP协议的数据包时,将SIP_FIRSTLINE特征,SIP_HEAD特征,SIP_BODY特征交给L7+识别模块。
508,L7+识别模块结合规则重组模块以及格式定界模块给出的信息进行识别,即在数据包的每个部分中查找该部分的特征。例如,如图8所示,分别在SIP_FIRSTLINE数据包内容,SIP_HEAD数据包内容,SIP_BODY数据包内容中查找SIP_FIRSTLINE特征,SIP_HEAD特征,SIP_BODY特征。这样,在其中一部分数据包内容中不需要查找另外两部分对应的特征,从而能够提升协议识别的性能。
在图9所示的实施例中,没有配置协议承载识别的规则的对应信息,具体流程如下。
901,配置各种协议的格式信息。该格式信息中包括对数据包划分的方式。例如,SIP协议的格式信息可以为:
-PROTO SIP
-SIP_FIRSTLINE:STR:“\r\n”
-SIP_HEAD:STR:“\r\n\r\n”
-SIP_BODY:NA
902,格式解析器解析协议格式信息,将解析得到的信息传递给格式定界模块。
903,数据包经过L7基础协议识别后,若需要进行L7+识别,且该数据包的协议已经配置协议格式信息,则格式定界模块根据该数据包的协议的格式信息将该数据包分为多个部分(即,将数据包定界),并将已经定界的数据包交给L7+识别模块。例如,如图6所示,格式定界模块根据上述SIP协议的格式信息,将数据包分为SIP_FIRSTLINE,SIP_HEAD,SIP_BODY三部分,然后将数据包交给L7+识别模块。
904,学习调整模块根据识别结果确定当前识别的规则是属于哪个部分。在有识别结果后,根据识别结果,统计规则与数据包各部分的匹配情况;当一个规则与一个部分匹配的统计值达到一定的值时,确定该规则与该部分对应,然后将得到的规则的对应信息交给规则重组模块。
905,规则重组模块根据从学习调整模块得到的信息,重新组织特征,将整理好的识别特征交给L7+识别模块用于L7+识别。例如,如图7所示,在识别SIP协议的数据包时,将SIP_FIRSTLINE特征,SIP_HEAD特征,SIP_BODY特征交给L7+识别模块。
906,L7+识别模块结合规则重组模块以及格式定界模块给出的信息进行识别。在刚开始识别时,规则重组模块没有给出信息,因此,在整个数据包中查找特征。当规则重组模块给出信息后,只在数据包的各个部分中查找该部分的特征。例如,如图8所示,分别在SIP_FIRSTLINE数据包内容,SIP_HEAD数据包内容,SIP_BODY数据包内容中查找SIP_FIRSTLINE特征,SIP_HEAD特征,SIP_BODY特征。这样,在其中一部分数据包内容中不需要查找另外两部分对应的特征,从而能够提升协议识别的性能。
因此,本发明实施例的协议识别的方法,根据数据包的协议的格式信息将数据包分为多个部分,并根据协议承载识别的规则对数据包的多个部分进行识别,每个部分只查找该部分对应的特征,可以支持多种协议的数据包的分部分识别,从而能够提升协议识别的性能。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上文中结合图1至图9,详细描述了根据本发明实施例的协议识别的方法,下面将结合图10和图11,描述根据本发明实施例的协议识别的装置。
图10示出了根据本发明实施例的协议识别的装置200的示意性框图。
如图10所示,该协议识别的装置200包括:确定模块210,用于确定数据包的协议的格式信息;定界模块220,用于根据该数据包的协议的格式信息,将该数据包分为多个部分;识别模块230,用于根据协议承载识别的规则对该数据包的多个部分进行协议承载识别。
在本发明实施例中,为了提升L7+识别的性能,在L7基础协议识别后,协议识别的装置200的确定模块210首先确定数据包的协议的格式信息,定界模块220再根据该数据包的协议的格式信息,将该数据包分为多个部分,然后,识别模块230根据协议承载识别的规则对该数据包的多个部分进行协议承载识别。这样,通过协议格式信息将数据包分为多个部分,再根据协议承载识别的规则对数据包的多个部分进行识别,可以对多种协议的数据包进行分部分的识别,提高了识别的效率。
因此,本发明实施例的协议识别的装置,根据数据包的协议的格式信息将数据包分为多个部分,并根据协议承载识别的规则对数据包的多个部分进行识别,可以支持多种协议的数据包的分部分识别,从而能够提升协议识别的性能。
在本发明实施例中,可选地,该识别模块230包括:确定单元,用于确定该规则对应的该数据包的部分;识别单元,用于根据该规则和该规则对应的该数据包的部分,对该数据包的多个部分进行协议承载识别。
具体而言,为了能对数据包进行分部分的协议承载识别,协议识别的装置首先要确定协议承载识别的规则对应的数据包的哪个部分,然后再根据该规则对其对应的数据包的部分进行识别,即每个协议承载识别的规则仅对其对应的数据包的那个部分进行识别,而对其他部分不进行识别。这样,对于每个规则,只需对数据包的部分内容进行查找,而不必查找整个数据包的内容,从而能够提高协议识别的效率。
可选地,该确定单元包括:第一确定子单元,用于根据配置的该规则的对应信息,确定该规则对应的该数据包的部分。
在本实施例中,协议承载识别的规则的对应信息表示规则与数据包的各部分的对应关系。协议识别的装置通过该对应信息确定规则对应的数据包的部分。协议承载识别的规则的对应信息可以预先配置好,还可以不断更新。例如,可以在知识库中配置该对应信息,在需要更新该对应信息时更新知识库。协议识别的装置从知识库中获取配置的该规则的对应信息。
可选地,该确定单元包括:第二确定子单元,用于根据已有的识别结果,确定该规则对应的该数据包的部分。
在本实施例中,不预先配置协议承载识别的规则与数据包的各部分的对应关系,而是在识别过程中,根据已有的识别结果,确定规则与数据包的各部分的对应关系,进而确定规则对应的数据包的部分。例如,在刚开始识别时,每个规则都查找整个数据包;根据识别结果,统计规则与数据包各部分的匹配情况;当一个规则与一个部分匹配的统计值达到一定的值时,确定该规则与该部分对应;在后续的识别过程中,该规则就对应该部分,该规则只需查找该部分的内容。这样,在识别过程中建立规则与数据包的各部分的对应关系,后续识别根据该对应关系,确定协议承载识别的规则对应的数据包的部分,然后对该部分进行识别,能够提升协议识别的效率。
在本发明实施例中,可选地,该确定模块210具体用于,根据配置的各种协议的格式信息和该数据包的协议,确定该数据包的协议的格式信息。
可选地,该配置的各种协议的格式信息包括按照字符串、长度或者逻辑区分不同部分的方式。
可选地,该确定模块210具体用于,解析用户配置的各种协议的格式信息,根据各种协议的格式信息和该数据包的协议,确定该数据包的协议的格式信息。
根据本发明实施例的协议识别的装置200可对应于根据本发明实施例的协议识别的方法中的协议识别的装置,并且协议识别的装置200中的各个模块的上述和其它操作和/或功能分别为了实现图1至图9中的各个方法的相应流程,为了简洁,在此不再赘述。
本发明实施例的协议识别的装置,根据数据包的协议的格式信息将数据包分为多个部分,并根据协议承载识别的规则对数据包的多个部分进行识别,每个部分只查找该部分对应的特征,可以支持多种协议的数据包的分部分识别,从而能够提升协议识别的性能。
图11示出了本发明的另一实施例提供的协议识别的装置的结构,包括至少一个处理器1102(例如CPU),至少一个网络接口1105或者其他通信接口,存储器1106,和至少一个通信总线1103,用于实现这些装置之间的连接通信。处理器1102用于执行存储器1106中存储的可执行模块,例如计算机程序。存储器1106可能包含高速随机存取存储器(RAM:Random AccessMemory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个网络接口1105(可以是有线或者无线)实现该系统网关与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
在一些实施方式中,存储器1106存储了程序11061,程序11061可以被处理器1102执行,这个程序包括:确定数据包的协议的格式信息;根据该数据包的协议的格式信息,将该数据包分为多个部分;根据协议承载识别的规则对该数据包的多个部分进行协议承载识别。
可选地,根据协议承载识别的规则对该数据包的多个部分进行协议承载识别,包括:确定该规则对应的该数据包的部分;根据该规则和该规则对应的该数据包的部分,对该数据包的多个部分进行协议承载识别。
可选地,确定该规则对应的该数据包的部分,包括:根据配置的该规则的对应信息,确定该规则对应的该数据包的部分。
可选地,确定该规则对应的该数据包的部分,包括:根据已有的识别结果,确定该规则对应的该数据包的部分。
可选地,确定数据包的协议的格式信息,包括:根据配置的各种协议的格式信息和该数据包的协议,确定该数据包的协议的格式信息。
可选地,该配置的各种协议的格式信息包括按照字符串、长度或者逻辑区分不同部分的方式。
可选地,根据配置的各种协议的格式信息和该数据包的协议,确定该数据包的协议的格式信息,包括:解析用户配置的各种协议的格式信息,根据各种协议的格式信息和该数据包的协议,确定该数据包的协议的格式信息。
从本发明实施例提供的以上技术方案可以看出,本发明实施例根据数据包的协议的格式信息将数据包分为多个部分,并根据协议承载识别的规则对数据包的多个部分进行识别,可以支持多种协议的数据包的分部分识别,从而能够提升协议识别的性能。
应理解,在本发明实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (14)

1.一种协议识别的方法,其特征在于,包括:
确定数据包的协议的格式信息;
根据所述数据包的协议的格式信息,将所述数据包分为多个部分;
根据协议承载识别的规则对所述数据包的多个部分进行协议承载识别。
2.根据权利要求1所述的方法,其特征在于,所述根据协议承载识别的规则对所述数据包的多个部分进行协议承载识别,包括:
确定所述规则对应的所述数据包的部分;
根据所述规则和所述规则对应的所述数据包的部分,对所述数据包的多个部分进行协议承载识别。
3.根据权利要求2所述的方法,其特征在于,所述确定所述规则对应的所述数据包的部分,包括:
根据配置的所述规则的对应信息,确定所述规则对应的所述数据包的部分。
4.根据权利要求2所述的方法,其特征在于,所述确定所述规则对应的所述数据包的部分,包括:
根据已有的识别结果,确定所述规则对应的所述数据包的部分。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述确定数据包的协议的格式信息,包括:
根据配置的各种协议的格式信息和所述数据包的协议,确定所述数据包的协议的格式信息。
6.根据权利要求5所述的方法,其特征在于,所述配置的各种协议的格式信息包括按照字符串、长度或者逻辑区分不同部分的方式。
7.根据权利要求5或6所述的方法,其特征在于,所述根据配置的各种协议的格式信息和所述数据包的协议,确定所述数据包的协议的格式信息,包括:
解析用户配置的各种协议的格式信息,根据各种协议的格式信息和所述数据包的协议,确定所述数据包的协议的格式信息。
8.一种协议识别的装置,其特征在于,包括:
确定模块,用于确定数据包的协议的格式信息;
定界模块,用于根据所述数据包的协议的格式信息,将所述数据包分为多个部分;
识别模块,用于根据协议承载识别的规则对所述数据包的多个部分进行协议承载识别。
9.根据权利要求8所述的装置,其特征在于,所述识别模块包括:
确定单元,用于确定所述规则对应的所述数据包的部分;
识别单元,用于根据所述规则和所述规则对应的所述数据包的部分,对所述数据包的多个部分进行协议承载识别。
10.根据权利要求9所述的装置,其特征在于,所述确定单元包括:
第一确定子单元,用于根据配置的所述规则的对应信息,确定所述规则对应的所述数据包的部分。
11.根据权利要求9所述的装置,其特征在于,所述确定单元包括:
第二确定子单元,用于根据已有的识别结果,确定所述规则对应的所述数据包的部分。
12.根据权利要求8至11中任一项所述的装置,其特征在于,所述确定模块具体用于,根据配置的各种协议的格式信息和所述数据包的协议,确定所述数据包的协议的格式信息。
13.根据权利要求12所述的装置,其特征在于,所述配置的各种协议的格式信息包括按照字符串、长度或者逻辑区分不同部分的方式。
14.根据权利要求12或13所述的装置,其特征在于,所述确定模块具体用于,解析用户配置的各种协议的格式信息,根据各种协议的格式信息和所述数据包的协议,确定所述数据包的协议的格式信息。
CN201310101283.4A 2013-03-27 2013-03-27 协议识别的方法和装置 Active CN103166973B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310101283.4A CN103166973B (zh) 2013-03-27 2013-03-27 协议识别的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310101283.4A CN103166973B (zh) 2013-03-27 2013-03-27 协议识别的方法和装置

Publications (2)

Publication Number Publication Date
CN103166973A true CN103166973A (zh) 2013-06-19
CN103166973B CN103166973B (zh) 2016-06-22

Family

ID=48589712

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310101283.4A Active CN103166973B (zh) 2013-03-27 2013-03-27 协议识别的方法和装置

Country Status (1)

Country Link
CN (1) CN103166973B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105207950A (zh) * 2015-09-16 2015-12-30 中国科学院信息工程研究所 一种基于sdn技术的通信数据保护方法
CN105871861A (zh) * 2016-04-19 2016-08-17 中国科学院信息工程研究所 一种自学习协议规则的入侵检测方法
CN109299218A (zh) * 2018-08-31 2019-02-01 北京奇安信科技有限公司 一种用户信息提取的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090138471A1 (en) * 2006-11-24 2009-05-28 Hangzhou H3C Technologies Co., Ltd. Method and apparatus for identifying data content
CN101997700A (zh) * 2009-08-11 2011-03-30 上海大学 基于深度包检测和深度流检测技术的IPv6监测设备
CN102413141A (zh) * 2011-11-30 2012-04-11 华为技术有限公司 网络消息解析方法及通信设备
CN102546625A (zh) * 2011-12-31 2012-07-04 深圳市永达电子股份有限公司 半监督聚类集成的协议识别系统
CN102932203A (zh) * 2012-10-31 2013-02-13 东软集团股份有限公司 异构平台间的深度报文检测方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090138471A1 (en) * 2006-11-24 2009-05-28 Hangzhou H3C Technologies Co., Ltd. Method and apparatus for identifying data content
CN101997700A (zh) * 2009-08-11 2011-03-30 上海大学 基于深度包检测和深度流检测技术的IPv6监测设备
CN102413141A (zh) * 2011-11-30 2012-04-11 华为技术有限公司 网络消息解析方法及通信设备
CN102546625A (zh) * 2011-12-31 2012-07-04 深圳市永达电子股份有限公司 半监督聚类集成的协议识别系统
CN102932203A (zh) * 2012-10-31 2013-02-13 东软集团股份有限公司 异构平台间的深度报文检测方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105207950A (zh) * 2015-09-16 2015-12-30 中国科学院信息工程研究所 一种基于sdn技术的通信数据保护方法
CN105207950B (zh) * 2015-09-16 2019-01-25 中国科学院信息工程研究所 一种基于sdn技术的通信数据保护方法
CN105871861A (zh) * 2016-04-19 2016-08-17 中国科学院信息工程研究所 一种自学习协议规则的入侵检测方法
CN105871861B (zh) * 2016-04-19 2019-04-16 中国科学院信息工程研究所 一种自学习协议规则的入侵检测方法
CN109299218A (zh) * 2018-08-31 2019-02-01 北京奇安信科技有限公司 一种用户信息提取的方法及装置
CN109299218B (zh) * 2018-08-31 2021-01-29 奇安信科技集团股份有限公司 一种用户信息提取的方法及装置

Also Published As

Publication number Publication date
CN103166973B (zh) 2016-06-22

Similar Documents

Publication Publication Date Title
CN103164698B (zh) 文本指纹库生成方法及装置、文本指纹匹配方法及装置
CN101853289B (zh) 一种Oracle数据库审计方法和设备
CN103714004A (zh) Jvm在线内存泄露分析方法及系统
CN102591880A (zh) 信息提供方法及装置
CN103607668B (zh) 一种视频播放方法及装置
CN103279516A (zh) 网络爬虫识别方法
CN105302807A (zh) 一种获取信息类别的方法和装置
CN109145179B (zh) 一种爬虫行为检测方法及装置
CN104182548A (zh) 网页更新处理方法及装置
CN103823614B (zh) 信息处理方法、装置及电子设备
CN103631769A (zh) 一种判断文件内容与标题间一致性的方法及装置
CN103166973A (zh) 协议识别的方法和装置
CN104796300A (zh) 一种数据包特征提取方法及装置
CN105681199B (zh) 一种车载总线中报文数据的处理方法及装置
CN104901897A (zh) 一种应用类型的确定方法和装置
CN104113880B (zh) 数据流控制方法和系统
CN103853771B (zh) 一种搜索结果的推送方法及系统
US20140129490A1 (en) Image url-based junk detection
CN103036848A (zh) 协议的逆向工程方法及系统
CN104205745A (zh) 报文处理的方法与设备
CN105357118A (zh) 一种基于规则的流量分类方法和系统
CN109358934A (zh) 一种应用程序页面跳转方法及系统
CN104077422B (zh) 下载apk的去重方法及装置
CN106649315A (zh) 处理路径导航的方法和装置
CN106789137A (zh) Ip范围的比较方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant