CN105099909A - 一种流量还原方法及装置 - Google Patents
一种流量还原方法及装置 Download PDFInfo
- Publication number
- CN105099909A CN105099909A CN201510383093.5A CN201510383093A CN105099909A CN 105099909 A CN105099909 A CN 105099909A CN 201510383093 A CN201510383093 A CN 201510383093A CN 105099909 A CN105099909 A CN 105099909A
- Authority
- CN
- China
- Prior art keywords
- session
- request
- response
- dom tree
- group
- 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
Links
Abstract
本发明实施例公开了一种流量还原方法及装置,涉及计算机领域,实现了对审计系统的管理员专业知识要求低、简单且节约时间的超文本传输流量还原。具体方案为:获取包含至少一个操作的流量;将包含相同会话标识的每组操作,进行关联排序,获取X个会话的有序的操作列表;分别对X个会话的有序的操作列表中相互匹配的请求和响应中的每个响应进行渲染,构建DOM树;将相互匹配的请求和响应中的每个请求中包含的提交数据,填充至与其相互匹配的响应的DOM树中的数据填充节点;将X个会话中填充后的DOM树进行可视化保存为每个会话的还原文件。本发明用于流量还原。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种流量还原方法及装置。
背景技术
随着我国信息化建设的快速增长,企业信息系统建设及覆盖率均快速提高。由此引发的信息系统泄密、非法信息传输及安全攻击等安全事件时常发生;因此,建设审计系统来对关键信息系统的操作进行跟踪审计,及时发现问题,及时提出防范和化解风险的对策建议成为普遍做法。
目前,流量审计由于采用对信息系统无影响的旁路镜像流量审计的方式而成为企业首选。通过流量审计,将得到海量的超文本传输流量数据;当审计过程中发现问题,追责时定位责任方时,需要根据流量审计得到的超文本传输流量数据,获取用户操作数据及页面等必要证据。
在上述获取定位责任方的证据的过程中,发明人发现现有技术至少存在下述缺陷:一方面,对审计系统的管理员专业知识要求高,需要熟悉被审计系统的业务场景、熟悉超文本传输协议和超文本标记语言相关专业知识;另一方面,由于海量数据数量巨大并且无序,使得获取定位责任方的证据非常困难且非常耗时。
发明内容
本发明的实施例提供一种流量还原方法及装置,实现了对审计系统的管理员专业知识要求低、简单且节约时间的超文本传输流量还原,以达到在审计过程中轻松获取定位责任方的证据的目的。
为达到上述目的,本发明的实施例采用如下技术方案:
本发明的第一方面,提供一种流量还原方法,包括:
获取包含至少一个操作的流量;其中,一个所述操作包括请求和响应;所述请求包括会话标识和前驱操作标识;
分别将包含相同会话标识的每组操作,根据操作中的前驱操作标识,进行关联排序,获取X个会话的有序的操作列表;其中,所述至少一个操作中包括X种会话标识,所述X种会话标识指示所述X个会话;
分别对所述X个会话的有序的操作列表中相互匹配的请求和响应中的每个响应进行渲染,构建文档对象模型(DocumentObjectModel,简称DOM)树;其中,相互匹配的请求和响应为所述有序的操作列表中连续的请求和响应;
分别将所述X个会话的有序的操作列表中相互匹配的请求和响应中的每个请求中包含的提交数据,填充至与其相互匹配的响应的DOM树中的数据填充节点;
分别将所述X个会话中填充后的DOM树进行可视化保存,作为所述流量中每个会话的还原文件。
本发明的第二方面,提供一种流量还原装置,包括:
获取单元,用于获取包含至少一个操作的流量;其中,一个所述操作包括请求和响应;所述请求包括会话标识和前驱操作标识;
关联单元,用于分别将所述获取单元获取的包含相同会话标识的每组操作,根据操作中的前驱操作标识,进行关联排序,获取X个会话的有序的操作列表;其中,所述至少一个操作中包括X种会话标识,所述X种会话标识指示所述X个会话;
渲染单元,用于分别对所述获取单元获取的所述X个会话的有序的操作列表中相互匹配的请求和响应中的每个响应进行渲染,构建DOM树;其中,相互匹配的请求和响应为所述有序的操作列表中连续的请求和响应;
填充单元,用于分别将所述获取单元获取的所述X个会话的有序的操作列表中相互匹配的请求和响应中的每个请求中包含的提交数据,填充至与其相互匹配的响应的DOM树中的数据填充节点;
保存单元,用于分别所述X个会话中所述填充单元填充后的DOM树进行可视化保存,作为所述流量中每个会话的还原文件。
本发明实施例提供的流量还原方法及装置,通过获取包含至少一个操作的流量;其中,一个操作包括请求和响应;请求包括会话标识和前驱操作标识;分别将包含相同会话标识的每组操作,根据操作中的前驱操作标识,进行关联排序,获取X个会话的有序的操作列表;分别对X个会话的有序的操作列表中相互匹配的请求和响应中的每个响应所属的操作进行渲染,构建DOM树;其中,相互匹配的请求和响应为所述有序的操作列表中连续的请求和响应;分别将X个会话的有序的操作列表中相互匹配的请求和响应中的每个请求中包含的提交数据,填充至与其相互匹配的响应所属的操作的DOM树中的数据填充节点;分别将X个会话中填充后的DOM树进行可视化保存,作为流量中每个会话的还原文件。由上可知,生成的流量还原文件,是根据操作的特征自动获取的,不再需要人工参与,且处理过程快,实现了对审计系统的管理员专业知识要求低、简单且节约时间的超文本传输流量还原,以达到在审计过程中轻松获取定位责任方的证据的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种流量还原方法的流程图;
图2为本发明实施例提供的一种操作示意图;
图3为本发明实施例提供的一种流量还原装置结构示意图;
图4为本发明实施例提供的另一种流量还原装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
实施例1
本发明实施例1提供一种流量还原方法,应用于流量还原装置,所述流量还原装置可以为服务器。
如图1所示,该方法可以包括:
S101、获取包含至少一个操作的流量。
其中,一个所述操作包括请求和响应;所述请求包括会话标识和前驱操作标识。
可选的,所述会话标识可以从Cookie或者提交参数中获取。
可选的,所述流量可以为超文本传输协议(HyperTextTransferProtocol,简称HTTP)流量;当然,也可以为其他需要还原的流量类型,本发明对于流量的具体类型不进行限定。
优选的,在客户端与原始服务器交互的过程中,可以通过采集引擎在旁路上,通过抓包技术采集获取HTTP流量包,将采集到的HTTP流量包抓取出来后,按固定大小写入磁盘,生成采集文件;S101中即可从采集文件中获取包含至少一个操作的流量。
其中,原始服务器是与客户端常规交互的服务器,与本发明所应用的服务器不同。
所述采集文件,可以实时生成(即原始服务器与客户端每一次交互均生成采集文件),也可以周期性生成,本发明对于采集文件的生成时间点不进行具体限定。
当所述采集文件周期性生成时,对于该周期的持续时长,以及周期的间隔时长,均可以根据实际需求设定,本发明对此不进行具体限定。
进一步,若在获取至少一个操作的过程中,存在不包含会话标识的操作,所述方法还可以包括:
判断不包含会话标识的操作是否为登录行为;
若不包含会话标识的操作为登录行为,则根据登录信息,非该操作分配登录信息所属的会话标识,使得操作中包含会话标识。
若不包含会话标识的操作为非登录行为,则忽略该操作。
S102、分别将包含相同会话标识的每组操作,根据操作中的前驱操作标识,进行关联排序,获取X个会话的有序的操作列表。
其中,所述至少一个操作中包括X种会话标识,所述X种会话标识指示所述X个会话。
具体的,会话是一个客户端与原始服务器之间的不中断的操作(请求和响应)序列。对客户的每个请求,原始服务器能够识别出请求来自于同一个客户端。
进一步的,可以通过在操作中包含会话标识,以标示操作所属的会话;因此,同一个会话中的所有操作可以包含相同的会话标识,这样,就可以从杂乱的流量中识别会话,将相同会话内的操作进行分组。
具体的,在S102中,将包含相同会话标识的操作称为一组操作,对于每组操作均要执行S102,以获取X个会话的有序的操作列表;由于对于每组操作执行S102的过程相同,此处以所述第一组操作执行S102的过程为例进行说明,其他组操作执行S102的过程相同,此处不再一一赘述;其中,所述第一组操作为所述至少一个操作中,任意一组包含相同会话标识的操作。
具体的,对于所述第一组操作,将包含相同会话标识的每组操作,根据操作中的前驱操作标识,进行关联排序,获取所述第一组操作指示的会话的有序的操作列表,可以包括但不限于下述两种方案:
第一种方案:
遍历所述第一组操作中的每个操作,分别将每个操作关联至该操作中的前驱操作标识指示的操作,获取所述第一组操作的会话标识指示的会话的有序的操作列表。
其中,对于遍历所述第一组操作中的每个操作时的顺序,本发明对此不进行具体限定。
示例性的,假设第一组操作中包括的操作如表1所示:
表1
操作标识 | 前驱操作的标识 | 会话标识 |
操作1 | 无 | A |
操作2 | 操作1 | A |
操作3 | 操作4 | A |
操作4 | 操作2 | A |
操作5 | 操作3 | A |
因此,将表1所示的第一组操作,按照第一种方案执行S102之后,可以获取到第一组操作指示的会话的有序的操作列表如表2所示;
表2
操作1 | 操作2 | 操作4 | 操作3 | 操作5 |
需要说明的是,上述示例仅对上述第一种方案进行示例描述,并不是对上述方案的具体限定。
第二种方案:为了提高处理效率,可以先将第一组操作中的每个操作按照请求时间顺序依次排列,再将请求时间相同的操作中每个操作,关联至该操作中的前驱操作标识指示的操作,获取所述第一组操作的会话标识指示的会话的有序的操作列表。
示例性的,以表1示意的第一组操作为例,假设该操作还包括每个操作的请求时间,该第一组操作如表3所示:
表3
因此,先将表3所示的第一组操作中的每个操作按照请求时间顺序依次排列,可得到:(操作1)、(操作2)、(操作3、操作4)、(操作5);其中,操作3、操作4的时间相同。
再将操作3关联至其前驱操作(操作4)之后,因此,得到如表2所示的第一组操作指示的会话的有序的操作列表。
S103、分别对X个会话的有序的操作列表中相互匹配的请求和响应中的每个响应所属的操作进行渲染,构建DOM树。
优选的,可以利用Eclipse平台出品的标准窗口小部件工具箱(StandardWidgetToolkit,简称SWT)套件中的browser引擎,由该引擎将超文本标记语言(HyperTextMarkupLanguage,简称HTML)源代码构建成DOM树。
当然,也可以采用其他方式构建DOM树,本发明对于构建DOM树的过程不进行具体限定。
S104、分别将X个会话的有序的操作列表中相互匹配的请求和响应中的每个请求中包含的提交数据,填充至与其相互匹配的响应所属的操作的DOM树中的数据填充节点。
其中,相互匹配的请求和响应为所述有序的操作列表中连续的请求和响应。
示例性的,假设一个会话的有序的操作列表依次为:操作1、操作2、操作3;如图2所示,操作1的响应为form表单,而操作2的请求为form表单提交数据,操作1的响应与操作2的请求为有序的操作列表中连续的请求和响应,操作1的响应与操作2的请求相互匹配。
具体的,分别将所述X个会话的有序的操作列表中相互匹配的请求和响应中的每个请求中包含的提交数据,填充至与其相互匹配的响应所属的操作的DOM树中的数据填充节点,可以包括下面步骤A和步骤B:
步骤A、分别根据X个会话的有序的操作列表中每个操作的数据内容,确定每个操作的页面形式。
其中,可以根据每个操作的数据内容中的关键字,确定页面形式。
可选的,所述页面形式可以包括但不限于:Form表单、FrameSet,异步请求响应。
示例性的,若数据内容会出现<form>关键字,则可确定操作的页面形式为Form表单;
若数据内容会出现<frameset>关键字,则可确定操作的页面形式为FrameSet;
若数据内容会请求统一资源定位符(UniformResourceLocator,简称URL)中出现异步请求特征,响应内容格式为:application/json或text/plain或text/xml,则可确定操作的页面形式为异步请求响应。
步骤B、分别将X个会话的有序的操作列表中相互匹配的请求和响应中的每个请求中包含的提交数据,按照相互匹配的请求和响应所属的操作的页面形式,填充至与其相互匹配的响应所属的操作的DOM树中的数据填充节点。
其中,操作的页面形式决定了向DOM树中的数据填充节点填充数据的具体方式。
可选的,可以为操作的每一种页面形式,预设不同的填充策略,用于向DOM树中的数据填充节点填充数据。
这样,将X个会话的有序的操作列表中相互匹配的请求和响应中的每个请求中包含的提交数据,按照相互匹配的请求和响应所属的操作的页面形式,填充至与其相互匹配的响应所属的操作的DOM树中的数据填充节点可以包括:
将X个会话的有序的操作列表中相互匹配的请求和响应中的每个请求中包含的提交数据,按照相互匹配的请求和响应所属的操作的页面形式对应的填充策略,填充至与其相互匹配的响应所属的操作的DOM树中的数据填充节点。
具体的,根据操作的页面形式的不同,填充策略也可以不同。
示例性的,填充策略可以包括:名称匹配,沙盒技术等等。需要说明的是,本发明对于填充策略的具体内容不进行限定。
示例性的,若操作的页面形式为From表单或FrameSet,对应的填充策略可以为名称匹配;若操作的页面形式为异步请求响应,对应的填充策略可以为沙盒技术;
还需要说明的是,操作的页面形式与填充策略的对应关系,可以根据实际需求设定,本发明对此也不进行具体限定。
S105、分别将X个会话中填充后的DOM树进行可视化保存,作为所述流量中每个会话的还原文件。
其中,DOM树为流量还原过程中的过程量,对其进行可视化保存,方便管理员查看,并从中获取需要的内容。
将一个会话中的填充后的DOM树进行一次可视化保存,作为该会话的还原文件。
具体的,所述分别将X个会话中填充后的DOM树进行可视化保存,可以通过下述两种方案中的任意一种实现:
第一种方案:
分别将X个会话中填充后的DOM树,加载各自的层叠样式及图片,可视化保存为比特流。
第二种方案:
分别将X个会话中填充后的DOM树,加载各自的层叠样式及图片,可视化保存为比特流,再将每个比特流生成图片化的快照。
可选的,在上述两种方案进行可视化保存的过程中,可能出现超出浏览器可视窗口的部分像素情况,此时,所述方法还可以包括:
对整个像素范围分块,按照分块顺序从Browser中获取指定大小的区块像素;
在内存中的图像画布中拼接区块像素,得到完整的图片;
将该画布写成比特流或者保存成指定格式的图片。
需要说明的是,对DOM树进行可视化保存为比特流或者快照,可以根据实际需求确定方案,本发明对此不进行具体限定。
进一步可选的,所述请求中还可以包括用户标识;其中,用户的标识是可以唯一记录操作人的信息,可以包括但不限于下述信息中的一项或多项:登录用户名、源IP等。
可选的,为了提高本发明实施例提供的流量还原方法的还原度,在S102之后,所述方法还可以包括:
分别将X个会话的有序的操作列表中包括的用户标识,保存至所述流量中每个会话的还原文件中。
可选的,为了实现离线渲染,避免原始资源的路径改变对渲染过程的影响,在S104之后,所述方法还可以包括:
将每个DOM树中的资源节点中的路径替换为原始服务器的绝对路径。
其中,资源可以包括层叠样式、Javascript脚本、图片等静态资源。
具体的,请求时使用的相对路径,而绝对路径在部署该Web应用时是知道路径前缀(Content)的,因此,原始服务器的绝对路径为原始服务器的IP地址加上Content加上请求时的相对路径。
可选的,本发明提供的流量还原方法为了避免对原始服务器产生干扰,可以通过沙盒技术拦截上述执行S101至S105过程中向原始服务器发送的请求,因此,所述方法还可以包括:
若操作中包含提交原始服务器的请求,拦截提交原始服务器的请求,并向发送提交原始服务器的请求的客户端返回预设结果。
其中,所述预设结果可以根据实际请求设置内容,可以对不同的请求设置不同的预设结果,本发明对此不进行具体限定。
优选的,本发明提供的流量还原方法为了避免对原始服务器产生干扰,若操作的页面形式为异步请求响应,可以通过沙盒技术拦截上述执行S101至S105过程中向原始服务器发送的请求,因此,所述方法还可以包括:
若页面形式为异步请求响应的操作中包含提交原始服务器的请求,拦截提交原始服务器的请求,并向发送提交原始服务器的请求的客户端返回预设结果。
本发明实施例提供的流量还原方法,生成的流量还原文件,是根据操作的特征自动获取的,不再需要人工参与,且处理过程快,实现了对审计系统的管理员专业知识要求低、简单且节约时间的超文本传输流量还原,以达到在审计过程中轻松获取定位责任方的证据的目的。
进一步的,根据操作的页面形式的不同,将提交的数据按照不同的方式填充至DOM树中,使得流量的还原更准确。
实施例2
本发明实施例2提供一种流量还原装置30,所述流量还原装置可以为服务器。
如图3所示,所述流量还原装置30可以包括:
获取单元301,用于获取包含至少一个操作的流量;其中,一个所述操作包括请求和响应;所述请求包括会话标识和前驱操作标识;
关联单元302,用于分别将所述获取单元301获取的包含相同会话标识的每组操作,根据操作中的前驱操作标识,进行关联排序,获取X个会话的有序的操作列表;其中,所述至少一个操作中包括X种会话标识,所述X种会话标识指示所述X个会话;
渲染单元303,用于分别对所述获取单元301获取的所述X个会话的有序的操作列表中相互匹配的请求和响应中的每个响应所属的操作进行渲染,构建文档对象模型DOM树;其中,相互匹配的请求和响应为所述有序的操作列表中连续的请求和响应;
填充单元304,用于分别将所述获取单元301获取的所述X个会话的有序的操作列表中相互匹配的请求和响应中的每个请求中包含的提交数据,填充至与其相互匹配的响应所属的操作的DOM树中的数据填充节点;
保存单元305,用于分别所述X个会话中所述填充单元填充后的DOM树进行可视化保存,作为所述流量中每个会话的还原文件。
具体的,对于所述第一组操作,所述关联单元302具体可以用于:
遍历所述第一组操作中的每个操作,分别将每个操作关联至该操作中的前驱操作标识指示的操作,获取所述第一组操作的会话标识指示的会话的有序的操作列表;其中,所述第一组操作为所述至少一个操作中,任意一组包含相同会话标识的操作;
或者,
先将所述第一组操作中的每个操作按照请求时间顺序依次排列,再将请求时间相同的操作中每个操作,关联至该操作中的前驱操作标识指示的操作,获取所述第一组操作的会话标识指示的会话的有序的操作列表。
进一步的,所述填充单元304具体用于:
分别根据所述X个会话的有序的操作列表中每个操作的数据内容,确定每个操作的页面形式;
分别将所述X个会话的有序的操作列表中相互匹配的请求和响应中的每个请求中包含的提交数据,按照所述相互匹配的请求和响应所属的操作的页面形式,填充至与其相互匹配的响应所属的操作的DOM树中的数据填充节点。
进一步的,所述请求中还包括用户标识;
所述保存单元305还可以用于:
分别将所述X个会话的有序的操作列表中包括的用户标识,保存至所述流量中每个会话的还原文件中。
可选的,所述保存单元305具体可以用于:
分别将所述X个会话中填充后的DOM树,加载各自的层叠样式及图片,可视化保存为比特流。
可选的,所述保存单元305具体可以用于:
分别将所述X个会话中填充后的DOM树,加载各自的层叠样式及图片,可视化保存为比特流;
将每个所述比特流生成图片化的快照。
进一步的,所述填充单元304还可以用于:
将每个DOM树中的资源节点中的路径替换为原始服务器的绝对路径。
进一步的,参见图4,所述装置30还可以包括:
拦截发送单元306,用于若所述获取单元301获取的页面形式为异步请求响应的操作中包含提交所述原始服务器的请求,拦截所述提交原始服务器的请求,并向发送所述提交原始服务器的请求的客户端返回预设结果。
需要说明的是,本发明实施例提供的流量还原装置30中功能模块的具体描述可以参考方法实施例中对应内容的具体描述,本发明实施例在此不再详细赘述。
本发明实施例提供的流量还原装置30,生成的流量还原文件,是根据操作的特征自动获取的,不再需要人工参与,且处理过程快,实现了对审计系统的管理员专业知识要求低、简单且节约时间的超文本传输流量还原,以达到在审计过程中轻松获取定位责任方的证据的目的。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (16)
1.一种流量还原方法,其特征在于,包括:
获取包含至少一个操作的流量;其中,一个所述操作包括请求和响应;所述请求包括会话标识和前驱操作标识;
分别将包含相同会话标识的每组操作,根据操作中的前驱操作标识,进行关联排序,获取X个会话的有序的操作列表;其中,所述至少一个操作中包括X种会话标识,所述X种会话标识指示所述X个会话;
分别对所述X个会话的有序的操作列表中相互匹配的请求和响应中的每个响应所属的操作进行渲染,构建文档对象模型DOM树;其中,相互匹配的请求和响应为所述有序的操作列表中连续的请求和响应;
分别将所述X个会话的有序的操作列表中相互匹配的请求和响应中的每个请求中包含的提交数据,填充至与其相互匹配的响应所属的操作的DOM树中的数据填充节点;
分别将所述X个会话中填充后的DOM树进行可视化保存,作为所述流量中每个会话的还原文件。
2.根据权利要求1所述的方法,其特征在于,对于所述第一组操作,将包含相同会话标识的每组操作,根据操作中的前驱操作标识,进行关联排序,获取所述第一组操作的会话标识指示的会话的有序的操作列表,包括:
遍历所述第一组操作中的每个操作,分别将每个操作关联至该操作中的前驱操作标识指示的操作,获取所述第一组操作的会话标识指示的会话的有序的操作列表;其中,所述第一组操作为所述至少一个操作中,任意一组包含相同会话标识的操作;
或者,
先将所述第一组操作中的每个操作按照请求时间顺序依次排列,再将请求时间相同的操作中每个操作,关联至该操作中的前驱操作标识指示的操作,获取所述第一组操作的会话标识指示的会话的有序的操作列表。
3.根据权利要求1或2所述的方法,其特征在于,所述分别将所述X个会话的有序的操作列表中相互匹配的请求和响应中的每个请求中包含的提交数据,填充至与其相互匹配的响应所属的操作的DOM树中的数据填充节点,包括:
分别根据所述X个会话的有序的操作列表中每个操作的数据内容,确定每个操作的页面形式;
分别将所述X个会话的有序的操作列表中相互匹配的请求和响应中的每个请求中包含的提交数据,按照所述相互匹配的请求和响应所属的操作的页面形式,填充至与其相互匹配的响应所属的操作的DOM树中的数据填充节点。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述请求中还包括用户标识;
在所述分别将包含相同会话标识的每组操作,根据操作中的前驱操作标识,进行关联排序,获取X个会话的有序的操作列表之后,所述方法还包括:
分别将所述X个会话的有序的操作列表中包括的用户标识,保存至所述流量中每个会话的还原文件中。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述分别将所述X个会话中填充后的DOM树进行可视化保存,包括:
分别将所述X个会话中填充后的DOM树,加载各自的层叠样式及图片,可视化保存为比特流。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述分别将所述X个会话中填充后的DOM树进行可视化保存,包括:
分别将所述X个会话中填充后的DOM树,加载各自的层叠样式及图片,可视化保存为比特流;
将每个所述比特流生成图片化的快照。
7.根据权利要求1-6任一项所述的方法,其特征在于,在所述分别对所述X个会话的有序的操作列表中相互匹配的请求和响应中的每个响应进行渲染,构建文档对象模型DOM树之后,所述方法还包括:
将每个DOM树中的资源节点中的路径替换为原始服务器的绝对路径。
8.根据权利要求3-7任一项所述的方法,其特征在于,若所述操作的页面形式为异步请求响应,在所述分别将所述X个会话的有序的操作列表中相互匹配的请求和响应中的每个请求中包含的提交数据,填充至与其相互匹配的响应所属的操作的DOM树中的数据填充节点之后,所述方法还包括:
若所述页面形式为异步请求响应的操作中包含提交所述原始服务器的请求,拦截所述提交原始服务器的请求,并向发送所述提交原始服务器的请求的客户端返回预设结果。
9.一种流量还原装置,其特征在于,包括:
获取单元,用于获取包含至少一个操作的流量;其中,一个所述操作包括请求和响应;所述请求包括会话标识和前驱操作标识;
关联单元,用于分别将所述获取单元获取的包含相同会话标识的每组操作,根据操作中的前驱操作标识,进行关联排序,获取X个会话的有序的操作列表;其中,所述至少一个操作中包括X种会话标识,所述X种会话标识指示所述X个会话;
渲染单元,用于分别对所述获取单元获取的所述X个会话的有序的操作列表中相互匹配的请求和响应中的每个响应所属的操作进行渲染,构建文档对象模型DOM树;其中,相互匹配的请求和响应为所述有序的操作列表中连续的请求和响应;
填充单元,用于分别将所述获取单元获取的所述X个会话的有序的操作列表中相互匹配的请求和响应中的每个请求中包含的提交数据,填充至与其相互匹配的响应所属的操作的DOM树中的数据填充节点;
保存单元,用于分别所述X个会话中所述填充单元填充后的DOM树进行可视化保存,作为所述流量中每个会话的还原文件。
10.根据权利要求9所述的装置,其特征在于,对于所述第一组操作,所述关联单元具体用于:
遍历所述第一组操作中的每个操作,分别将每个操作关联至该操作中的前驱操作标识指示的操作,获取所述第一组操作的会话标识指示的会话的有序的操作列表;其中,所述第一组操作为所述至少一个操作中,任意一组包含相同会话标识的操作;
或者,
先将所述第一组操作中的每个操作按照请求时间顺序依次排列,再将请求时间相同的操作中每个操作,关联至该操作中的前驱操作标识指示的操作,获取所述第一组操作的会话标识指示的会话的有序的操作列表。
11.根据权利要求9或10所述的装置,其特征在于,所述填充单元具体用于:
分别根据所述X个会话的有序的操作列表中每个操作的数据内容,确定每个操作的页面形式;
分别将所述X个会话的有序的操作列表中相互匹配的请求和响应中的每个请求中包含的提交数据,按照所述相互匹配的请求和响应所属的操作的页面形式,填充至与其相互匹配的响应所属的操作的DOM树中的数据填充节点。
12.根据权利要求9-11任一项所述的装置,其特征在于,所述请求中还包括用户标识;
所述保存单元还用于:
分别将所述X个会话的有序的操作列表中包括的用户标识,保存至所述流量中每个会话的还原文件中。
13.根据权利要求9-12任一项所述的装置,其特征在于,所述保存单元具体用于:
分别将所述X个会话中填充后的DOM树,加载各自的层叠样式及图片,可视化保存为比特流。
14.根据权利要求9-12任一项所述的装置,其特征在于,所述保存单元具体用于:
分别将所述X个会话中填充后的DOM树,加载各自的层叠样式及图片,可视化保存为比特流;
将每个所述比特流生成图片化的快照。
15.根据权利要求9-14任一项所述的装置,其特征在于,所述填充单元还用于:
将每个DOM树中的资源节点中的路径替换为原始服务器的绝对路径。
16.根据权利要求11-15任一项所述的装置,其特征在于,若所述操作的页面形式为异步请求响应,所述装置还包括:
拦截发送单元,用于若所述获取单元获取的页面形式为异步请求响应的操作中包含提交所述原始服务器的请求,拦截所述提交原始服务器的请求,并向发送所述提交原始服务器的请求的客户端返回预设结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510383093.5A CN105099909B (zh) | 2015-07-02 | 2015-07-02 | 一种流量还原方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510383093.5A CN105099909B (zh) | 2015-07-02 | 2015-07-02 | 一种流量还原方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105099909A true CN105099909A (zh) | 2015-11-25 |
CN105099909B CN105099909B (zh) | 2018-10-26 |
Family
ID=54579501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510383093.5A Active CN105099909B (zh) | 2015-07-02 | 2015-07-02 | 一种流量还原方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105099909B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101860533A (zh) * | 2010-05-26 | 2010-10-13 | 卓望数码技术(深圳)有限公司 | 一种基于c/s架构浏览器的数据传输方法及服务器 |
CN101887463A (zh) * | 2010-07-22 | 2010-11-17 | 北京天融信科技有限公司 | 一种基于虚拟域的http还原展示方法 |
CN102307151A (zh) * | 2011-10-10 | 2012-01-04 | 上海西默通信技术有限公司 | 基于http的网络数据包还原方法 |
CN102665127A (zh) * | 2012-04-23 | 2012-09-12 | 中山大学 | 一种数字电视的浏览器系统 |
US20150163201A1 (en) * | 2013-12-06 | 2015-06-11 | Shape Security, Inc. | Client/server security by an intermediary rendering modified in-memory objects |
US20150169533A1 (en) * | 2011-01-11 | 2015-06-18 | Google Inc. | Server-less HTML Templates |
-
2015
- 2015-07-02 CN CN201510383093.5A patent/CN105099909B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101860533A (zh) * | 2010-05-26 | 2010-10-13 | 卓望数码技术(深圳)有限公司 | 一种基于c/s架构浏览器的数据传输方法及服务器 |
CN101887463A (zh) * | 2010-07-22 | 2010-11-17 | 北京天融信科技有限公司 | 一种基于虚拟域的http还原展示方法 |
US20150169533A1 (en) * | 2011-01-11 | 2015-06-18 | Google Inc. | Server-less HTML Templates |
CN102307151A (zh) * | 2011-10-10 | 2012-01-04 | 上海西默通信技术有限公司 | 基于http的网络数据包还原方法 |
CN102665127A (zh) * | 2012-04-23 | 2012-09-12 | 中山大学 | 一种数字电视的浏览器系统 |
US20150163201A1 (en) * | 2013-12-06 | 2015-06-11 | Shape Security, Inc. | Client/server security by an intermediary rendering modified in-memory objects |
Also Published As
Publication number | Publication date |
---|---|
CN105099909B (zh) | 2018-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104915296B (zh) | 埋点测试方法、数据的查询方法及装置 | |
CA2712984C (en) | Traffic visualization across web maps | |
CN102737067B (zh) | 输出网页的方法和系统 | |
US20020052937A1 (en) | Method and apparatus for verifying the contents of a global configuration file | |
EP1997041B1 (en) | Content management | |
CN107885777A (zh) | 一种基于协作式爬虫的抓取网页数据的控制方法及系统 | |
CN104301311B (zh) | Dns过滤网络数据内容的方法及设备 | |
CN101193007A (zh) | 统一资源定位符命令测试方法、场景测试方法和相应设备 | |
CN105279435A (zh) | 网页漏洞检测方法和装置 | |
CN104268082A (zh) | 浏览器的压力测试方法和装置 | |
CN107729358A (zh) | 基于浏览器的页面访问方法和装置 | |
CN109948074A (zh) | 网站数据对接方法、装置、存储介质、处理器及电子设备 | |
CN103581273B (zh) | 一种分布式系统执行业务的方法、装置及系统 | |
CN105302815A (zh) | 网页的统一资源定位符url的过滤方法和装置 | |
CN106161643A (zh) | 任务分布式处理方法、装置及云服务器 | |
CN107948148A (zh) | 一种模拟代填的方法及装置 | |
CN110807152A (zh) | 基于多业务的推荐引擎系统的创建方法和存储介质 | |
CN103905434A (zh) | 一种网络数据处理方法和装置 | |
CN104281680A (zh) | 用于获取网站资源的数据处理系统、方法及装置 | |
CN107239689A (zh) | 一种基于众包的验证信息的识别方法及系统 | |
CN105099909A (zh) | 一种流量还原方法及装置 | |
EP3824612A1 (de) | Penetrationstestverfahren, computerprogramm und vorrichtung zur datenverarbeitung | |
CN103678332A (zh) | 用于展示页面的系统、浏览器及其展示页面的方法 | |
CN102918527B (zh) | Web应用托管的调查方法和系统 | |
CN102509251A (zh) | 数据统计的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180426 Address after: 610213 846, southern section of Tianfu Avenue, Huayang street, Tianfu New District, Chengdu, Sichuan Applicant after: Chengdu Yaxin Network Security Industry Technology Research Institute Co., Ltd. Address before: 210013 Nanjing, Jiangsu, Gulou District, Gulou 4 drum tower, Zijin Chi Meng Garden, block B. Applicant before: Asialnfo Technology (Nanjing) Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |