一种TCP长连接非完整流量的数据分析方法技术

技术编号:27454658 阅读:21 留言:0更新日期:2021-02-25 04:50
本发明专利技术公开了一种TCP长连接非完整流量的数据分析方法,具体涉及网络技术领域,具体分析步骤如下:S1、数据分流:S1.1:使用TCP连接数据,若其中包含完整的握手信息则进入正常的TCP协议解析流程。本发明专利技术用于行为审计和风险发现的信息源时,在网络流量数据中还原出应用层协议的完整会话行为,在丢包状态下只对数据缓存,只有当数据量达到一定数量时,再对丢包不能处理的数据进行丢弃处理,同时对已经缓存的数据,能够处理的连续数据进行连续处理,可看到未知系统服务上的数据流动,用于发现数据流动关联的信息源,从而解决对于镜像流量中存在丢包的情况,进行协议识别,解析并还原出有效数据。效数据。效数据。

【技术实现步骤摘要】
一种TCP长连接非完整流量的数据分析方法


[0001]本专利技术涉及网络技术
,更具体地说,本专利技术涉及一种TCP长连接非完整流量的数据分析方法。

技术介绍

[0002]常见的审计系统,通常采用网络流量镜像的方式获取客户端和服务端之间的通信流量;对于流量较小的服务系统;这些流量可能是网络客户端和服务端直接通信的流量;对于流量较大的系统,通常单台服务系统不能完成服务,而是由多台服务通过代理的方式来均摊提供服务,前面会有一个负载均衡的服务器。负载均衡器和真正服务之间的TCP连接通常是长连接,维持时间可能长达数小时,甚至数天。当前镜像流量都需要使用镜像设备才能将通信流量镜像到新的设备上,而镜像过程当中不可避免的会产生流量的丢失;而当前大部分镜像流量上的协议解析都需要基于完整的TCP完整的会好连接,对于已经建立的会话上传输的数据,或者存在丢包的数据,一般都采取忽略的方式不在处理,从而导致当前建立连接的流量以及存在丢包的连接流量的丢失。

技术实现思路

[0003]为了克服现有技术的上述缺陷,本专利技术的实施例提供一种TCP长连接非完整流量的数据分析方法,本专利技术所要解决的技术问题是:如何解决现有数据分析技术中的部分丢包信息丢失造成的数据不完整问题。
[0004]为实现上述目的,本专利技术提供如下技术方案:一种TCP长连接非完整流量的数据分析方法,具体分析步骤如下:
[0005]S1、数据分流:
[0006]S1.1:使用TCP连接数据,若其中包含完整的握手信息则进入正常的TCP协议解析流程;
[0007]S1.2:对于不包含握手信息的TCP连接数据,根据四元组信息建立会话,并缓存数据,并将该TCP连接状态置位缓存状态;
[0008]S1.3:对于存在丢包的TCP连接,将该TCP置为丢包状态;
[0009]S2:对于缓存状态和丢包状态的TCP连接,对于payload,会附带tcp的seq,ack进行应用层协议的试探解析;
[0010]S3:若应用层能够解析成功,解析成功的应用层request和response会附带payload的首个数据包的seq及ack信息,并对这些信息进行缓存;
[0011]S4:每解析成功一次应用层协议,则对应用层的request及response进行一次匹配,如果匹配成功,则认为流量可进行连续处理;
[0012]S5:更新底层的TCP连接状态。
[0013]在一个优选地实施方式中,所述步骤S1.2中四元组信息设置为源IP、源端口、目的IP和目的端口。
[0014]在一个优选地实施方式中,所述步骤S1.1中对TCP数据包根据四元组信息进行缓存。
[0015]在一个优选地实施方式中,所述对payload进行应用层协议的试探解析,解析成功后,将对应的request或response缓存再应用层的解析结果当中。
[0016]在一个优选地实施方式中,所述对解析成功的应用层request及response进行匹配判断;匹配的依据是对于连续的payload,有两个request当中有一个response,或者两个response当中有一个request;判断request和response的先后顺序借助tcp的seq及ack进行大小判断。
[0017]在一个优选地实施方式中,所述应用层request及response能够匹配成功后,则将底层TCP连接状态转换为正常连接状态。
[0018]在一个优选地实施方式中,所述发现数据丢包,则将TCP连接状态转换为丢包状态。
[0019]在一个优选地实施方式中,所述在丢包状态下只对数据缓存,只有当数据量达到一定数量时,再对丢包不能处理的数据进行丢弃处理,同时对已经缓存的数据,能够处理的连续数据进行连续处理。
[0020]本专利技术的技术效果和优点:
[0021]本专利技术用于行为审计和风险发现的信息源时,在网络流量数据中还原出应用层协议的完整会话行为,在丢包状态下只对数据缓存,只有当数据量达到一定数量时,再对丢包不能处理的数据进行丢弃处理,同时对已经缓存的数据,能够处理的连续数据进行连续处理,可看到未知系统服务上的数据流动,用于发现数据流动关联的信息源,从而解决对于镜像流量中存在丢包的情况,进行协议识别,解析并还原出有效数据。
附图说明
[0022]图1为本专利技术的整体工作流程示意图。
[0023]图2为本专利技术的通信传达示意图。
具体实施方式
[0024]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0025]本专利技术提供了一种TCP长连接非完整流量的数据分析方法,具体分析步骤如下:
[0026]S1、数据分流:
[0027]S1.1:使用TCP连接数据,若其中包含完整的握手信息则进入正常的TCP协议解析流程;
[0028]S1.2:对于不包含握手信息的TCP连接数据,根据四元组信息建立会话,并缓存数据,并将该TCP连接状态置位缓存状态;
[0029]S1.3:对于存在丢包的TCP连接,将该TCP置为丢包状态;
[0030]S2:对于缓存状态和丢包状态的TCP连接,对于payload,会附带tcp的seq,ack进行
应用层协议的试探解析;
[0031]S3:若应用层能够解析成功,解析成功的应用层request和response会附带payload的首个数据包的seq及ack信息,并对这些信息进行缓存;
[0032]S4:每解析成功一次应用层协议,则对应用层的request及response进行一次匹配,如果匹配成功,则认为流量可进行连续处理;
[0033]S5:更新底层的TCP连接状态。
[0034]所述步骤S1.2中四元组信息设置为源IP、源端口、目的IP和目的端口,所述步骤S1.1中对TCP数据包根据四元组信息进行缓存,所述对payload进行应用层协议的试探解析,解析成功后,将对应的request或response缓存再应用层的解析结果当中,所述对解析成功的应用层request及response进行匹配判断;匹配的依据是对于连续的payload,有两个request当中有一个response,或者两个response当中有一个request;判断request和response的先后顺序借助tcp的seq及ack进行大小判断,所述应用层request及response能够匹配成功后,则将底层TCP连接状态转换为正常连接状态,所述发现数据丢包,则将TCP连接状态转换为丢包状态,所述在丢包状态下只对数据缓存,只有当数据量达到一定数量时,再对丢包不能处理的数据进行丢弃处理,同时对已经缓存的数据,能够处理的连续数据进行连续处理。
...

【技术保护点】

【技术特征摘要】
1.一种TCP长连接非完整流量的数据分析方法,其特征在于:具体分析步骤如下:S1、数据分流:S1.1:使用TCP连接数据,若其中包含完整的握手信息则进入正常的TCP协议解析流程;S1.2:对于不包含握手信息的TCP连接数据,根据四元组信息建立会话,并缓存数据,并将该TCP连接状态置位缓存状态;S1.3:对于存在丢包的TCP连接,将该TCP置为丢包状态;S2:对于缓存状态和丢包状态的TCP连接,对于payload,会附带tcp的seq,ack进行应用层协议的试探解析;S3:若应用层能够解析成功,解析成功的应用层request和response会附带payload的首个数据包的seq及ack信息,并对这些信息进行缓存;S4:每解析成功一次应用层协议,则对应用层的request及response进行一次匹配,如果匹配成功,则认为流量可进行连续处理;S5:更新底层的TCP连接状态。2.根据权利要求1所述的一种TCP长连接非完整流量的数据分析方法,其特征在于:所述步骤S1.2中四元组信息设置为源IP、源端口、目的IP和目的端口。3.根据权利要求1所述的一种TCP长连接非完整流量的数据分析方法,其特征在于:所述步骤S1.1中对TCP数据包根据四元组信息进行缓存。4.根据权利要求1所述的一...

【专利技术属性】
技术研发人员:陈明
申请(专利权)人:全知科技杭州有限责任公司
类型:发明
国别省市:

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

1