一种还原web类应用内容的方法及其系统的制作方法

文档序号:7897769阅读:288来源:国知局
专利名称:一种还原web类应用内容的方法及其系统的制作方法
技术领域
本发明属于数据通信领域,涉及一种高效还原TOB类应用内容的方法及其系统。
背景技术
WEB类应用基于HTTP协议,种类繁多,包括目前比较热门的社交类网站、邮箱类网 站、BBS类网站、博客类网站、游戏类网站、搜索类网站、在线聊天类网站等。还原TOB类应用 的登陆与内容,对网络安全、色情监控等有着非常重要的作用。传统的协议还原方法是基于 数据包搜索的,按顺序分析每个HTTP数据包,从而分析出相应的应用协议,并在HTTP内容 字段分析出登陆信息,发帖信息等内容。在网络流量小,WEB应用种类少的网络环境中,基 于数据包搜索的方法也是可行的,但是如今的网络流量越来越大,WEB类应用在所有网络应 用中所占的比例越来越高,而基于数据包搜索的方法的效率也越来越低,同时从事协议还 原人员的工作量也越加繁重,所以传统协议还原的方法已经不能满足如今的网络环境。需 要一种新的方法来还原WEB类应用的内容。

发明内容
本发明提出了一种基于模板的方法来还原TOB类应用内容的方法及系统,极大地 提高了 WEB类应用内容还原的性能。为了实现本发明的目的,本发明的技术方案概述如下一种还原TOB类应用内容的方法,其步骤为1)根据WEB类应用数据包特征,写成WEB类应用模板文件;2)读取模板文件并解析,把解析出的关键字组成一个结构体,形成模板链表;3)将待还原TOB类应用数据包的HTTP头部解析,并取得头部内容;4)采用匹配算法,将解析出的头部内容中的关键字与模板中的关键字进行比对, 找出匹配的模板;幻解析出待还原TOB类应用数据包HTTP头部内容的关键字和关键内容位置,并将 模板描述的关键字与解析出的关键字进行比对,从模板中取出匹配的内容;6)将匹配的内容按数据库表格式化输出,得到还原的WEB类应用内容。所述步骤1)采用WEB类描述语言将模板文件分为三部分,第一部分为模板识别部 分,包括URL、HOST、POST/GET的内容,由分析某类WEB应用数据包HTTP头部得到;第二部 分为关键内容描述部分,包括关键字,关键内容在数据包中的起始位置,关键内容长度,由 分析某类WEB应用数据包所得;第三部分为数据类型。所述步骤1)TOB类数据包特征为HTTP头部字段,包括网站登陆信息、发帖内容、回 帖内容、注册信息或聊天信息。所述步骤2、结构体包括模板识别部分、关键内容描述部分、数据类型部分。所述步骤4)找出匹配模板的方法为先用解析出的HOST字段比对,然后再将URL 字段进行精确比对,找出匹配的模板。
所述步骤4)采用改进式Boyer-Moore算法。所述步骤幻解析TOB类应用数据包HTTP内容部分的方法为利用TOB类应用数 据包中的分割符将登陆信息或发贴内容取出,组成格式化内容结构体链表。所述结构体包括关键字,关键内容在数据包中的起始位置,关键内容长度。为了实现本发明的另一目的,采用的技术方案如下一种还原TOB类应用内容的系统,其特征在于,包括数据包输入模块、协议识别模 块、模板导入模块、模板查找与内容提取模块和输出模块;所述数据包输入模块输入WEB类 应用数据包,所述协议识别模块识别输入的数据包类别,由模板导入模块根据协议类别写 成模板文件,读取模板并解析成模板链表;模板查找内容提取模块识别出HTTP协议,解析 HTTP头部字段操作,与模板文件对比,取出匹配内容,输出模块将匹配的内容按数据库表格 式化输出。 所述数据包输入模块从网卡捕获数据包。与现有技术相比,本发明具有的技术效果有传统TOB类应用还原技术只适用于 网络环境简单并且WEB类应用少的环境,本发明所述方法不但适用于简单网络环境,而且 克服了随着WEB类应用的增加协议分析人员负担的增加、随着源码的增加系统稳定性的下 降、随着协议数量线性的增加系统性能线性的下降的缺陷。利用本发明,可以满足WEB类应 用越来越多的网络环境下协议还原的需求。


图1为模板导入过程;图2为模板查找与内容提取过程;图3为还原系统结构图。
具体实施例方式下面结合附图和具体实施例对本发明做进一步详细描述。针对目前对TOB类应用协议内容还原技术的局限性,利用协议还原流程与常规 程序的区别,并根据WEB类应用关键内容出现的位置信息,定义了一套TOB类描述语言 WDSL (WEB DECODESIMPLE LANGUAGE)将TOB类应用内容写成模板,本发明将TOB类应用内容 写成模板提出了一种基于模板的方法来还原WEB类应用内容的方法,如图1所示,为模板文 件的导入过程首先,生成模板文件,读取该模板文件,并判断出模板类型;其次,按照模板类型解析模板文件,并建立新的模板结构体;最后,把新建的模板结构体加入模板链表,完成模板文件的导入。本发明还原TOB类应用内容的方法包括如下步骤1)参照WEB应用的特性,依照本发明所定义的WEB类描述语言语法写成模板文件 (此文档中命名为“模板”);所述WEB类描述语言将模板文件分为三部分,第一部分为模 板识别部分,即URL、HOST、POST/GET的内容,由分析某类WEB应用数据包HTTP头部所得; 第二部分为关键内容描述部分,包括关键字,关键内容在数据包中的起始位置,关键内容长 度,由分析某类WEB应用数据包所得;第三部分为数据类型,如登陆、发帖、回贴、退出等,由协议开发者定义。2)系统读取各WEB类模板并解析,在内存中形成链表(在此文档中命名为“模板 链表”);3)将web类应用中的HTTP协议头部解析,并获得URL、HOST、POST/GET的内容;如 图2所示,为解析POST/GET的内容。4)利用解析出的URL、HOST、P0ST/GET,结合高性能字符串多模匹配算法在模板链 表中进行模板查找;先用解析出的HOST字段比对,然后再将URL字段进行精确比对,找出匹 配的模板。5)根据找到的模板,将HTTP数据部分按照固定格式(如MIME格式)进行解析,找 出关键字名,和关键字内容,并组成结构体,然后形成链表;6)用匹配成功的模板中定义的关键字和解析出的关键字进行比对,提取出关键字 对应的内容;7)将解码出的关键内容格式化(可按要求定制),然后输出。所述步骤1)模板文件是按照WEB类应用数据包分析出特征字段,然后按照一定的 语法写成文件。以下给出一个模板文件的具体例子,本领域的技术人员可以根据WEB类应 用内容的不同写出不同的模板文件#wdsl v0. 1 语言版本#sina 新浪 Wds 发贴WDSL_TYPE = WEB_BBS_P0STP0ST_DEC0DE = 1#以下为识别部分BEGIN HEADP0ST_GET = POSTURL = /api/topic_post_api. php ?HOST = . sina. com. cnEND HEAD#以下为关键字描述问题BEGIN CUSERSITE = QUESTSTART = loginnameEND CUSER#密码,数据包分析得到BEGIN CPASSSITE = QUESTSTART = passwdEND CPASS#发贴内容,数据包分析得到BEGIN BODYSITE = QUEST
START = fms_bodyEND BODY#以下为数据类型AYN_APP = 5其中,步骤2)系统解析模板后,形成模板结构体,结构体包括模板识别部分、关键 内容描述部分、数据类型部分,然后按解析顺序组成链表形式。每一部分解析关键字例如内 容描述部分就是模板里描述的username,password, title, body之类的用于描述所要解析 内容在数据包中的标识。其中,步骤幻解析HTTP头部字段,是一次HTTP头部内容的全文搜索过程。其中,步骤4)模板链表中的关键字段即为多模式字符串。其中,步骤4)高性能多模式字符串匹配算法为改进式Boyer-Moore算法。其中,步骤幻对HTTP数据部分的解析是一次HTTP数据部分的全文搜索过程。其中,步骤6)关键字比对是按照链表顺序,对关键字进行精确比对,然后提取出 关键字所对应的内容。先用解析出的HOST字段比对,然后再将URL字段进行精确比对,找 出匹配的模板。其中,步骤7)将提取出的内容按照要进入的数据库的标准格式化,然后以文件的 形式输出。如图3所示,本发明还原TOB类应用内容的系统,包括数据包输入模块、协议识别 模块、模板导入模块、模板查找与内容提取模块,输出模块。所述模板导入模块主要负责将模板文件动态读入到系统,然后形成模板数据结构 链表,它首先扫描分类好的模板文件,接着把模板描述的关键字组成数据结构,然后形成链 表状态。所述模板查找与内容提取模块是用来负责还原WEB类应用内容的。它先将HTTP 数据包头分解,取出URL等字段值,然后用这些值进行模板匹配,如果有匹配模板,则可以 进行模板关键字匹配,从而还原出应用协议内容。整个解码过程如图2所示。在一个配有两块网卡的高性能PC机上即可实施本系统,一块网卡作为数据源,另 一块网卡用作数据通讯,模板文件可以存储在本机硬盘上,协议分析人员只需增加、更改模 板文件,即可实现协议的增加与修正。输出文件可以输出到硬盘,也可以通过网络输出到其 他系统。实施过程需要如下步骤(1)、增加模板文件分析人员需要先对所要分析的数据包进行分析,提取出关键内容特征,然后按照 本发明所定义的WEB类描述语言语法,写成相应协议模板。(2)、系统启动并导入模板系统启动后,各个模块初始化后开始正常运转,系统将模板文件读入,并按照WEB 类描述语言语法解析每个模板文件,把解析出的关键字组成一个结构体,然后形成模板链表。(3)、系统接收网卡数据包,并从应用层识别出HTTP数据连接系统从网卡上接收到数据后,在进行完传输层识别后,进行应用层协议识别。系 统是根据GET/POST等HTTP头部标识字段进行HTTP协议识别,而不是根据端口,因为很多HTTP应用流量已经不通过80端口收发了,因为HTTP是基于TCP协议,所以只需有一个数据 包被识别为HTTP,整个TCP连接即可被识别为HTTP连接。(4)、根据识别出的数据包进行模板匹配在识别出HTTP连接后,系统开始解析HTTP头部,把GET/POST、HOST、URL、COOKIE 等有用字段提取出来,并与模板链表里的模板结构进行比对,如果HOST、URL等关键字段匹 配,则认为找到了合适的模板。具体过程可参考附图2。(5)、根据匹配的模板从数据流中提取关键内容根据匹配的模板种类,对HTTP内容部分进行一次搜索,形成一个关键内容字段链 表,然后再用模板里定义的关键字段进行比对,如果匹配即可提取出相关内容。(6)、将解析出的协议内容格式化输出输出模块的作用就是将协议内容格式化,然后输出。输出内容一般会存储到特定 数据库,以便更好地分析利用,所以协议内容会按照特定数据库的格式进行格式化。到此,高效还原TOB类应用内容的发明实施完毕,如果想增加协议种类,只需增加 模板即可实现。
权利要求
1.一种还原WEB类应用内容的方法,其步骤为1)根据WEB类应用数据包特征,写成WEB类应用模板文件;2)读取模板文件并解析,把解析出的关键字组成一个结构体,形成模板链表;3)将待还原WEB类应用数据包的HTTP头部解析,并取得头部内容;4)采用匹配算法,将解析出的头部内容中的关键字与模板中的关键字进行比对,找出 匹配的模板;5)解析出待还原WEB类应用数据包HTTP头部内容的关键字和关键内容位置,并将模板 描述的关键字与解析出的关键字进行比对,从模板中取出匹配的内容;6)将匹配的内容按数据库表格式化输出,得到还原的WEB类应用内容。
2.如权利要求1所述的方法,其特征在于,所述步骤1)采用WEB类描述语言将模板 文件分为三部分,第一部分为模板识别部分,包括URL、HOST、POST/GET的内容,由分析某类 WEB应用数据包HTTP头部得到;第二部分为关键内容描述部分,包括关键字,关键内容在 数据包中的起始位置,关键内容长度,由分析某类WEB应用数据包所得;第三部分为数据类 型。
3.如权利要求1所述的方法,其特征在于,所述步骤1)WEB类数据包特征为HTTP头部 字段,包括网站登陆信息、发帖内容、回帖内容、注册信息或聊天信息。
4.如权利要求1所述的方法,其特征在于,所述步骤2)结构体包括模板识别部分、关键 内容描述部分、数据类型部分的关键字。
5.如权利要求1所述的方法,其特征在于,所述步骤4)找出匹配模板的方法为先用 解析出的HOST字段比对,然后再将URL字段进行精确比对,找出匹配的模板。
6.如权利要求1所述的方法,其特征在于,所述步骤4)采用改进式Boyer-Moore算法。
7.如权利要求1所述的方法,其特征在于,所述步骤幻解析WEB类应用数据包HTTP内 容部分的方法为利用WEB类应用数据包中的分割符将登陆信息或发贴内容取出,组成格 式化内容结构体链表。
8.如权利要求7所述的方法,其特征在于,所述结构体包括关键字,关键内容在数据包 中的起始位置,关键内容长度。
9.一种还原WEB类应用内容的系统,其特征在于,包括数据包输入模块、协议识别模 块、模板导入模块、模板查找与内容提取模块和输出模块;所述数据包输入模块输入WEB类 应用数据包,所述协议识别模块识别输入的数据包类别,由模板导入模块根据协议类别写 成模板文件,读取模板并解析成模板链表;模板查找内容提取模块识别出HTTP协议,解析 HTTP头部字段操作,与模板文件对比,取出匹配内容,输出模块将匹配的内容按数据库表格 式化输出。
10.如权利要求9所述的系统,其特征在于,所述数据包输入模块从网卡捕获数据包。
全文摘要
本发明公开了一种高效还原WEB类应用内容的方法及其系统,属于网络通信领域。本发明方法1)根据WEB类应用数据包特征写成模板文件;2)读取模板文件并解析,形成模板链表;3)将HTTP数据包头部解析,并取得URL,HOST等头部内容;4)将解析出的URL,HOST等字段与模板描述的URL,HOST等字段进行比对,找出匹配的模板;5)用匹配成功的模板中定义的关键字在HTTP内容部分提取出相应的内容;6)将提取出的内容格式化,然后输出;本系统包括数据包输入模块、协议识别模块、模板导入模块、模板查找与内容提取模块,输出模块。本发明可高效还原WEB类应用内容,并且可简单地通过增加模板来增加协议。
文档编号H04L29/08GK102098331SQ20101061283
公开日2011年6月15日 申请日期2010年12月29日 优先权日2010年12月29日
发明者冯建业 申请人:北京锐安科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1