一种应用层协议解析方法及装置制造方法及图纸

技术编号:15519829 阅读:278 留言:0更新日期:2017-06-04 09:33
本发明专利技术公开了一种应用层协议解析方法及装置。该方法包括配置解析模块中预先配置事务处理规则、输入字段关系表以及输出字段关系表;其中,事务处理规则根据事务类型分为HTTP、TCP以及UDP三种;字段映射模块将外部输入字段根据输入字段关系表映射为解码所需的内部字段;事务分发模块根据内部字段所属的事务类型将内部字段分发至事务处理模块;事务处理模块根据内部字段所属类型获取相应的事务处理规则,并根据事务处理规则解析出内部字段所对应的输出字段;事务输出模块根据输出字段关系表获取输出字段所映射的预定义字段并输出。本发明专利技术将解码过程的实现与逻辑描述相分离,大大提升了应用解码引擎通用性和扩展性。

Analytic method and device for application layer protocol

The invention discloses an analytic method and device for application layer protocol. The method includes pre configured transaction rules, input fields and relation table output field relation table configuration parsing module; wherein, the transaction rules according to the transaction type is divided into HTTP, TCP and UDP three; field mapping module external input field according to the input word relationship table mapping required for decoding the internal affairs field; distributed transaction type module is based on the internal field of the internal field is distributed to the transaction processing module; transaction processing module is based on the internal field type acquisition transaction processing corresponding rules, and according to the rules of internal affairs in analytical field output field corresponding to the transaction; output module according to the output field to obtain output field mapping relation table the predefined fields and output. The invention separates the decoding process from the logical description, greatly improving the universality and expansibility of the decoding engine.

【技术实现步骤摘要】
一种应用层协议解析方法及装置
本专利技术涉及互联网
,尤其涉及一种应用层协议解析方法及装置。
技术介绍
网络协议解码作为现代防火墙、路由设备以及诸多其他网络安全产品的核心功能,主要应用于个人信息防护和企业网安全,业务涉及网络取证分析、入侵检测与防御、数据过滤与防泄漏、用户行为审计与监控、网络故障分析等。近年来,随着互联网规模的扩大和网络应用数量激增,针对网站、邮件、聊天软件、微博社交以及文件传输等上层应用,它们都各自遵循一种或多种协议规范来与远端的服务器进行数据交互。每个应用的协议解码过程都对应于各自的状态,使得大多数解码实现都是采用硬编码方式。硬编码方式虽然保证了解码的准确性,但是面临开发周期、后期维护成本和扩展难度大问题。因此,部分厂商和学者提出了基于模版技术的解码方案。但是这些方案基本上都是针对web应用的,即底层协议采用HTTP协议,对普通TCP/UDP之上的IM聊天软件、文件传输等非Web应用却无能为力。因此,如果能够实现一种web应用和非web应用的通用解码方案,将节省应用开发及后期维护的成本。
技术实现思路
本专利技术所提供的一种应用层协议解析方法及装置,用以解决现有技术的解解码方案无法同时支持web应用和非web应用的问题。为了实现上述专利技术目的,本专利技术采用下述的技术方案:依据本专利技术的一个方面,提供一种应用层协议解析方法,包括:配置解析模块中预先配置事务处理规则、输入字段关系表以及输出字段关系表;其中,所述事务处理规则根据事务类型分为HTTP、TCP以及UDP三种;在进行解析时,字段映射模块将外部输入字段根据所述输入字段关系表映射为解码所需的内部字段;事务分发模块根据所述内部字段所属的事务类型将所述内部字段分发至事务处理模块;事务处理模块根据所述内部字段所属类型获取相应的事务处理规则,并根据所述事务处理规则解析出所述内部字段所对应的输出字段;事务输出模块根据所述输出字段关系表获取所述输出字段所映射的预定义字段并输出。可选的,所述字段映射模块将外部输入字段根据所述输入字段关系表映射为解码所需的内部字段,具体包括:根据所述输入字段关系表判断所述外部输入字段是否为关心字段;当判断为关心字段时,则输出所述外部输入字段所映射的内部字段;当判断不是所关心的字段时,则丢弃所述外部输入字段。可选的,所述事务处理规则包括过滤规则和处理规则;在事务分发模块根据所述事务处理规则解析出所述内部字段所对应的输出字段,具体包括:根据所述过滤规则确定所述内部字段所属的事务;根据所述处理规则对所述内部字段进行解析,获取所述输出字段。可选的,所述根据所述处理规则对所述内部字段进行解析,获取所述输出字段,具体包括。判断所述内部字段是否满足入口条件;当满足时,则判断所述内部字段是否满足当前事务处理状态,当判断满足时,判断是否存在嵌套状态;当判断存在嵌套状态时,则对嵌套状态进行处理,待处理完毕后,则获取当前状态所对应的解码动作为输出字段或者缓存字段;当判断不存在嵌套状态时,则获取当前状态所对应的解码动作为输出字段或者缓存字段。可选的,所述事务输出模块根据所述输出字段关系表获取所述输出字段所映射的预定义字段并输出,具体包括:判断所述输出字段在所述输出字段关系表中是否存在映射的预定义字段;当存在时,则将所述预定义字段进行输出,当不存在时,则直接将所述输出字段进行输出。依据本专利技术的一个方面,提供一种应用层协议解析装置,包括:配置解析模块,用于预先配置事务处理规则、输入字段关系表以及输出字段关系表;其中,所述事务处理规则根据事务类型分为HTTP、TCP以及UDP三种;字段映射模块,用于在进行解析时,将外部输入字段根据所述输入字段关系表映射为解码所需的内部字段;事务分发模块,用于根据所述内部字段所属的事务类型将所述内部字段分发至事务处理模块;事务处理模块,用于根据所述内部字段所属类型获取相应的事务处理规则,并根据所述事务处理规则解析出所述内部字段所对应的输出字段;事务输出模块,用于根据所述输出字段关系表获取所述输出字段所映射的预定义字段并输出。可选的,所述字段映射模块,具体用于:根据所述输入字段关系表判断所述外部输入字段是否为关心字段;当判断为关心字段时,则输出所述外部输入字段所映射的内部字段;当判断不是所关心的字段时,则丢弃所述外部输入字段。可选的,所述事务处理规则包括过滤规则和处理规则;所述事务处理模块,具体用于:根据所述过滤规则确定所述内部字段所属的事务;根据所述处理规则对所述内部字段进行解析,获取所述输出字段。可选的,所述事务处理模块,具体用于:判断所述内部字段是否满足入口条件;当满足时,则判断所述内部字段是否满足当前事务处理状态,当判断满足时,判断是否存在嵌套状态;当判断存在嵌套状态时,则对嵌套状态进行处理,待处理完毕后,则获取当前状态所对应的解码动作为输出字段或者缓存字段;当判断不存在嵌套状态时,则获取当前状态所对应的解码动作为输出字段或者缓存字段。可选的,所述事务输出模块,具体用于:判断所述输出字段在所述输出字段关系表中是否存在映射的预定义字段;当存在时,则将所述预定义字段进行输出,当不存在时,则直接将所述输出字段进行输出。本专利技术具有以下技术效果:本专利技术所提供的应用层协议解析方法及装置,将应用层的解码过程进行统一的抽象描述,并以事务处理规则形式预先保存,在进行解码时,根据不同应用层协议获取指定的事务处理规则对报文进行解码。本专利技术将解码过程的实现与逻辑描述相分离,大大提升了应用解码引擎通用性和扩展性,缩减了维护成本和解码开发周期。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例中应用层协议解析方法的流程图;图2为本专利技术实施例中配置解析模块配置的事务层次模型图;图3为本专利技术一具体实施例中配置解析模块配置的事务处理规则示意图;图4为本专利技术实施例中事务处理模块的处理流程图;图5为本专利技术实施例中应用层协议解析装置的结构框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术所提供的应用层协议解析方法及装置,将应用层的解码过程进行统一的抽象描述,并以事务处理规则形式预先保存,在进行解码时,根据不同应用层协议获取指定的事务处理规则对报文进行解码。本专利技术将解码过程的实现与逻辑描述相分离,大大提升了应用解码引擎通用性和扩展性,缩减了维护成本和解码开发周期。本专利技术实施例提供一种应用层协议解析方法,如图1所示,包括:步骤101,配置解析模块中预先配置事务处理规则、输入字段关系表以及输出字段关系本文档来自技高网...
一种应用层协议解析方法及装置

【技术保护点】
一种应用层协议解析方法,其特征在于,包括:配置解析模块中预先配置事务处理规则、输入字段关系表以及输出字段关系表;其中,所述事务处理规则根据事务类型分为HTTP、TCP以及UDP三种;在进行解析时,字段映射模块将外部输入字段根据所述输入字段关系表映射为解码所需的内部字段;事务分发模块根据所述内部字段所属的事务类型将所述内部字段分发至事务处理模块;事务处理模块根据所述内部字段所属类型获取相应的事务处理规则,并根据所述事务处理规则解析出所述内部字段所对应的输出字段;事务输出模块根据所述输出字段关系表获取所述输出字段所映射的预定义字段并输出。

【技术特征摘要】
1.一种应用层协议解析方法,其特征在于,包括:配置解析模块中预先配置事务处理规则、输入字段关系表以及输出字段关系表;其中,所述事务处理规则根据事务类型分为HTTP、TCP以及UDP三种;在进行解析时,字段映射模块将外部输入字段根据所述输入字段关系表映射为解码所需的内部字段;事务分发模块根据所述内部字段所属的事务类型将所述内部字段分发至事务处理模块;事务处理模块根据所述内部字段所属类型获取相应的事务处理规则,并根据所述事务处理规则解析出所述内部字段所对应的输出字段;事务输出模块根据所述输出字段关系表获取所述输出字段所映射的预定义字段并输出。2.如权利要求1所述的方法,其特征在于,所述字段映射模块将外部输入字段根据所述输入字段关系表映射为解码所需的内部字段,具体包括:根据所述输入字段关系表判断所述外部输入字段是否为关心字段;当判断为关心字段时,则输出所述外部输入字段所映射的内部字段;当判断不是所关心的字段时,则丢弃所述外部输入字段。3.如权利要求1所述的方法,其特征在于,所述事务处理规则包括过滤规则和处理规则;在事务分发模块根据所述事务处理规则解析出所述内部字段所对应的输出字段,具体包括:根据所述过滤规则确定所述内部字段所属的事务;根据所述处理规则对所述内部字段进行解析,获取所述输出字段。4.如权利要求3所述的方法,其特征在于,所述根据所述处理规则对所述内部字段进行解析,获取所述输出字段,具体包括。判断所述内部字段是否满足入口条件;当满足时,则判断所述内部字段是否满足当前事务处理状态,当判断满足时,判断是否存在嵌套状态;当判断存在嵌套状态时,则对嵌套状态进行处理,待处理完毕后,则获取当前状态所对应的解码动作为输出字段或者缓存字段;当判断不存在嵌套状态时,则获取当前状态所对应的解码动作为输出字段或者缓存字段。5.如权利要求1所述的方法,其特征在于,所述事务输出模块根据所述输出字段关系表获取所述输出字段所映射的预定义字段并输出,具体包括:判断所述输出字段在所述输出字段关系表中是否存在映射...

【专利技术属性】
技术研发人员:张首斌唐通
申请(专利权)人:北京天融信网络安全技术有限公司北京天融信科技有限公司北京天融信软件有限公司
类型:发明
国别省市:北京,11

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

1