公开/公告号CN102594880A
专利类型发明专利
公开/公告日2012-07-18
原文格式PDF
申请/专利权人 北京锐安科技有限公司;
申请/专利号CN201210026647.2
发明设计人 魏伟光;
申请日2012-02-07
分类号
代理机构北京君尚知识产权代理事务所(普通合伙);
代理人余功勋
地址 100044 北京市海淀区中关村南大街乙56号方圆大厦9层
入库时间 2023-12-18 06:04:22
法律状态公告日
法律状态信息
法律状态
2018-01-30
专利权的主动放弃 IPC(主分类):H04L29/08 授权公告日:20141001 放弃生效日:20180110 申请日:20120207
专利权的主动放弃
2014-10-01
授权
授权
2012-09-19
实质审查的生效 IPC(主分类):H04L29/08 申请日:20120207
实质审查的生效
2012-07-18
公开
公开
技术领域
本发明属于数据通信领域,涉及一种HTTP协议还原中两个会话数据合并的方法。
背景技术
基于HTTP协议的WEB应用种类繁多,包括BBS、BLOG、CHAT等。将其内容进行解 析还原,对当今网络安全有重大意义。
传统WEB应用协议还原方法针对每个HTTP数据包,从中取出登录信息、邮件内容等感 兴趣的信息,数据包之间没有联系。而对于网页邮件、论坛之类的协议,通常支持附件上传。 上传的附件与发表的正文位于两个不同的HTTP数据包中。使用传统的WEB类协议还原方 法,可以分别提取两个数据包中的信息,但无法体现出二者之间的关系,不能满足更高的协 议还原要求。
发明内容
针对上述传统WEB类协议还原的局限性,本发明提出了一种数据合并的方法,用于将附 件信息与正文、登录等信息关联起来。
本发明针对传统WEB类协议还原不能将附件与正文关联起来的局限性,提出了一种 HTTP协议还原中两个会话数据合并的方法,实现了数据的合并。
本发明的主要技术内容为:
1)根据绝大多数情况,假定传送附件的数据包(此文档中命名为附件数据包)总是在传 送正文的数据包(此文档中命名为正文数据包)之前;
2)对于每个被协议还原设备从登录数据包中截获到的用户登陆信息,将其加入到一个哈 希表中(此文档中命名为登录信息表),如果没有截获到登录信息,则使用附件数据 包或正文数据包中提取的用户信息作为一条登录信息,然后将其加入到哈希表中;
3)登录信息表中每一项包含一个预先设置的指针,用于存储事先到达的附件信息,附件 信息中包含附件的个数、每个附件的名称以及具体的文件内容;
4)若有多个附件,则后续附件数据包处理中需要查找登录信息表中对应的指针是否为 空,若为空,则将本次附件数据包处理中获取的附件信息(包括文件名、文件长度、 文件内容)做为一个整体结构保存到一个队列中,并将队列首地址存储到登录信息表 中对应的指针中;若不为空,则需要在已有的队列中增加新的附件信息索引项;
5)正文数据包到来时,需要查询对应的登录信息表,若用于存储附件信息的指针不为空, 则将此正文数据与指针指向的附件数据合并起来。具体做法是:生成一个新的结构, 其中包含源IP、目的IP、URL、账号、标题、正文内容、附件个数、附件名称、附件 内容,并使用从本次正文数据包中解析出的正文信息内容以及在登录信息表中查询到 的附件信息的内容来填充这一结构,用于输出;
6)将合并后的数据按照事先在输出接口中约定的格式输出一条结构化信息,包含源IP、 目的IP、URL、账号、标题、正文内容、附件个数、附件名称,并输出一个包含附件 内容的压缩包,结构化信息文件与压缩包存储在本地磁盘/data目录下。
所述步骤1)适合绝大多数WEB类应用,如网页邮件、网页论坛、博客、微博等,因此 可以做这样的合理假设。
所述步骤2)是将登录信息组织为一个哈希表,以方便管理和查询。对于没有截获到登录 信息的数据,可以使用附件数据包本身包含的用户信息生成对应的登录信息。
所述步骤3)是数据合并的关键,在登录信息中维护着指向预先到达的附件数据的指针, 步骤5)中使用该指针来完成数据的合并。
所述步骤4)针对多个附件的情况,如果是第一个附件,那么登录信息中的指针应为空, 此时将解析出的附件信息存储到一个队列中,并将队列首地址存储到这个指针上;如果不是 第一个,那么需要将解析出的附件信息添加到早先的附件信息队列中。
所述步骤5)解析出已经到达的正文信息,根据正文信息中包含的账号(正文中本身包含, 或采取用户ID关联的方法从协议还原设备已经解析到的登录信息中获取)查找到对应的登录 信息表项后,取下附件内容(若无,则忽略),与解析出的正文内容合并。
所述步骤6)将已经合并的数据按照事先约定的文件格式输出到本地磁盘,等待入数据库。
步骤3)中所述登录信息表如图1所示,在哈希表Table中利用用户IP地址和端口形成的 哈希值来索引该表,找到对应的Att_ptr,即存储附件信息的指针。指针可关联多个附件,均 存储在Att_ptr指向的ATT表(存储附件信息表)中。
整个合并的流程如图2所示。同时,将哈希表项置于超时链表中,在规定的时间到达后, 丢弃表中超时的项。这样可以防止内存过度占用,避免存储浪费,这一点针对只有附件,没 有正文的数据非常有效。
与现有技术相比,本发明的优点与积极效果
一般的WEB类协议还原仅针对单包数据或单个连接,数据被还原以后没有任何关联,给 一些行为分析和监控带来了不便。本发明所述的方法将相互关联的数据(如一次发送网页邮 件过程中发送的附件与正文)合并在一起,描述一次完整的网络操作,在网络行为分析上带 来了很大的便利。
附图说明
图1为登录信息表结构;
图2为数据合并流程。
具体实施方式
可以在一台配备双网卡的普通服务器上实现本文所述方法。假定网卡编号分别为eth0与 eth1,eth0用于接收待还原数据,eth1用于数据通讯。具体实施步骤如下:
1)由eth0接收的网络数据,经过上层解析,判断出HTTP协议大类,再由应用层解析判 断出WEB应用类型,如网页邮件等;
2)经过一次完整的网络操作,如登录、发送带有附件及正文的网页邮件;
3)本模块将解析出的用户登录信息加入到登录信息表中;
4)附件数据包到来,本模块查找登录信息表,取得对应的登录信息,将解析出的附件信 息存储到到登录信息表项中的附件指针所指向的附件队列中;
5)若后续还有附件,则继续添加到对应的附件表中;
6)正文数据到来,本模块根据解析出的内容找到对应的登录信息表项,判断登录信息表 项对应的附件指针是否为空,若不为空,则表示之前有上传附件的行为,此时,需要 将附件信息从指针上摘下,与当前解析出的正文信息合并在一起;
7)将合并后的信息格式化输出到文件,等待入库,或通过socket传送到其他服务器。
至此,已经完成了一次完整的网络操作信息的合并输出。若仅有上传附件行为,没有后 续的正文,则用户信息表项在超时后,会根据配置项选择丢弃信息,或者输出仅包含附件的 信息。
机译: 催化反应性涂层,生产氨逃逸催化剂的方法,处理废气,降低废气流中一种或多种氨,氮氧化物,一氧化碳和碳氢化合物的浓度,还原氨,氮氧化物中的至少一种的方法,废气中的co和碳氢化合物,用于还原或氧化废气中的氨,nox,co和碳氢化合物中的至少一种,以降低废气流中氨,nox,co和thc的至少一种的浓度,用于降低发动机冷启动期间排气流中的NOx浓度,以及用于制备催化剂制品,排气系统和氨泄漏催化剂。
机译: 用于防止语音的可理解记录的方法,用于防止至少两个方之间的可理解的对话的记录的方法,用于防止对语音的可理解的记录的可理解的记录的装置,用于防止在语音通话中的可理解的记录的装置至少两个两方,用于防止语音的可理解记录的设备,用于防止至少两方之间的会话的可理解记录的设备,用于防止语音的可理解的记录的系统,用于防止至少两个两方之间的会话的可理解的记录的系统各方,可理解的语音记录工具包以及至少两方之间可理解的语音记录对话
机译: 用于包装介质开口的袋,在介质面板中构造具有开口的袋的方法,在两个面板中具有开口的构造此类袋的方法,愿意在介质面板中打开具有开口的袋的方法,愿意打开袋子的方法在其两个面板中的打开装置,一种通过手通过其面板之一打开袋子的方法,一种通过手通过其两个面板将袋子打开的方法以及具有多个这种袋子的包装安排