首页 / 专利库 / 人工智能 / 关联性分析 / 一种基于网络数据包提取文件的方法

一种基于网络数据包提取文件的方法

阅读:248发布:2020-05-08

专利汇可以提供一种基于网络数据包提取文件的方法专利检索,专利查询,专利分析的服务。并且本 发明 公开一种基于网络数据包提取文件的方法,通过模拟HTTP客户端,将远端资源服务的应答数据转换为虚拟HTTP客户端的 请求 数据,将远端资源服务TCP会话与虚拟HTTP客户端TCP会话建立起关联性,也就是建立2个TCP会话间的SEQ、ACK的映射关系。本发明提供一种基于网络数据包提取文件的方法,直接分析网络数据包,提取TCP及HTTP的会话数据后,模拟HTTP客户端的请求应答,将网络数据包直接转发到HTTP 服务器 ,由HTTP服务器存储数据;无需借助大量额外存储或带宽,通过模拟HTTP会话,可以实时提取网络数据包内容,具有实时性,并且节省了存储和带宽资源。,下面是一种基于网络数据包提取文件的方法专利的具体信息内容。

1.一种基于网络数据包提取文件的方法,其特征在于,包括以下步骤:
S1:分析接收的网络数据包,提取数据包的TCP四元组,若同一TCP会话已经存在于会话表HTS中,直接转到步骤S6,若同一TCP会话不存在于会话表HTS中,转到步骤S2;
S2:从会话表HTS中读取网络数据包进行HTTP头解析,如果是HTTP请求,且方法是GET,则将该数据包暂存到临时会话表HTL中;如果是HTTP应答,且同一TCP会话已经存在临时会话表HTL中,则将该数据包暂存到临时会话表HTL中;
S3:通过握手请求与应答,模拟出虚拟HTTP客户端与接收HTTP服务器的TCP会话,得到会话表HTT;
S4:从临时会话表HTL提取HTTP请求包和应答包,将HTTP应答包的TCP四元组、SEQ及ACK存入会话表HTS,与会话表HTT中的TCP四元组、SEQ及ACK,建立映射规则;
S5:将HTTP应答包转换为HTTP请求包,其请求方法为PUT,其URL为HTTP请求包中的URL;
S6:依据映射规则,将HTTP请求包中TCP报文的数据进行替换,转换为虚拟HTTP客户端会话,将重构后的数据包发送给HTTP服务器,并更新会话表HTT;
S7:接收HTTP服务器的TCP报文,结束终止报文时,依据网络协议规范结束该会话,清除会话表HTT及HTS记录。
2.根据权利要求1所述的一种基于网络数据包提取文件的方法,其特征在于,步骤S1中的TCP四元组分别为源IP地址、源端口、目的IP地址和目的端口。
3.根据权利要求2所述的一种基于网络数据包提取文件的方法,其特征在于,所述HTTP应答的应答码是200或206。
4.根据权利要求3所述的一种基于网络数据包提取文件的方法,其特征在于,步骤S3模拟出虚拟HTTP客户端与接收HTTP服务器的TCP会话步骤为:
S31:构建TCP的握手请求报文,目标地址是HTTP服务器的IP地址,目标端口是HTTP服务器的监听端口;
S32:将TCP的握手请求报文发送给HTTP服务器;
S33:收到HTTP服务器的TCP握手应答;
S34:构建TCP的握手请求报文,发送给HTTP服务器;
S35:将TCP四元组、SEQ及ACK存入会话表HTT,得到会话表HTT。
5.根据权利要求4所述的一种基于网络数据包提取文件的方法,其特征在于,步骤S31的TCP标志为SYN。
6.根据权利要求5所述的一种基于网络数据包提取文件的方法,其特征在于,步骤S33的TCP标志为SYN+ACK。
7.根据权利要求6所述的一种基于网络数据包提取文件的方法,其特征在于,步骤S34的TCP标志为ACK。
8.根据权利要求7所述的一种基于网络数据包提取文件的方法,其特征在于,步骤S4中的HTTP应答包的TCP四元组和会话表HTT中的TCP四元组不同,需要将远端资源服务TCP会话中的SEQ转换为虚拟HTTP客户端TCP会话的SEQ。
9.根据权利要求8所述的一种基于网络数据包提取文件的方法,其特征在于,步骤S6中的映射规则为:
seqa2-seqa1=seqr2-seqr1
Seqa3-seqa2=seqr3-seqr2
Seqa1、seqa2、seqa3依次为网络数据包TCP会话的SEQ
Seqr1、seqr2、seqr3依次为虚拟HTTP客户端TCP会话的SEQ。
10.根据权利要求9所述的一种基于网络数据包提取文件的方法,其特征在于,步骤S6中,依据映射规则,利用会话表HTT对应关系将网络数据包其TCP报文中的IP地址、端口号、SEQ、ACK替换为虚拟HTTP客户端TCP报文,从而转换为HTTP客户端会话,将重构后的数据包发送给HTTP服务器,并更新映射表HTT中的SEQ及ACK。

说明书全文

一种基于网络数据包提取文件的方法

技术领域

[0001] 本发明涉及网络通信技术领域,具体地,涉及一种基于网络数据包提取文件的方法。

背景技术

[0002] 近年来随着互联网的发展,互联网用户数、互联网应用种类、网络带宽等都呈现出爆炸式的增长。宽带运营商的网络建设的指导方针已经从传统的面向基础设施建设转变为面向应用需求。通过采集和归并网络数据,不仅可以帮助运营商加强互联网的安全管理,而且通过数据分析和处理提高业务质量和增强用户的体验感,构建更快速更优质的网络。
[0003] 目前网络数据的提取通常采取先提取资源路径,然后根据需要再次访问获取,不仅额外消耗带宽资源,而且不具有实时性;而且有些数据无法二次获取到;网络数据的提取也可以采用数据镜像方式,将数据转储到存储设备上,再解析会话还原提取数据,不仅不具备实时性,而且由于复杂的网络环境会导致处理速度缓慢甚至提取失败。

发明内容

[0004] 本发明为解决现有网络数据的提取不具有实时性的问题,提供一种基于网络数据包提取文件的方法。
[0005] 为实现以上发明目的,采用的技术方案是:
[0006] 一种基于网络数据包提取文件的方法,包括以下步骤:
[0007] S1:分析接收的网络数据包,提取数据包的TCP四元组,若同一TCP会话已经存在于会话表HTS中,直接转到步骤S6,若同一TCP会话不存在于会话表HTS中,转到步骤S2;
[0008] S2:从会话表HTS中读取网络数据包进行HTTP头解析,如果是HTTP请求,且方法是GET,则将该数据包暂存到临时会话表HTL中;如果是HTTP应答,且同一TCP会话已经存在临时会话表HTL中,则将该数据包暂存到临时会话表HTL中;
[0009] S3:通过握手请求与应答,模拟出虚拟HTTP客户端与接收HTTP服务器的TCP会话,得到会话表HTT;
[0010] S4:从临时会话表HTL提取HTTP请求包和应答包,将HTTP应答包的TCP四元组、SEQ及ACK存入会话表HTS,与会话表HTT中的TCP四元组、SEQ及ACK,建立映射规则;
[0011] S5:将HTTP应答包转换为HTTP请求包,其请求方法为PUT,其URL为HTTP请求包中的URL;
[0012] S6:依据映射规则,将HTTP请求包中TCP报文的数据进行替换,转换为虚拟HTTP客户端会话,将重构后的数据包发送给HTTP服务器,并更新会话表HTT;
[0013] S7:接收HTTP服务器的TCP报文,结束终止报文时,依据网络协议规范结束该会话,清除会话表HTT及HTS记录。
[0014] 步骤S1中的TCP四元组分别为源IP地址、源端口、目的IP地址和目的端口。
[0015] 所述HTTP应答的应答码是200或206。
[0016] 步骤S3模拟出虚拟HTTP客户端与接收HTTP服务器的TCP会话步骤为:
[0017] S31:构建TCP的握手请求报文,目标地址是HTTP服务器的IP地址,目标端口是HTTP服务器的监听端口;
[0018] S32:将TCP的握手请求报文发送给HTTP服务器;
[0019] S33:收到HTTP服务器的TCP握手应答;
[0020] S34:构建TCP的握手请求报文,发送给HTTP服务器;
[0021] S35:将TCP四元组、SEQ及ACK存入会话表HTT,得到会话表HTT。
[0022] 步骤S31的TCP标志为SYN。
[0023] 步骤S33的TCP标志为SYN+ACK。
[0024] 步骤S34的TCP标志为ACK。
[0025] 步骤S4中的HTTP应答包的TCP四元组和会话表HTT中的TCP四元组不同,需要将远端资源服务TCP会话中的SEQ转换为虚拟HTTP客户端TCP会话的SEQ。
[0026] 步骤S6中的映射规则为:
[0027] seqa2-seqa1=seqr2-seqr1
[0028] Seqa3-seqa2=seqr3-seqr2
[0029] Seqa1、seqa2、seqa3依次为网络数据包TCP会话的SEQ
[0030] Seqr1、seqr2、seqr3依次为虚拟HTTP客户端TCP会话的SEQ。
[0031] 步骤S6中,依据映射规则,利用会话表HTT对应关系将网络数据包其TCP报文中的IP地址、端口号、SEQ、ACK替换为虚拟HTTP客户端TCP报文,从而转换为HTTP客户端会话,将重构后的数据包发送给HTTP服务器,并更新映射表HTT中的SEQ及ACK。
[0032] 通过模拟HTTP客户端,将远端资源服务的应答数据转换为虚拟HTTP客户端的请求数据,将远端资源服务TCP会话与虚拟HTTP客户端TCP会话建立起关联性,也就是建立2个TCP会话间的SEQ、ACK的映射关系。
[0033] 与现有技术相比,本发明的有益效果是:
[0034] 本发明提供一种基于网络数据包提取文件的方法,直接分析网络数据包,提取TCP及HTTP的会话数据后,模拟HTTP客户端的请求应答,将网络数据包直接转发到HTTP服务器,由HTTP服务器存储数据;无需借助大量额外存储或带宽,通过模拟HTTP会话,可以实时提取网络数据包内容,具有实时性,并且节省了存储和带宽资源。附图说明
[0035] 图1为该发明的方法流程图
[0036] 图2为该发明的数据包解析流程图。

具体实施方式

[0037] 附图仅用于示例性说明,不能理解为对本专利的限制;
[0038] 以下结合附图和实施例对本发明做进一步的阐述。
[0039] 实施例1
[0040] 一种基于网络数据包提取文件的方法,包括以下步骤:
[0041] S1:分析接收的网络数据包,提取数据包的TCP四元组,若同一TCP会话已经存在于会话表HTS中,直接转到步骤S6,若同一TCP会话不存在于会话表HTS中,转到步骤S2;
[0042] S2:从会话表HTS中读取网络数据包进行HTTP头解析,如果是HTTP请求,且方法是GET,则将该数据包暂存到临时会话表HTL中;如果是HTTP应答,且同一TCP会话已经存在临时会话表HTL中,则将该数据包暂存到临时会话表HTL中;
[0043] S3:通过握手请求与应答,模拟出虚拟HTTP客户端与接收HTTP服务器的TCP会话,得到会话表HTT;
[0044] S4:从临时会话表HTL提取HTTP请求包和应答包,将HTTP应答包的TCP四元组、SEQ及ACK存入会话表HTS,与会话表HTT中的TCP四元组、SEQ及ACK,建立映射规则;
[0045] S5:将HTTP应答包转换为HTTP请求包,其请求方法为PUT,其URL为HTTP请求包中的URL;
[0046] S6:依据映射规则,将HTTP请求包中TCP报文的数据进行替换,转换为虚拟HTTP客户端会话,将重构后的数据包发送给HTTP服务器,并更新会话表HTT;
[0047] S7:接收HTTP服务器的TCP报文,结束终止报文时,依据网络协议规范结束该会话,清除会话表HTT及HTS记录。
[0048] 步骤S1中的TCP四元组分别为源IP地址、源端口、目的IP地址和目的端口。
[0049] 所述HTTP应答的应答码是200或206。
[0050] 步骤S3模拟出虚拟HTTP客户端与接收HTTP服务器的TCP会话步骤为:
[0051] S31:构建TCP的握手请求报文,目标地址是HTTP服务器的IP地址,目标端口是HTTP服务器的监听端口;
[0052] S32:将TCP的握手请求报文发送给HTTP服务器;
[0053] S33:收到HTTP服务器的TCP握手应答;
[0054] S34:构建TCP的握手请求报文,发送给HTTP服务器;
[0055] S35:将TCP四元组、SEQ及ACK存入会话表HTT,得到会话表HTT。
[0056] 步骤S31的TCP标志为SYN。
[0057] 步骤S33的TCP标志为SYN+ACK。
[0058] 步骤S34的TCP标志为ACK。
[0059] 步骤S4中的HTTP应答包的TCP四元组和会话表HTT中的TCP四元组不同,需要将远端资源服务TCP会话中的SEQ转换为虚拟HTTP客户端TCP会话的SEQ。
[0060] 步骤S6中的映射规则为:
[0061] seqa2-seqa1=seqr2-seqr1
[0062] Seqa3-seqa2=seqr3-seqr2
[0063] Seqa1、seqa2、seqa3依次为网络数据包TCP会话的SEQ
[0064] Seqr1、seqr2、seqr3依次为虚拟HTTP客户端TCP会话的SEQ。
[0065] 步骤S6中,依据映射规则,利用会话表HTT对应关系将网络数据包其TCP报文中的IP地址、端口号、SEQ、ACK替换为虚拟HTTP客户端TCP报文,从而转换为HTTP客户端会话,将重构后的数据包发送给HTTP服务器,并更新映射表HTT中的SEQ及ACK。
[0066] 通过模拟HTTP客户端,将远端资源服务的应答数据转换为虚拟HTTP客户端的请求数据,将远端资源服务TCP会话与虚拟HTTP客户端TCP会话建立起关联性,也就是建立2个TCP会话间的SEQ、ACK的映射关系。
[0067] 实施例2
[0068] 本实施例在FreeBSD操作系统内核协议栈上以内核模方式实现了基于网络数据包提取文件的方法,新构建的数据包提取模块通过钩子方式挂接到IP层,模拟出的TCP/HTTP会话处理等均由操作系统自身的协议栈处理模块以及应用层的HTTP服务器完成。
[0069] 步骤101,数据包分析模块接收被采集的客户端与服务器端的流量数据包,分离出TCP数据包,解析出TCP四元组信息;
[0070] 步骤102,数据包分析模块查找会话表HTS,如果是当前正在处理的会话,则将数据包转给TCP转换模块;
[0071] 步骤103,数据包分析模块继续分析数据包,如果不是HTTP请求和应答包,丢弃该数据包;
[0072] 步骤104,如果是HTTP请求头,则保存该数据包到临时会话表HTL,结束处理;
[0073] 步骤105,如果是HTTP应答头,查找临时会话表HTL,如果未找到,结束处理;如找到将HTTP应答头保存到临时会话表HTL;
[0074] 步骤106,虚拟HTTP客户端模块,与HTTP服务器建立TCP连接,将TCP会话记入会话表HTT;
[0075] 步骤107,虚拟HTTP客户端模块从临时会话表HTL中提取HTTP请求和应答头,将HTTP应答头更改为请求头,请求方法为PUT,URL为原HTTP请求头中的URL;
[0076] 步骤108,虚拟HTTP客户端模块调用TCP转换模块,将数据包发送给HTTP服务器;
[0077] 虚拟HTTP客户端模块处理与HTTP服务器之间的交互。
[0078] 实施例3
[0079] 原请求头示例:
[0080] GET/a.tar HTTP/1.1
[0081] Host:example.com
[0082] Accept:*/*。
[0083] 实施例4
[0084] 原应答头示例:
[0085] HTTP/1.1 200 OK
[0086] Content-Length:3563520
[0087] [数据....]。
[0088] 实施例5
[0089] 转换请求包示例:
[0090] PUT/a.tar HTTP/1.1
[0091] Content-Length:3563520
[0092] [数据....]。
[0093] 显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈