一种网络应用层协议识别方法和系统技术方案

技术编号:4160807 阅读:272 留言:0更新日期:2012-04-11 18:40
本发明专利技术披露了一种网络应用层协议识别方法及其系统,能够对多类型和/或多状态的网络应用层协议进行识别。该系统主要包括:对协议识别方式描述文件进行解析的描述方法解释器,其中所述识别方式描述文件用于对网络应用层的协议识别方式进行描述;存储解析后的数据结构Method List的Method List数据结构模块;依据Method List对协议进行识别的协议识别操作执行模块。本发明专利技术能够用来实现多类型的协议识别和利用状态识别实现多状态协议识别,同时又能方便对特征与识别方式进行更新。

Network application layer protocol identification method and system

The invention discloses a network application layer protocol identification method and a system thereof, which can identify multi type and / or multi state network application layer protocols. This system mainly includes: the protocol identification description interpreter description method of file parsing, wherein the recognition method for protocol description file recognition on the network application layer description; Method List data structure module stores the parsed data structure of Method List based on Method List protocol recognition; recognition of operation execution module protocol. The invention can be used to realize the multi protocol identification and realize the multi state protocol identification by using state identification, and meanwhile, the characteristics and the recognition modes can be updated conveniently.

【技术实现步骤摘要】

本专利技术涉及一种网络应用层协议识别方式的描迷方法及基于该方 法的协议识别系统。
技术介绍
随着网络应用的普及与网络技术的发展,新的网络应用业务层出不 穷,随之而来的是应用层流量特征的多样化以及对应识别方式的复杂 化。传统的网络应用服务使用固定的服务端口 ,能够很容易的通过应用端口进行应用层协议识别。随着P2P, V0D以及VoIP技术的使用, 如今的网络应用协议主要适用动态端口的方式进行通信,因此传统的 通过端口实现应用协议识别的方法不再适用。为解决这样的情况,现在主要有两大类识别方式第一类方式深度 包解析,通过对单个或多个数据包内容的某些特征进行匹配来达到识 别的目的,能够很准确的进行识别,但是识别周期相对长且对某些特 征需要通过多包特征综合识别;第二类方式流量统计特征匹配,通过 对目标应用流量的平均包大小,平均流速率等统计量的特征进行分析 来实现识别功能,识别速度快但准确率低。时下网络应用服务的另一 大特点则是协议更新频繁,随之而来的问题则是协议识别系统需要经 常对识别特征乃至识别方式进行更新,这就对协议识别系统中对识别 方式的组织结构提出了新的要求。目前对协议识别方式的实现主要有两种结构其一,通过代码实 现针对每一种协议识别的程序,效率高但难于更新特征。对于这样的 识别系统,每次对识别特征的更新或识别方式的改变都需要重编译识 别程序。其二,通过正则表达式来存储特征。能够实现不需重编译的 特征更新,但是正则表达式匹配速度相对匹配函数较慢,且对于某些 特征无法匹配,例如数据包内容与数据包长度的相关特征。而且正则 表达式的特征描述方式较为抽象,增加了管理人员自行增加识别方式 的难度。现有的方式中对于多个数据包中的组合特征是通过将多个数 据包存储下来再组合在一起做综合特征匹配来实现的,这种方式效率低,存储空间需求大,在高速链路中使用的时候存在较大性能缺陷。针对现在网络应用服务特征多样协议更新频繁的特点,应用层流 量识别需要一种能够实现多类型和多状态的识别方式同时高效并易于 更新的结构。
技术实现思路
本专利技术的目的在于提出了 一种对应用层的协议识别方式的描述方法AIMDL,以及利用此描述方法构建的协议识别系统。主要内容包括设 计AIMDL的主要元素以实现对于多类型和多状态的协议识别方式的有 效描述同时满足方便更新的需求。设计并实现能够利用AIMDL所描述 的识别方式高效地进行应用协议识别工作的识别架构。根据本专利技术的第 一方面,提供了 一种网络应用层协议识别方法, 其特征在于,所述识别方法包括如下步骤1) 对网络应用层的协议识别方式进行描述,并生成相应的识别方 式描述文件;2) 对识别方式的描述文件进行解析,生成相应的Method List数 据结构;以及3) 依据Method List数据结构,对网络应用层协议完成识别。 优选地,所述步骤l)中,还包括在识别方式描述文件中对为协议识别提供操作支持的操作方式和识别方式的结构进行描述。 优选地,所述步骤2)中的解析是基于XML语言平台。 优选地,所述步骤3)中的Method List数据结构采用动态链表和 无类型指针结合的方式。根据本专利技术的第二方面,提供了 一种网络应用层协议识别系统, 其特征在于,所述识别系统包括对协议识别方式描述文件进行解析 的描述方法解释器,其中所述识别方式描述文件用于对网络应用层的 协议识别方式进行描述;存储解析后的数据结构Method List的Method List数据结构模块;依据Method List对协议进行识别的协议识别操 作执行模块。优选地,所述描述方法解释器是基于XML语言平台。优选地,所述的Method List数据结构模块采用动态链表和无类型指针结合的结构。本专利技术能够用来实现多类型的协议识别,同时又能方便对特征与识别方式进行更新;并能够利用基于状态机的识别方法实现多状态协议识别。附图说明下面将参照附图对本专利技术的具体实施方案进行更详细的说明,其中图1是本专利技术应用层协议识别系统的工作示意图; 图2是本专利技术的协议识别方式描述方法解释器模块的流程图; 图3是本专利技术的Method List数据结构模块的结构图;以及 图4是本专利技术的协议识别操作执行模块的流程图。具体实施例方式为了实现多类型和多状态的网络应用层协议识别方式同时又能方 便对特征与识别方式进行更新,本专利技术提供了 一种对网络应用层协议 识别方式的描述方法及基于该方法的协议识别系统。描述方法综述应用层协议识别方式的描述方法(AIMDL)能够通过描述几种基本 识别操作的组合来构成一个完整的复杂操作。这些操作是通过对现有 的协议识别方式进行分析得到的。一个应用层数据包主要包含payload内容,数据包长度,端口这 三个与所属协议相关的属性,因此基本的识别操作也主要是针对这三 个属性进行的。特征也可以由匹配对象分为两种 一种是基本属性中 的内容与静态特征之间的匹配,比如数据包中出现某一特征字段或是 通信端口为某特征值;另一种则是基本属性之间的关系,例如pay load 中某特定位置的数据值与数据包长度或是通信端口号存在某特定关系 的特征。多包组合特征识别方式在AIMDL中是通过基于状态机的架构和构 建临时存储buffer来实现的。基于状态机实现的识别方式中,每一组 识别操作表征能够确认从状态机的 一 个状态进入最终状态,当达到最 终状态的时候说明识别成功。因此需要能够对一组操作所对应的匹配 状态,以及各状态之间的关系进行描述。AIMDL能够描述一组操作是否 属于一个状态机识别架构的一个识别状态,以及这一识别状态所要求 的前项状态是什么,这样就能够独立的表述整个状态机识别架构的每 一个部分。有些基于状态机的识别操作是需要存储一些数据的,例如 第一个数据包中的某个偏移与后续数据包中特定偏移的数据值有可以 作为识别特征的关系。在本专利技术的协议识别架构中是通过给每一个流记录中设置一个buffer来保存数据,通过在AIMDL中支持有关buffer 的操作实现对此类特征识别方式的支持。一个应用层的识别系统中包含很多个应用的识别方式,每个应用 也包括很多种不同的特征流量,需要很多种不同的特征识别方式。因 此AIMDL包含了结构描述元素对这些不同的应用和不同的识别方式之 间的结构关系进行描述。以基于XML为例的具体描述方法说明网络应用层协议识别方式的描述方法AIMDL是一种基于XML的描 述。通过设置特定的element元素标签来达到对各种结构的描述。以 下是对上述几类描述对象的实例与详细说明一.静态特征匹配方法描述 l.payload包含特征字段的检验操作描述<payload〉<content〉Bi tTorrent protocoK/content〉 <offset>l</offset〉 <length>19</length〉 </ payload>该元素表示识别方式中包含一个payload特征字賴:才l^验。包含三 个子元素content:特征字段的内容,此处表示为字符串BitTorrent protocol 5offset:特征字段所处在payload中的位置。如果为负数表 示是从payload的尾部向前的偏移量。特征本文档来自技高网
...

【技术保护点】
一种网络应用层协议识别方法,其特征在于,所述识别方法包括如下步骤: 1)对网络应用层的协议识别方式进行描述,并生成相应的识别方式描述文件; 2)对识别方式描述文件进行解析,生成相应的Method List数据结构;以及 3 )依据Method List数据结构,对网络应用层协议进行识别。

【技术特征摘要】
1.一种网络应用层协议识别方法,其特征在于,所述识别方法包括如下步骤1)对网络应用层的协议识别方式进行描述,并生成相应的识别方式描述文件;2)对识别方式描述文件进行解析,生成相应的Method List数据结构;以及3)依据Method List数据结构,对网络应用层协议进行识别。2. 根据权利要求1所述的识别方法,其特征在于,所述网络应用 层协议识别方式是多类型和/或多状态的协议识别方式。3. 根据权利要求1所述的识别方法,其特征在于,所述步骤l) 中,还包括在识别方式描述文件中对为协议识别提供操作支持的操 作方式和识别方式的结构进行描述。4. 根据权利要求1所述的识别方法,其特征在于所述步骤2) 中的解析是基于XML语言平台。5. 根据权利要求1所述的识别方法,其特征在于所述步骤3) 中的Method List数据结构采用动态链表和无类型指针结合...

【专利技术属性】
技术研发人员:杨建华张众
申请(专利权)人:北京东华合创数码科技股份有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1