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

技术编号:23860519 阅读:83 留言:0更新日期:2020-04-18 13:34
本发明专利技术公开一种基于网络数据包提取文件的方法,通过模拟HTTP客户端,将远端资源服务的应答数据转换为虚拟HTTP客户端的请求数据,将远端资源服务TCP会话与虚拟HTTP客户端TCP会话建立起关联性,也就是建立2个TCP会话间的SEQ、ACK的映射关系。本发明专利技术提供一种基于网络数据包提取文件的方法,直接分析网络数据包,提取TCP及HTTP的会话数据后,模拟HTTP客户端的请求应答,将网络数据包直接转发到HTTP服务器,由HTTP服务器存储数据;无需借助大量额外存储或带宽,通过模拟HTTP会话,可以实时提取网络数据包内容,具有实时性,并且节省了存储和带宽资源。

A method of extracting files based on network packets

【技术实现步骤摘要】
一种基于网络数据包提取文件的方法
本专利技术涉及网络通信
,具体地,涉及一种基于网络数据包提取文件的方法。
技术介绍
近年来随着互联网的发展,互联网用户数、互联网应用种类、网络带宽等都呈现出爆炸式的增长。宽带运营商的网络建设的指导方针已经从传统的面向基础设施建设转变为面向应用需求。通过采集和归并网络数据,不仅可以帮助运营商加强互联网的安全管理,而且通过数据分析和处理提高业务质量和增强用户的体验感,构建更快速更优质的网络。目前网络数据的提取通常采取先提取资源路径,然后根据需要再次访问获取,不仅额外消耗带宽资源,而且不具有实时性;而且有些数据无法二次获取到;网络数据的提取也可以采用数据镜像方式,将数据转储到存储设备上,再解析会话还原提取数据,不仅不具备实时性,而且由于复杂的网络环境会导致处理速度缓慢甚至提取失败。
技术实现思路
本专利技术为解决现有网络数据的提取不具有实时性的问题,提供一种基于网络数据包提取文件的方法。为实现以上专利技术目的,采用的技术方案是:一种基于网络数据包提取文件的方法,包括以下步骤: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记录。步骤S1中的TCP四元组分别为源IP地址、源端口、目的IP地址和目的端口。所述HTTP应答的应答码是200或206。步骤S3模拟出虚拟HTTP客户端与接收HTTP服务器的TCP会话步骤为:S31:构建TCP的握手请求报文,目标地址是HTTP服务器的IP地址,目标端口是HTTP服务器的监听端口;S32:将TCP的握手请求报文发送给HTTP服务器;S33:收到HTTP服务器的TCP握手应答;S34:构建TCP的握手请求报文,发送给HTTP服务器;S35:将TCP四元组、SEQ及ACK存入会话表HTT,得到会话表HTT。步骤S31的TCP标志为SYN。步骤S33的TCP标志为SYN+ACK。步骤S34的TCP标志为ACK。步骤S4中的HTTP应答包的TCP四元组和会话表HTT中的TCP四元组不同,需要将远端资源服务TCP会话中的SEQ转换为虚拟HTTP客户端TCP会话的SEQ。步骤S6中的映射规则为:seqa2-seqa1=seqr2-seqr1Seqa3-seqa2=seqr3-seqr2Seqa1、seqa2、seqa3依次为网络数据包TCP会话的SEQSeqr1、seqr2、seqr3依次为虚拟HTTP客户端TCP会话的SEQ。步骤S6中,依据映射规则,利用会话表HTT对应关系将网络数据包其TCP报文中的IP地址、端口号、SEQ、ACK替换为虚拟HTTP客户端TCP报文,从而转换为HTTP客户端会话,将重构后的数据包发送给HTTP服务器,并更新映射表HTT中的SEQ及ACK。通过模拟HTTP客户端,将远端资源服务的应答数据转换为虚拟HTTP客户端的请求数据,将远端资源服务TCP会话与虚拟HTTP客户端TCP会话建立起关联性,也就是建立2个TCP会话间的SEQ、ACK的映射关系。与现有技术相比,本专利技术的有益效果是:本专利技术提供一种基于网络数据包提取文件的方法,直接分析网络数据包,提取TCP及HTTP的会话数据后,模拟HTTP客户端的请求应答,将网络数据包直接转发到HTTP服务器,由HTTP服务器存储数据;无需借助大量额外存储或带宽,通过模拟HTTP会话,可以实时提取网络数据包内容,具有实时性,并且节省了存储和带宽资源。附图说明图1为该专利技术的方法流程图;图2为该专利技术的数据包解析流程图。具体实施方式附图仅用于示例性说明,不能理解为对本专利的限制;以下结合附图和实施例对本专利技术做进一步的阐述。实施例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记录。步骤S1中的TCP四元组分别为源IP地址、源端口、目的IP地址和目的端口。所述HTTP应答的应答码是200或206。步骤S3模拟出虚拟HTTP客户端与接收HTTP服务器的TCP会话步骤为:S31:构建TCP的握手请求报文,目标地址是HTTP服务器的IP地址,目标端口是HTTP服务器的监听端口;S32:将TCP的握手请求报文发送给HTTP服务器;S33:收到HTTP服务器的TCP握手应答;S34:构建TCP的握手请求报文本文档来自技高网...

【技术保护点】
1.一种基于网络数据包提取文件的方法,其特征在于,包括以下步骤:/nS1:分析接收的网络数据包,提取数据包的TCP四元组,若同一TCP会话已经存在于会话表HTS中,直接转到步骤S6,若同一TCP会话不存在于会话表HTS中,转到步骤S2;/nS2:从会话表HTS中读取网络数据包进行HTTP头解析,如果是HTTP请求,且方法是GET,则将该数据包暂存到临时会话表HTL中;如果是HTTP应答,且同一TCP会话已经存在临时会话表HTL中,则将该数据包暂存到临时会话表HTL中;/nS3:通过握手请求与应答,模拟出虚拟HTTP客户端与接收HTTP服务器的TCP会话,得到会话表HTT;/nS4:从临时会话表HTL提取HTTP请求包和应答包,将HTTP应答包的TCP四元组、SEQ及ACK存入会话表HTS,与会话表HTT中的TCP四元组、SEQ及ACK,建立映射规则;/nS5:将HTTP应答包转换为HTTP请求包,其请求方法为PUT,其URL为HTTP请求包中的URL;/nS6:依据映射规则,将HTTP请求包中TCP报文的数据进行替换,转换为虚拟HTTP客户端会话,将重构后的数据包发送给HTTP服务器,并更新会话表HTT;/nS7:接收HTTP服务器的TCP报文,结束终止报文时,依据网络协议规范结束该会话,清除会话表HTT及HTS记录。/n...

【技术特征摘要】
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的握手请求报文,目标地址是HT...

【专利技术属性】
技术研发人员:孟令波
申请(专利权)人:广州辰河质检技术有限公司
类型:发明
国别省市:广东;44

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

1