CN117938542B - 一种网络流量数据的方向确定方法、装置、设备及介质 - Google Patents

一种网络流量数据的方向确定方法、装置、设备及介质 Download PDF

Info

Publication number
CN117938542B
CN117938542B CN202410311535.4A CN202410311535A CN117938542B CN 117938542 B CN117938542 B CN 117938542B CN 202410311535 A CN202410311535 A CN 202410311535A CN 117938542 B CN117938542 B CN 117938542B
Authority
CN
China
Prior art keywords
network traffic
traffic data
determining
data
network
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.)
Active
Application number
CN202410311535.4A
Other languages
English (en)
Other versions
CN117938542A (zh
Inventor
关营
童兆丰
赵林林
薛锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ThreatBook Technology Co Ltd
Original Assignee
Beijing ThreatBook Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing ThreatBook Technology Co Ltd filed Critical Beijing ThreatBook Technology Co Ltd
Priority to CN202410311535.4A priority Critical patent/CN117938542B/zh
Publication of CN117938542A publication Critical patent/CN117938542A/zh
Application granted granted Critical
Publication of CN117938542B publication Critical patent/CN117938542B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开提供了一种网络流量数据的方向确定方法、装置、设备及介质,其中,该方法包括:获取通过旁路设备接收的在客户端和服务端之间传输的多个网络流量数据;对每个网络流量数据进行方向确定性检测,确定多个网络流量数据中的多个能够确定流量方向的第一网络流量数据和至少一个不能够确定流量方向的第二网络流量数据,所述流量方向包括从客户端发送至服务端的第一方向或者从服务端发送至客户端的第二方向;针对每个第一网络流量数据,基于第一网络流量数据的流量传输信息,确定第一网络流量数据的流量方向;针对每个第二网络流量数据,基于各个第一网络流量数据的流量属性信息和第二网络流量数据的流量属性信息,确定第二网络流量数据的流量方向。

Description

一种网络流量数据的方向确定方法、装置、设备及介质
技术领域
本公开涉及互联网技术领域,具体而言,涉及一种网络流量数据的方向确定方法、装置、设备及介质。
背景技术
在网络流量数据传输过程中,为了保障网络安全,常常需要对网络流量数据传输进行监控。常见的网络监控模式可以分为两种:一种是串联监控模式,另一种是旁路监控模式。串联模式一般是通过将网关、网桥或者代理服务器等串联设备,串联在网络中来进行监控,因此数据在发出后必须先经过串联设备的分析之后,才能够发送到接收端,这种模式易导致传输延时。旁路监控模式是指通过交换机等网络设备的端口镜像功能来实现监控,在此模式下,旁路设备只需要连接到交换机的指定镜像端口,对镜像端口拷贝过来的数据进行分析,不会对数据传输造成影响,因此逐渐成为当下主流的网络监控模式。
然而,在旁路监控模式下,旁路设备只能够被动接收网络流量数据,无法主动申请重新接收数据,因此在镜像时出现报文不全、设备本身丢包等情况下,就无法确定出网络流量数据的流量方向,从而影响对于网络流量数据的分析效果。
发明内容
本公开实施例至少提供一种网络流量数据的方向确定方法、装置、设备及介质。
本公开实施例提供了一种网络流量数据的方向确定方法,所述方法包括:
获取通过旁路设备接收的在客户端和服务端之间传输的多个网络流量数据;
对每个所述网络流量数据进行方向确定性检测,确定所述多个网络流量数据中的多个第一网络流量数据和至少一个第二网络流量数据,其中,所述第一网络流量数据为能够确定流量方向的网络流量数据,所述第二网络流量数据为不能够确定流量方向的网络流量数据;所述流量方向包括从所述客户端发送至所述服务端的第一方向或者从所述服务端发送至所述客户端的第二方向;
针对每个所述第一网络流量数据,基于所述第一网络流量数据的流量传输信息,确定所述第一网络流量数据的流量方向;
针对每个所述第二网络流量数据,基于各个所述第一网络流量数据的流量属性信息和所述第二网络流量数据的流量属性信息,确定所述第二网络流量数据的流量方向。
一种可选的实施方式中,所述方法还包括:
确定每个所述网络流量数据对应的传输协议,不同的传输协议对应不同的方向确定性检测方式;
所述对每个所述网络流量数据进行方向确定性检测,确定所述多个网络流量数据中的多个第一网络流量数据和至少一个第二网络流量数据,包括:
按照所述传输协议对应的方向确定性检测方式,对每个所述网络流量数据进行方向确定性检测,确定所述多个网络流量数据中的多个第一网络流量数据和至少一个第二网络流量数据。
一种可选的实施方式中,所述传输协议包括传输控制协议,所述按照所述传输协议对应的方向确定性检测方式,对每个所述网络流量数据进行检测,确定所述多个网络流量数据中的多个第一网络流量数据和至少一个第二网络流量数据,包括:
在所述传输协议为所述传输控制协议的情况下,检测所述网络流量数据是否符合第一条件,所述第一条件指示所述网络流量数据关联有三次握手过程的握手数据、以及所述握手数据符合所述传输控制协议的协议规范;
将符合所述第一条件的网络流量数据确定为所述第一网络流量数据,将不符合所述第一条件的网络流量数据确定为所述第二网络流量数据。
一种可选的实施方式中,所述传输协议包括用户数据报协议,所述按照所述传输协议对应的方向确定性检测方式,对每个所述网络流量数据进行检测,确定所述多个网络流量数据中的多个第一网络流量数据和至少一个第二网络流量数据,包括:
在所述传输协议为所述用户数据报协议的情况下,按照获取网络流量数据的获取时间,遍历每个网络流量数据,直至确定已经获取的多个网络流量数据符合第二条件,所述第二条件指示已经获取的多个网络流量数据的数量大于预设数量,或者已经获取的多个网络流量数据包括的两种传输方向的比例满足预设比例,所述两种传输方向包括从源地址发送至目的地址的第三方向以及从所述目的地址发送至所述源地址的第四方向;
将确定符合所述第二条件的多个网络流量数据确定为所述第一网络流量数据,将除所述第一网络流量数据以外的其他网络流量数据确定为所述第二网络流量数据。
一种可选的实施方式中,所述方法还包括:
确定每个所述网络流量数据对应的传输协议,不同的传输协议对应不同的方向确定方式;
所述基于所述第一网络流量数据的流量传输信息,确定所述第一网络流量数据的流量方向,包括:
按照所述传输协议对应的方向确定方式,基于所述第一网络流量数据的流量传输信息,确定客户端地址和服务端地址;
基于所述第一网络流量数据的流量属性信息、所述客户端地址和所述服务端地址,确定所述第一网络流量数据的流量方向。
一种可选的实施方式中,所述传输协议包括传输控制协议,所述流量传输信息包括所述第一网络流量数据关联的三次握手过程的握手数据,所述按照所述传输协议对应的方向确定方式,基于所述第一网络流量数据的流量传输信息,确定客户端地址和服务端地址,包括:
在所述传输协议为所述传输控制协议的情况下,基于所述第一网络流量数据关联的三次握手过程的握手数据,将首次发起握手的地址确定为所述客户端地址,将除所述客户端地址以外的其他地址确定为所述服务端地址。
一种可选的实施方式中,所述传输协议包括用户数据报协议,所述流量传输信息包括所述第一网络流量数据的传输方向,所述按照所述传输协议对应的方向确定方式,基于所述第一网络流量数据的流量传输信息,确定客户端地址和服务端地址,包括:
在所述传输协议为所述用户数据报协议的情况下,基于各个所述第一网络流量数据的传输方向,确定所述多个第一网络流量数据包括的两种传输方向分别对应的数量;所述传输方向包括从源地址发送至目的地址的第三方向或者从所述目的地址发送至所述源地址的第四方向;
将所述两种传输方向中数量更多的目标传输方向,确定为从所述客户端发送至所述服务端的流量方向;
将所述目标传输方向对应的发起地址确定为所述客户端地址,并将所述目标传输方向对应的接收地址确定为所述服务端地址。
一种可选的实施方式中,所述流量属性信息包括五元组信息,所述基于各个所述第一网络流量数据的流量属性信息和所述第二网络流量数据的流量属性信息,确定所述第二网络流量数据的流量方向,包括:
基于各个所述第一网络流量数据的五元组信息和所述第二网络流量数据的五元组信息,从所述多个第一网络流量数据中确定与所述第二网络流量数据匹配的目标第一网络流量数据;
将所述目标第一网络流量数据的流量方向确定为所述第二网络流量数据的流量方向。
一种可选的实施方式中,所述五元组信息包括源地址、源端口、目的地址、目的端口以及传输协议,所述基于各个所述第一网络流量数据的五元组信息和所述第二网络流量数据的五元组信息,从所述多个第一网络流量数据中确定与所述第二网络流量数据匹配的目标第一网络流量数据,包括:
将所述第二网络流量数据的传输协议、源地址、源端口,分别与各个所述第一网络流量数据的传输协议、目的地址、目的端口进行匹配,得到第一匹配结果,并将所述第二网络流量数据的传输协议、目的地址、目的端口,分别与各个所述第一网络流量数据的传输协议、目的地址、目的端口进行匹配,得到第二匹配结果;
确定所述第一匹配结果和所述第二匹配结果中指示与所述第二网络流量数据匹配成功的目标匹配结果;
将所述目标匹配结果对应的第一网络流量数据确定为与所述第二网络流量数据匹配的目标第一网络流量数据。
本公开实施例还提供一种网络流量数据的方向确定装置,所述装置包括:
数据获取模块,用于获取通过旁路设备接收的在客户端和服务端之间传输的多个网络流量数据;
数据检测模块,用于对每个所述网络流量数据进行检测,确定所述多个网络流量数据中的多个第一网络流量数据和至少一个第二网络流量数据,其中,所述第一网络流量数据为能够确定流量方向的网络流量数据,所述第二网络流量数据为不能够确定流量方向的网络流量数据;所述流量方向包括从所述客户端发送至所述服务端的第一方向或者从所述服务端发送至所述客户端的第二方向;
第一方向确定模块,用于针对每个所述第一网络流量数据,基于所述第一网络流量数据的流量传输信息,确定所述第一网络流量数据的流量方向;
第二方向确定模块,用于针对每个所述第二网络流量数据,基于各个所述第一网络流量数据的流量属性信息和所述第二网络流量数据的流量属性信息,确定所述第二网络流量数据的流量方向。
一种可选的实施方式中,所述装置还包括第一方式确定模块,所述第一方式确定模块用于:
确定每个所述网络流量数据对应的传输协议,不同的传输协议对应不同的方向确定性检测方式;
所述数据检测模块具体用于:
按照所述传输协议对应的方向确定性检测方式,对每个所述网络流量数据进行方向确定性检测,确定所述多个网络流量数据中的多个第一网络流量数据和至少一个第二网络流量数据。
一种可选的实施方式中,所述传输协议包括传输控制协议,所述数据检测模块在用于所述按照所述传输协议对应的方向确定性检测方式,对每个所述网络流量数据进行检测,确定所述多个网络流量数据中的多个第一网络流量数据和至少一个第二网络流量数据时,具体用于:
在所述传输协议为所述传输控制协议的情况下,检测所述网络流量数据是否符合第一条件,所述第一条件指示所述网络流量数据关联有三次握手过程的握手数据、以及所述握手数据符合所述传输控制协议的协议规范;
将符合所述第一条件的网络流量数据确定为所述第一网络流量数据,将不符合所述第一条件的网络流量数据确定为所述第二网络流量数据。
一种可选的实施方式中,所述传输协议包括用户数据报协议,所述数据检测模块在用于所述按照所述传输协议对应的方向确定性检测方式,对每个所述网络流量数据进行检测,确定所述多个网络流量数据中的多个第一网络流量数据和至少一个第二网络流量数据时,具体用于:
在所述传输协议为所述用户数据报协议的情况下,按照获取网络流量数据的获取时间,遍历每个网络流量数据,直至确定已经获取的多个网络流量数据符合第二条件,所述第二条件指示已经获取的多个网络流量数据的数量大于预设数量,或者已经获取的多个网络流量数据包括的两种传输方向的比例满足预设比例,所述两种传输方向包括从源地址发送至目的地址的第三方向以及从所述目的地址发送至所述源地址的第四方向;
将确定符合所述第二条件的多个网络流量数据确定为所述第一网络流量数据,将除所述第一网络流量数据以外的其他网络流量数据确定为所述第二网络流量数据。
一种可选的实施方式中,所述装置还包括第二方式确定模块,所述第二方式确定模块用于:
确定每个所述网络流量数据对应的传输协议,不同的传输协议对应不同的方向确定方式;
所述第一方向确定模块在用于所述基于所述第一网络流量数据的流量传输信息,确定所述第一网络流量数据的流量方向时,具体用于:
按照所述传输协议对应的方向确定方式,基于所述第一网络流量数据的流量传输信息,确定客户端地址和服务端地址;
基于所述第一网络流量数据的流量属性信息、所述客户端地址和所述服务端地址,确定所述第一网络流量数据的流量方向。
一种可选的实施方式中,所述传输协议包括传输控制协议,所述流量传输信息包括所述第一网络流量数据关联的三次握手过程的握手数据,所述第一方向确定模块在用于所述按照所述传输协议对应的方向确定方式,基于所述第一网络流量数据的流量传输信息,确定客户端地址和服务端地址时,具体用于:
在所述传输协议为所述传输控制协议的情况下,基于所述第一网络流量数据关联的三次握手过程的握手数据,将首次发起握手的地址确定为所述客户端地址,将除所述客户端地址以外的其他地址确定为所述服务端地址。
一种可选的实施方式中,所述传输协议包括用户数据报协议,所述流量传输信息包括所述第一网络流量数据的传输方向,所述第一方向确定模块在用于所述按照所述传输协议对应的方向确定方式,基于所述第一网络流量数据的流量传输信息,确定客户端地址和服务端地址时,具体用于:
在所述传输协议为所述用户数据报协议的情况下,基于各个所述第一网络流量数据的传输方向,确定所述多个第一网络流量数据包括的两种传输方向分别对应的数量;所述传输方向包括从源地址发送至目的地址的第三方向或者从所述目的地址发送至所述源地址的第四方向;
将所述两种传输方向中数量更多的目标传输方向,确定为从所述客户端发送至所述服务端的流量方向;
将所述目标传输方向对应的发起地址确定为所述客户端地址,并将所述目标传输方向对应的接收地址确定为所述服务端地址。
一种可选的实施方式中,所述流量属性信息包括五元组信息,所述第二方向确定模块在用于所述基于各个所述第一网络流量数据的流量属性信息和所述第二网络流量数据的流量属性信息,确定所述第二网络流量数据的流量方向时,具体用于:
基于各个所述第一网络流量数据的五元组信息和所述第二网络流量数据的五元组信息,从所述多个第一网络流量数据中确定与所述第二网络流量数据匹配的目标第一网络流量数据;
将所述目标第一网络流量数据的流量方向确定为所述第二网络流量数据的流量方向。
一种可选的实施方式中,所述五元组信息包括源地址、源端口、目的地址、目的端口以及传输协议,所述第二方向确定模块在用于所述基于各个所述第一网络流量数据的五元组信息和所述第二网络流量数据的五元组信息,从所述多个第一网络流量数据中确定与所述第二网络流量数据匹配的目标第一网络流量数据时,具体用于:
将所述第二网络流量数据的传输协议、源地址、源端口,分别与各个所述第一网络流量数据的传输协议、目的地址、目的端口进行匹配,得到第一匹配结果,并将所述第二网络流量数据的传输协议、目的地址、目的端口,分别与各个所述第一网络流量数据的传输协议、目的地址、目的端口进行匹配,得到第二匹配结果;
确定所述第一匹配结果和所述第二匹配结果中指示与所述第二网络流量数据匹配成功的目标匹配结果;
将所述目标匹配结果对应的第一网络流量数据确定为与所述第二网络流量数据匹配的目标第一网络流量数据。
本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述任一种可能的网络流量数据的方向确定的步骤。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述任一种可能的网络流量数据的方向确定步骤。
本公开实施例提供的网络流量数据的方向确定方法、装置、设备及介质,对于旁路设备接收的在客户端和服务端之间传输的多个网络流量数据,可以对每个网络流量数据进行方向确定性检测,区分出能够确定流量方向的第一网络流量数据以及不能够确定流量方向的第二网络流量数据,这里的流量方向包括从客户端发送至服务端的第一方向或者从服务端发送至客户端的第二方向,进而,针对第一网络流量数据,可以基于第一网络流量数据的流量传输信息,确定第一网络流量数据的流量方向,针对第二网络流量数据,可以基于各个第一网络流量数据的流量属性信息和第二网络流量数据的流量属性信息,确定第二网络流量数据的流量方向。这样,在旁路设备接收到无法确定流量方向的第二网络流量数据的情况下,可以依据能够确定流量方向的第一网络流量数据,补充确定第二网络流量数据的流量方向,从而为后续针对网络流量数据的分析检测提供可靠的依据,避免由于流量方向不完整导致对网络流量数据的分析错误。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开的技术方案。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种应用场景的示意图;
图2示出了本公开实施例所提供的一种网络流量数据的方向确定方法的流程图;
图3示出了本公开实施例所提供的一种确定第一网络流量数据和第二网络流量数据的过程示意图;
图4示出了本公开实施例所提供的一种确定第二网络流量数据的流量方向的过程示意图;
图5示出了本公开实施例所提供的一种网络流量数据的方向确定装置的示意图之一;
图6示出了本公开实施例所提供的一种网络流量数据的方向确定装置的示意图之二;
图7示出了本公开实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
经研究发现,在旁路监控模式下,旁路设备只能够被动接收网络流量数据,无法主动申请重新接收数据,因此旁路设备接收到的网络流量数据可能是不完整的数据。在客户端和服务端之间进行数据传输时,需要按照传输协议进行传输,传输协议一般包括有连接的传输协议和无连接的传输协议。针对有连接的传输协议,客户端会先向服务端发起三次握手,以便与服务端建立连接,在完成三次握手后,客户端和服务端进行数据传输,如果旁路设备是从首次握手就开始接收数据,并且接收数据完整,就可以确定网络流量数据的流量方向,然而由于镜像时报文不全、未从首次握手开始接收数据、设备本身丢包等情况导致旁路设备未接收到完整的三次握手的握手数据,就会导致无法明确网络流量数据的流量方向,从而影响对于网络流量数据的分析效果。针对无连接的传输协议,客户端无需与服务端建立连接,可以直接进行客户端和服务端之间的数据传输,如果旁路设备完整接收到所有数据,就可以确定网络流量数据的流量方向,然而在镜像时报文不全、设备本身丢包等情况下,就无法确定出网络流量数据的流量方向,从而影响对于网络流量数据的分析效果。
基于上述研究,本公开提供了一种网络流量数据的方向确定方法,在旁路设备接收到无法确定流量方向的第二网络流量数据的情况下,可以依据能够确定流量方向的第一网络流量数据,补充确定第二网络流量数据的流量方向,从而为后续针对网络流量数据的分析检测提供可靠的依据,避免由于流量方向不完整导致对网络流量数据的分析错误。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种网络流量数据的方向确定方法进行详细介绍,本公开实施例所提供的网络流量数据的方向确定方法的执行主体一般为具有一定计算能力的电子设备。本实施方式中,该电子设备可以为服务器。其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云存储、大数据和人工智能平台等基础云计算服务的云服务器。
其他实施方式中,该电子设备还可以为终端设备或者其他处理设备,该终端设备可以为移动设备、终端及计算设备等。其它处理设备可以是包括处理器和存储器的设备,在此不做限定。在一些可能的实现方式中,该网络流量数据的方向确定方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面结合附图,对本公开实施例提供的一种网络流量数据的方向确定方法加以说明。
请参阅图1,图1为本公开实施例提供的一种应用场景的示意图。如图1中所示,客户端和服务端之间可以进行数据交互,为了避免客户端和服务端之间的数据传输延时,采用旁路监控模式,将转发设备设置在客户端和服务端之间,转发设备将流经的网络流量数据镜像转发给旁路设备,从而可以通过旁路设备接收到的网络流量数据进行分析检测、威胁检查等。在针对旁路设备接收到的网络流量数据进行分析检测、威胁检查时,需要结合网络流量数据的流量方向进行。
其中,转发设备例如可以是交换机、路由器等,旁路设备例如可以是旁路流量检测设备(Threat Detection Platform,TDP)等。
参见图2所示,为本公开实施例提供的一种网络流量数据的方向确定方法的流程图,如图2中所示,本公开实施例提供的网络流量数据的方向确定方法包括步骤S201~S204,其中:
S201:获取通过旁路设备接收的在客户端和服务端之间传输的多个网络流量数据。
本步骤中,旁路设备可以实时接收到转发设备镜像转发的、在客户端和服务端之间传输的网络流量数据,从而可以获取通过旁路设备接收的在客户端和服务端之间传输的多个网络流量数据。
S202:对每个网络流量数据进行方向确定性检测,确定多个网络流量数据中的多个第一网络流量数据和至少一个第二网络流量数据,其中,第一网络流量数据为能够确定流量方向的网络流量数据,第二网络流量数据为不能够确定流量方向的网络流量数据;流量方向包括从客户端发送至服务端的第一方向或者从服务端发送至客户端的第二方向。
该步骤中,对于旁路设备镜像获得的多个网络流量数据,需要先区分出能够确定流量方向的第一网络流量数据,以及不能够确定流量方向的第二网络流量数据,以便在后续根据第一网络流量数据的流量方向来确定第二网络流量数据的流量方向。
在实际应用中,旁路设备接收到不完整的网络流量数据的概率较小,因此可以确定出大量的第一网络流量数据,以及至少一个第二网络流量数据。
根据前述内容可知,在客户端和服务端之间进行数据传输时,需要按照传输协议进行传输,传输协议一般包括有连接的传输协议和无连接的传输协议。针对有连接的传输协议,客户端会先向服务端发起三次握手,以与服务端建立连接,在完成三次握手后,客户端和服务端进行数据传输。针对无连接的传输协议,客户端无需与服务端建立连接,可以直接进行客户端和服务端之间的数据传输。
相应地,在一些可能的实施方式中,可以确定每个网络流量数据对应的传输协议,不同的传输协议对应不同的方向确定性检测方式。
因此,可以按照传输协议对应的方向确定性检测方式,对每个网络流量数据进行方向确定性检测,确定多个网络流量数据中的多个第一网络流量数据和至少一个第二网络流量数据。
这样,可以确定网络流量数据对应的传输协议,按照传输协议所对应的方向确定性检测方式,对网络流量数据进行方向确定性检测,有助于提升方向确定性检测的效率和准确性。
这里,传输协议包括传输控制协议(Transmission Control Protocol,TCP)以及用户数据报协议(User Datagram Protocol,UDP),TCP是需要先建立连接的协议,UDP是无需建立连接的协议。
在一些可能的实施方式中,在传输协议为传输控制协议的情况下,检测网络流量数据是否符合第一条件,第一条件指示网络流量数据关联有三次握手过程的握手数据、以及握手数据符合传输控制协议的协议规范;将符合第一条件的网络流量数据确定为第一网络流量数据,将不符合第一条件的网络流量数据确定为第二网络流量数据。
上述步骤中,针对每个网络流量数据,可以检测其是否关联有三次握手过程的握手数据、以及检测握手数据是否符合传输控制协议的协议规范,在网络流量数据关联有三次握手过程的握手数据、并且握手数据符合传输控制协议的协议规范的情况下,认为网络流量数据符合第一条件,将符合第一条件的网络流量数据确定为第一网络流量数据。若网络流量数据并未关联有三次握手过程的握手数据或者握手数据不符合传输控制协议的协议规范,则认为网络流量数据不符合第一条件,将不符合第一条件的网络流量数据确定为第二网络流量数据。
可以知道,当客户端向服务端发起连接时,会先向服务端发送用于请求建立连接的数据,这个数据称为SYN数据,如果服务端同意建立连接,则会回复客户端SYN+ACK数据,客户端收到SYN+ACK数据之后,会向服务端发送ACK数据,至此客户端和服务端连接建立,因为这个过程中互相发送了三次数据,所以称之为三次握手。
具体的,针对检测网络流量数据是否关联有三次握手过程的握手数据,可以检测网络流量数据是否关联有SYN数据、SYN+ACK数据,若关联有SYN数据以及SYN+ACK数据,就认为网络流量数据关联有三次握手过程的握手数据,若缺失SYN数据或者SYN+ACK数据,就认为网络流量数据并未关联有三次握手过程的握手数据。
可选地,传输控制协议由RFC793定义,因此检测握手数据是否符合传输控制协议的协议规范,具体的可以检测握手数据是否符合RFC793中对传输控制协议的协议规范。
这样,在传输协议为传输控制协议的情况下,可以结合网络流量数据关联的握手数据来区分第一网络流量数据和第二网络流量数据,有助于保障确定第一网络流量数据和第二网络流量数据的准确性。
在另一些可能的实施方式中,在传输协议为用户数据报协议的情况下,按照获取网络流量数据的获取时间,遍历每个网络流量数据,直至确定已经获取的多个网络流量数据符合第二条件,第二条件指示已经获取的多个网络流量数据的数量大于预设数量,或者已经获取的多个网络流量数据包括的两种传输方向的比例满足预设比例,两种传输方向包括从源地址发送至目的地址的第三方向以及从目的地址发送至源地址的第四方向;将确定符合第二条件的多个网络流量数据确定为第一网络流量数据,将除第一网络流量数据以外的其他网络流量数据确定为第二网络流量数据。
上述步骤中,由于用户数据报协议不会进行前期的握手,因此需要先保存获取到的网络流量数据,在已经获取的多个网络流量数据大于预设数量,或者已经获取的多个网络流量数据包括的两种传输方向的比例满足预设比例的情况下,认为获取的多个网络流量数据已经足够用于判断出流量方向,因此认为已经获取的多个网络流量数据符合第二条件,从而将确定符合第二条件的多个网络流量数据确定为第一网络流量数据,将除第一网络流量数据以外的其他网络流量数据确定为第二网络流量数据。
示例性的,预设数量可以为100,预设比例可以为9:1,预设数量和预设比例的具体数值可以根据方向确定性检测的实际需要而定,在此不做具体限制。
这样,在传输协议为用户数据报协议的情况下,可以结合已经获取的多个网络流量数据的数量或者包括的两种传输方向的比例,来区分第一网络流量数据和第二网络流量数据,有助于保障确定第一网络流量数据和第二网络流量数据的准确性。
示例性的,请同时参阅图3,图3为本公开实施例所提供的一种确定第一网络流量数据和第二网络流量数据的过程示意图。如图3中所示,可以先确定网络流量数据对应的传输协议,从而按照传输协议对应的方向确定性检测方式,检测网络流量数据是否符合预设条件,将符合预设条件的网络流量数据确定为第一网络流量数据,将不符合预设条件的网络流量数据确定为第二网络流量数据。具体的,在传输协议为传输控制协议的情况下,预设条件包括第一条件,第一条件指示网络流量数据关联有三次握手过程的握手数据、以及握手数据符合传输控制协议的协议规范,在传输协议为用户数据报协议的情况下,预设条件包括第二条件,第二条件指示已经获取的多个网络流量数据的数量大于预设数量,或者已经获取的多个网络流量数据包括的两种传输方向的比例满足预设比例。
可选地,在区分出第一网络流量数据和第二网络流量数据后,可以将两种网络流量数据分别存储,以便后续使用。
S203:针对每个第一网络流量数据,基于第一网络流量数据的流量传输信息,确定第一网络流量数据的流量方向。
这里,第一网络流量数据为能够确定流量方向的网络流量数据,可以基于第一网络流量数据的流量传输信息,确定第一网络流量数据的流量方向。
根据前述内容可知,在客户端和服务端之间进行数据传输时,需要按照传输协议进行传输,传输协议一般包括有连接的传输协议和无连接的传输协议。针对有连接的传输协议,客户端会先向服务端发起三次握手,以与服务端建立连接,在完成三次握手后,客户端和服务端进行数据传输。针对无连接的传输协议,客户端无需与服务端建立连接,可以直接进行客户端和服务端之间的数据传输。
相应地,在一些可能的实施方式中,可以确定每个网络流量数据对应的传输协议,不同的传输协议对应不同的方向确定方式。
因此,可以按照传输协议对应的方向确定方式,基于第一网络流量数据的流量传输信息,确定客户端地址和服务端地址;基于第一网络流量数据的流量属性信息、客户端地址和服务端地址,确定第一网络流量数据的流量方向。
具体的,流量属性信息包括五元组信息,五元组信息包括源地址、源端口、目的地址、目的端口以及传输协议,在基于第一网络流量数据的流量属性信息、客户端地址和服务端地址,确定第一网络流量数据的流量方向时,可以将第一网络流量数据的源地址以及目的地址分别与客户端地址和服务端地址进行比对,从而确定第一网络流量数据的流量方向。
可选地,在第一网络流量数据的源地址与客户端地址一致、第一网络流量数据的目的地址与服务端地址一致的情况下,确定第一网络流量数据的流量方向为从客户端发送至服务端的第一方向;在第一网络流量数据的源地址与服务端地址一致、第一网络流量数据的目的地址与客户端地址一致的情况下,确定第一网络流量数据的流量方向为从服务端发送至客户端的第二方向。
这样,可以确定网络流量数据对应的传输协议,按照传输协议所对应的方向确定方式,确定客户端地址和服务端地址,从而确定第一网络流量数据的流量方向,有助于提升确定第一网络流量数据的流量方向的效率和准确性。
在一些可能的实施方式中,传输协议包括传输控制协议,流量传输信息包括第一网络流量数据关联的三次握手过程的握手数据,因此,在传输协议为传输控制协议的情况下,可以基于第一网络流量数据关联的三次握手过程的握手数据,将首次发起握手的地址确定为客户端地址,将除客户端地址以外的其他地址确定为服务端地址。
这样,在传输协议为传输控制协议的情况下,可以通过握手数据,确定出首次发起握手的客户端地址,进而确定应答握手的服务端地址,有助于保障确定客户端地址和服务端地址的准确性。
在另一些可能的实施方式中,传输协议包括用户数据报协议,流量传输信息包括第一网络流量数据的传输方向,因此,在传输协议为用户数据报协议的情况下,基于各个第一网络流量数据的传输方向,确定多个第一网络流量数据包括的两种传输方向分别对应的数量;传输方向包括从源地址发送至目的地址的第三方向或者从目的地址发送至源地址的第四方向;将两种传输方向中数量更多的目标传输方向,确定为从客户端发送至服务端的流量方向;将目标传输方向对应的发起地址确定为客户端地址,并将目标传输方向对应的接收地址确定为服务端地址。
在实际应用中,客户端向服务端发送请求,以便向服务端请求数据,而服务端接收请求、处理请求并返回相应的数据,也即,客户端主动发出请求,服务端响应于客户端的请求返回数据。在理想状态下,对于客户端向服务器发送的每个请求,服务端都会返回数据,但是在实际应用中,在客户端向服务端发送请求的情况下,服务端可能并没有向客户端返回数据,或者由于网络等原因导致客户端未接收到服务端的返回数据,此时旁路设备就无法从转发设备镜像获得服务端发给客户端的数据,因此,从客户端发送至服务端的网络流量数据的数量远远大于从服务端发送至客户端的网络流量数据的数量,也即在多个第一网络流量数据中,客户端发给服务端的网络流量数据占大多数,服务端发给客户端的网络流量数据占少数。所以将两种传输方向中数量更多的目标传输方向,确定为从客户端发送至服务端的流量方向,并将目标传输方向对应的发起地址确定为客户端地址,将目标传输方向对应的接收地址确定为服务端地址。
在另一些可能的实施方式中,客户端的地址和端口是随机分配的,服务端的地址和端口是固定的,因此,可以将两种传输方向中数量更多的目标传输方向,确定为从客户端发送至服务端的流量方向,并将目标传输方向对应的发起地址确定为客户端地址,将目标传输方向对应的接收地址确定为服务端地址。
这样,在传输协议为用户数据协议的情况下,可以通过两种传输方向各自对应的数量,确定出数量更多的目标传输方向为从客户端发送至服务端的流量方向,从而结合目标传输方向对应的发起地址和接收地址得到客户端地址和服务端地址,有助于保障确定客户端地址和服务端地址的准确性。
S204:针对每个第二网络流量数据,基于各个第一网络流量数据的流量属性信息和第二网络流量数据的流量属性信息,确定第二网络流量数据的流量方向。
可选地,为了保障方向确定的实时性,可以在确定第二网络流量数据之后,基于在第二网络流量数据之前确定的各个第一网络流量数据的流量属性信息和第二网络流量数据的流量属性信息,确定第二网络流量数据的流量方向。
又可选地,可能存在在第二网络流量数据之前确定的各个第一网络流量数据均不与第二网络流量数据匹配的情况,此时可以先存储该第二网络流量数据,在后续需要进行方向修正时,基于在第二网络流量数据之后确定的各个第一网络流量数据的流量属性信息和第二网络流量数据的流量属性信息,确定第二网络流量数据的流量方向。
其中,流量属性信息包括五元组信息,具体的可以基于各个第一网络流量数据的五元组信息和第二网络流量数据的五元组信息,从多个第一网络流量数据中确定与第二网络流量数据匹配的目标第一网络流量数据;将目标第一网络流量数据的流量方向确定为第二网络流量数据的流量方向。
可选地,可以基于第二网络流量数据的获取时间设置用于限制匹配范围的匹配时间段,例如匹配时间段可以为在第二网络流量数据的获取时间的前后一小时内,从而将获取时间在匹配时间段内的第一网络流量数据的五元组信息与第二网络流量数据的五元组信息进行匹配,从获取时间在匹配时间段内的多个第一网络流量数据中确定与第二网络流量数据匹配的目标第一网络流量数据。从而可以减少数据处理量,提高匹配效率,并且保障匹配出的目标第一网络流量数据的可信度。
这样,可以通过第一网络流量数据的五元组信息和第二网络流量数据的五元组信息进行匹配,确定出与第二网络流量数据匹配的目标第一网络流量数据,从而将目标第一网络流量数据的流量方向确定为第二网络流量数据的流量方向,有助于保障目标第一网络流量数据与第二网络流量数据的关联性,提高确定第二网络流量数据的流量方向的准确性。
具体的,五元组信息包括源地址、源端口、目的地址、目的端口以及传输协议,为从多个第一网络流量数据中确定与第二网络流量数据匹配的目标第一网络流量数据,可以将第二网络流量数据的传输协议、源地址、源端口,分别与各个第一网络流量数据的传输协议、目的地址、目的端口进行匹配,得到第一匹配结果,并将第二网络流量数据的传输协议、目的地址、目的端口,分别与各个第一网络流量数据的传输协议、目的地址、目的端口进行匹配,得到第二匹配结果;确定第一匹配结果和第二匹配结果中指示与第二网络流量数据匹配成功的目标匹配结果;将目标匹配结果对应的第一网络流量数据确定为与第二网络流量数据匹配的目标第一网络流量数据。
在实际应用中,客户端向服务端发送请求,以向服务端请求数据,而服务端接收请求、处理请求并返回相应的数据,也即,客户端主动发出请求,服务端响应于客户端的请求返回数据,一般来讲,客户端每次发送请求的端口可能产生变化,但是服务端返回数据的端口一般不会发生变化,因此,采用与各个第一网络流量数据的传输协议、目的地址、目的端口进行匹配的方式。
上述步骤中,分别使用第二网络流量数据的传输协议、源地址、源端口,以及传输协议、目的地址、目的端口,与各个第一网络流量数据的传输协议、目的地址、目的端口进行两次匹配,是由于并不确定第二网络流量数据中源地址和目的地址中的哪一个对应客户端地址、哪一个对应服务端地址,所以才进行两次匹配,将第一匹配结果和第二匹配结果中、指示与第二网络流量数据匹配成功的目标匹配结果对应的第一网络流量数据确定为与第二网络流量数据匹配的目标第一网络流量数据。
可选地,在第一网络流量数据的五元组信息以数据库的形式存储的情况下,可以通过数据库多条件查找的方式,将第二网络流量数据的传输协议、源地址、源端口,分别与各个第一网络流量数据的传输协议、目的地址、目的端口进行匹配,以及将第二网络流量数据的传输协议、目的地址、目的端口,分别与各个第一网络流量数据的传输协议、目的地址、目的端口进行匹配。
又可选地,在第一网络流量数据的五元组信息以哈希表的形式存储的情况下,可以将第二网络流量数据的传输协议、源地址、源端口,以及第二网络流量数据的传输协议、目的地址、目的端口分别设置为关键码值,从而分别与各个第一网络流量数据的传输协议、目的地址、目的端口进行匹配。
这样,通过将第二网络流量数据的传输协议、源地址、源端口,以及传输协议、目的地址、目的端口,分别与各个第一网络流量数据的传输协议、目的地址、目的端口进行两次匹配,有助于保障确定出与第二网络流量数据匹配的目标第一网络流量数据的准确性。
示例性的,请同时参阅图4,图4为本公开实施例所提供的一种确定第二网络流量数据的流量方向的过程示意图。如图4中所示,针对不能够确定流量方向的第二网络流量数据,确定第二网络流量数据的五元组信息,将第二网络流量数据的五元组信息和各个第一网络流量数据的五元组信息进行比对,具体的,将第二网络流量数据的传输协议、源地址、源端口,分别与各个第一网络流量数据的传输协议、目的地址、目的端口进行匹配,得到第一匹配结果,并将第二网络流量数据的传输协议、目的地址、目的端口,分别与各个第一网络流量数据的传输协议、目的地址、目的端口进行匹配,得到第二匹配结果,从而确定第一匹配结果和第二匹配结果中是否存在指示与第二网络流量数据匹配成功的目标匹配结果,若存在,将目标匹配结果对应的第一网络流量数据确定为与第二网络流量数据匹配的目标第一网络流量数据,若不存在,就认为当前无法确定出与第二网络流量数据匹配的目标第一网络流量数据,可能与第二网络流量数据匹配的目标第一网络流量数据在之后才会被获取到,因此可以在预设时间后,再次进行第二网络流量数据的五元组信息和各个第一网络流量数据的五元组信息之间的比对,直至确定出与第二网络流量数据匹配的目标第一网络流量数据。
在一些可能的实施方式中,客户端或者服务端在存储数据时可能会涉及到网络隔离技术,例如采用了虚拟局域网(Virtual Local Area Network,VLAN)、虚拟系统等,此时可能会导致多个网络流量数据的五元组信息相同,但是虚拟局域网标识(VLAN ID)或者虚拟系统标识(虚拟系统ID)不同,这样在确定出流量方向后,还可以结合VLAN ID或者虚拟系统ID之间的匹配,进一步区分流量。
可选地,按照本公开实施例,可以确定第一网络流量数据的流量方向和第二网络流量数据的流量方向,即可以确定各个网络流量数据的流量方向,从而可以基于网络流量数据的流量方向,对网络流量数据进行检测,以确定网络流量数据是否存在安全威胁、以及客户端和服务端是否产生攻击行为等。
本公开实施例提供的网络流量数据的方向确定方法,对于旁路设备接收的在客户端和服务端之间传输的多个网络流量数据,可以对每个网络流量数据进行方向确定性检测,区分出能够确定流量方向的第一网络流量数据以及不能够确定流量方向的第二网络流量数据,这里的流量方向包括从客户端发送至服务端的第一方向或者从服务端发送至客户端的第二方向,进而,针对第一网络流量数据,可以基于第一网络流量数据的流量传输信息,确定第一网络流量数据的流量方向,针对第二网络流量数据,可以基于各个第一网络流量数据的流量属性信息和第二网络流量数据的流量属性信息,确定第二网络流量数据的流量方向。这样,在旁路设备接收到无法确定流量方向的第二网络流量数据的情况下,可以依据能够确定流量方向的第一网络流量数据,补充确定第二网络流量数据的流量方向,从而为后续针对网络流量数据的分析检测提供可靠的依据,避免由于流量方向不完整导致对网络流量数据的分析错误。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与网络流量数据的方向确定方法对应的网络流量数据的方向确定装置,由于本公开实施例中的网络流量数据的方向确定装置解决问题的原理与本公开实施例上述网络流量数据的方向确定方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图5和图6,图5为本公开实施例提供的一种网络流量数据的方向确定装置的示意图之一,图6为本公开实施例提供的一种网络流量数据的方向确定装置的示意图之二。如图5中所示,本公开实施例提供的网络流量数据的方向确定装置500包括:
数据获取模块510,用于获取通过旁路设备接收的在客户端和服务端之间传输的多个网络流量数据;
数据检测模块520,用于对每个网络流量数据进行检测,确定多个网络流量数据中的多个第一网络流量数据和至少一个第二网络流量数据,其中,第一网络流量数据为能够确定流量方向的网络流量数据,第二网络流量数据为不能够确定流量方向的网络流量数据;流量方向包括从客户端发送至服务端的第一方向或者从服务端发送至客户端的第二方向;
第一方向确定模块530,用于针对每个第一网络流量数据,基于第一网络流量数据的流量传输信息,确定第一网络流量数据的流量方向;
第二方向确定模块540,用于针对每个第二网络流量数据,基于各个第一网络流量数据的流量属性信息和第二网络流量数据的流量属性信息,确定第二网络流量数据的流量方向。
一种可选的实施方式中,如图6中所示,装置还包括第一方式确定模块550,第一方式确定模块550用于:
确定每个网络流量数据对应的传输协议,不同的传输协议对应不同的方向确定性检测方式;
数据检测模块520具体用于:
按照传输协议对应的方向确定性检测方式,对每个网络流量数据进行方向确定性检测,确定多个网络流量数据中的多个第一网络流量数据和至少一个第二网络流量数据。
一种可选的实施方式中,传输协议包括传输控制协议,数据检测模块520在用于按照传输协议对应的方向确定性检测方式,对每个网络流量数据进行检测,确定多个网络流量数据中的多个第一网络流量数据和至少一个第二网络流量数据时,具体用于:
在传输协议为传输控制协议的情况下,检测网络流量数据是否符合第一条件,第一条件指示网络流量数据关联有三次握手过程的握手数据、以及握手数据符合传输控制协议的协议规范;
将符合第一条件的网络流量数据确定为第一网络流量数据,将不符合第一条件的网络流量数据确定为第二网络流量数据。
一种可选的实施方式中,传输协议包括用户数据报协议,数据检测模块520在用于按照传输协议对应的方向确定性检测方式,对每个网络流量数据进行检测,确定多个网络流量数据中的多个第一网络流量数据和至少一个第二网络流量数据时,具体用于:
在传输协议为用户数据报协议的情况下,按照获取网络流量数据的获取时间,遍历每个网络流量数据,直至确定已经获取的多个网络流量数据符合第二条件,第二条件指示已经获取的多个网络流量数据的数量大于预设数量,或者已经获取的多个网络流量数据包括的两种传输方向的比例满足预设比例,两种传输方向包括从源地址发送至目的地址的第三方向以及从目的地址发送至源地址的第四方向;
将确定符合第二条件的多个网络流量数据确定为第一网络流量数据,将除第一网络流量数据以外的其他网络流量数据确定为第二网络流量数据。
一种可选的实施方式中,如图6中所示,装置还包括第二方式确定模块560,第二方式确定模块560用于:
确定每个网络流量数据对应的传输协议,不同的传输协议对应不同的方向确定方式;
第一方向确定模块530在用于基于第一网络流量数据的流量传输信息,确定第一网络流量数据的流量方向时,具体用于:
按照传输协议对应的方向确定方式,基于第一网络流量数据的流量传输信息,确定客户端地址和服务端地址;
基于第一网络流量数据的流量属性信息、客户端地址和服务端地址,确定第一网络流量数据的流量方向。
一种可选的实施方式中,传输协议包括传输控制协议,流量传输信息包括第一网络流量数据关联的三次握手过程的握手数据,第一方向确定模块530在用于按照传输协议对应的方向确定方式,基于第一网络流量数据的流量传输信息,确定客户端地址和服务端地址时,具体用于:
在传输协议为传输控制协议的情况下,基于第一网络流量数据关联的三次握手过程的握手数据,将首次发起握手的地址确定为客户端地址,将除客户端地址以外的其他地址确定为服务端地址。
一种可选的实施方式中,传输协议包括用户数据报协议,流量传输信息包括第一网络流量数据的传输方向,第一方向确定模块530在用于按照传输协议对应的方向确定方式,基于第一网络流量数据的流量传输信息,确定客户端地址和服务端地址时,具体用于:
在传输协议为用户数据报协议的情况下,基于各个第一网络流量数据的传输方向,确定多个第一网络流量数据包括的两种传输方向分别对应的数量;传输方向包括从源地址发送至目的地址的第三方向或者从目的地址发送至源地址的第四方向;
将两种传输方向中数量更多的目标传输方向,确定为从客户端发送至服务端的流量方向;
将目标传输方向对应的发起地址确定为客户端地址,并将目标传输方向对应的接收地址确定为服务端地址。
一种可选的实施方式中,流量属性信息包括五元组信息,第二方向确定模块540在用于基于各个第一网络流量数据的流量属性信息和第二网络流量数据的流量属性信息,确定第二网络流量数据的流量方向时,具体用于:
基于各个第一网络流量数据的五元组信息和第二网络流量数据的五元组信息,从多个第一网络流量数据中确定与第二网络流量数据匹配的目标第一网络流量数据;
将目标第一网络流量数据的流量方向确定为第二网络流量数据的流量方向。
一种可选的实施方式中,五元组信息包括源地址、源端口、目的地址、目的端口以及传输协议,第二方向确定模块540在用于基于各个第一网络流量数据的五元组信息和第二网络流量数据的五元组信息,从多个第一网络流量数据中确定与第二网络流量数据匹配的目标第一网络流量数据时,具体用于:
将第二网络流量数据的传输协议、源地址、源端口,分别与各个第一网络流量数据的传输协议、目的地址、目的端口进行匹配,得到第一匹配结果,并将第二网络流量数据的传输协议、目的地址、目的端口,分别与各个第一网络流量数据的传输协议、目的地址、目的端口进行匹配,得到第二匹配结果;
确定第一匹配结果和第二匹配结果中指示与第二网络流量数据匹配成功的目标匹配结果;
将目标匹配结果对应的第一网络流量数据确定为与第二网络流量数据匹配的目标第一网络流量数据。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例提供的网络流量数据的方向确定装置,对于旁路设备接收的在客户端和服务端之间传输的多个网络流量数据,可以对每个网络流量数据进行方向确定性检测,区分出能够确定流量方向的第一网络流量数据以及不能够确定流量方向的第二网络流量数据,这里的流量方向包括从客户端发送至服务端的第一方向或者从服务端发送至客户端的第二方向,进而,针对第一网络流量数据,可以基于第一网络流量数据的流量传输信息,确定第一网络流量数据的流量方向,针对第二网络流量数据,可以基于各个第一网络流量数据的流量属性信息和第二网络流量数据的流量属性信息,确定第二网络流量数据的流量方向。这样,在旁路设备接收到无法确定流量方向的第二网络流量数据的情况下,可以依据能够确定流量方向的第一网络流量数据,补充确定第二网络流量数据的流量方向,从而为后续针对网络流量数据的分析检测提供可靠的依据,避免由于流量方向不完整导致对网络流量数据的分析错误。
对应于图2中的网络流量数据的方向确定方法,本公开实施例还提供了一种电子设备700,如图7中所示,为本公开实施例提供的电子设备700的结构示意图,包括:
处理器710、存储器720、和总线730。其中,存储器720用于存储执行指令,包括内存721和外部存储器722;这里的内存721也称内存储器,用于暂时存放处理器710中的运算数据,以及与硬盘等外部存储器722交换的数据,处理器710通过内存721与外部存储器722进行数据交换。
本申请实施例中,存储器720具体用于存储执行本申请方案的应用程序代码,并由处理器710来控制执行。也即,当电子设备700运行时,处理器710与存储器720之间通过总线730通信,使得处理器710执行存储器720中存储的应用程序代码,进而执行前述任一实施例中的网络流量数据的方向确定方法的步骤。
其中,存储器720可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器710可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备700的具体限定。在本申请另一些实施例中,电子设备700可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中的网络流量数据的方向确定方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品包括有计算机指令,计算机指令被处理器执行时可以执行上述方法实施例中的网络流量数据的方向确定方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

Claims (6)

1.一种网络流量数据的方向确定方法,其特征在于,所述方法包括:
获取通过旁路设备接收的在客户端和服务端之间传输的多个网络流量数据;确定每个所述网络流量数据对应的传输协议;
对每个所述网络流量数据进行方向确定性检测,确定所述多个网络流量数据中的多个第一网络流量数据和至少一个第二网络流量数据,其中,所述第一网络流量数据为能够确定流量方向的网络流量数据,所述第二网络流量数据为不能够确定流量方向的网络流量数据;所述流量方向包括从所述客户端发送至所述服务端的第一方向或者从所述服务端发送至所述客户端的第二方向;
针对每个所述第一网络流量数据,基于所述第一网络流量数据的流量传输信息,确定所述第一网络流量数据的流量方向;
针对每个所述第二网络流量数据,基于各个所述第一网络流量数据的流量属性信息和所述第二网络流量数据的流量属性信息,确定所述第二网络流量数据的流量方向;
所述对每个所述网络流量数据进行方向确定性检测,确定所述多个网络流量数据中的多个第一网络流量数据和至少一个第二网络流量数据,包括:
按照所述传输协议对应的方向确定性检测方式,对每个所述网络流量数据进行方向确定性检测,确定所述多个网络流量数据中的多个第一网络流量数据和至少一个第二网络流量数据;
在所述传输协议为传输控制协议的情况下,检测所述网络流量数据是否符合第一条件,所述第一条件指示所述网络流量数据关联有三次握手过程的握手数据、以及所述握手数据符合所述传输控制协议的协议规范;将符合所述第一条件的网络流量数据确定为所述第一网络流量数据,将不符合所述第一条件的网络流量数据确定为所述第二网络流量数据;
在所述传输协议为用户数据报协议的情况下,按照获取网络流量数据的获取时间,遍历每个网络流量数据,直至确定已经获取的多个网络流量数据符合第二条件,所述第二条件指示已经获取的多个网络流量数据的数量大于预设数量,或者已经获取的多个网络流量数据包括的两种传输方向的比例满足预设比例,所述两种传输方向包括从源地址发送至目的地址的第三方向以及从所述目的地址发送至所述源地址的第四方向;将确定符合所述第二条件的多个网络流量数据确定为所述第一网络流量数据,将除所述第一网络流量数据以外的其他网络流量数据确定为所述第二网络流量数据;
所述基于所述第一网络流量数据的流量传输信息,确定所述第一网络流量数据的流量方向,包括:
按照所述传输协议对应的方向确定方式,基于所述第一网络流量数据的流量传输信息,确定客户端地址和服务端地址;
基于所述第一网络流量数据的流量属性信息、所述客户端地址和所述服务端地址,确定所述第一网络流量数据的流量方向;
所述基于各个所述第一网络流量数据的流量属性信息和所述第二网络流量数据的流量属性信息,确定所述第二网络流量数据的流量方向,包括:
将所述第二网络流量数据的传输协议、源地址、源端口,分别与各个所述第一网络流量数据的传输协议、目的地址、目的端口进行匹配,得到第一匹配结果,并将所述第二网络流量数据的传输协议、目的地址、目的端口,分别与各个所述第一网络流量数据的传输协议、目的地址、目的端口进行匹配,得到第二匹配结果;
确定所述第一匹配结果和所述第二匹配结果中指示与所述第二网络流量数据匹配成功的目标匹配结果;
将所述目标匹配结果对应的第一网络流量数据确定为与所述第二网络流量数据匹配的目标第一网络流量数据;
将所述目标第一网络流量数据的流量方向确定为所述第二网络流量数据的流量方向。
2.根据权利要求1所述的方法,其特征在于,所述确定客户端地址和服务端地址,包括:
在所述传输协议为所述传输控制协议的情况下,基于所述第一网络流量数据关联的三次握手过程的握手数据,将首次发起握手的地址确定为所述客户端地址,将除所述客户端地址以外的其他地址确定为所述服务端地址。
3.根据权利要求1所述的方法,其特征在于,所述确定客户端地址和服务端地址,包括:
在所述传输协议为所述用户数据报协议的情况下,基于各个所述第一网络流量数据的传输方向,确定所述多个第一网络流量数据包括的两种传输方向分别对应的数量;所述传输方向包括从源地址发送至目的地址的第三方向或者从所述目的地址发送至所述源地址的第四方向;
将所述两种传输方向中数量更多的目标传输方向,确定为从所述客户端发送至所述服务端的流量方向;
将所述目标传输方向对应的发起地址确定为所述客户端地址,并将所述目标传输方向对应的接收地址确定为所述服务端地址。
4.一种网络流量数据的方向确定装置,其特征在于,所述装置包括:
数据获取模块,用于获取通过旁路设备接收的在客户端和服务端之间传输的多个网络流量数据;确定每个所述网络流量数据对应的传输协议;
数据检测模块,用于对每个所述网络流量数据进行检测,确定所述多个网络流量数据中的多个第一网络流量数据和至少一个第二网络流量数据,其中,所述第一网络流量数据为能够确定流量方向的网络流量数据,所述第二网络流量数据为不能够确定流量方向的网络流量数据;所述流量方向包括从所述客户端发送至所述服务端的第一方向或者从所述服务端发送至所述客户端的第二方向;
第一方向确定模块,用于针对每个所述第一网络流量数据,基于所述第一网络流量数据的流量传输信息,确定所述第一网络流量数据的流量方向;
第二方向确定模块,用于针对每个所述第二网络流量数据,基于各个所述第一网络流量数据的流量属性信息和所述第二网络流量数据的流量属性信息,确定所述第二网络流量数据的流量方向;
所述数据检测模块具体用于:
按照所述传输协议对应的方向确定性检测方式,对每个所述网络流量数据进行方向确定性检测,确定所述多个网络流量数据中的多个第一网络流量数据和至少一个第二网络流量数据;
在所述传输协议为传输控制协议的情况下,检测所述网络流量数据是否符合第一条件,所述第一条件指示所述网络流量数据关联有三次握手过程的握手数据、以及所述握手数据符合所述传输控制协议的协议规范;将符合所述第一条件的网络流量数据确定为所述第一网络流量数据,将不符合所述第一条件的网络流量数据确定为所述第二网络流量数据;
在所述传输协议为用户数据报协议的情况下,按照获取网络流量数据的获取时间,遍历每个网络流量数据,直至确定已经获取的多个网络流量数据符合第二条件,所述第二条件指示已经获取的多个网络流量数据的数量大于预设数量,或者已经获取的多个网络流量数据包括的两种传输方向的比例满足预设比例,所述两种传输方向包括从源地址发送至目的地址的第三方向以及从所述目的地址发送至所述源地址的第四方向;将确定符合所述第二条件的多个网络流量数据确定为所述第一网络流量数据,将除所述第一网络流量数据以外的其他网络流量数据确定为所述第二网络流量数据;
所述第一方向确定模块在用于所述基于所述第一网络流量数据的流量传输信息,确定所述第一网络流量数据的流量方向时,具体用于:
按照所述传输协议对应的方向确定方式,基于所述第一网络流量数据的流量传输信息,确定客户端地址和服务端地址;
基于所述第一网络流量数据的流量属性信息、所述客户端地址和所述服务端地址,确定所述第一网络流量数据的流量方向;
所述第二方向确定模块在用于所述基于各个所述第一网络流量数据的流量属性信息和所述第二网络流量数据的流量属性信息,确定所述第二网络流量数据的流量方向时,具体用于:
将所述第二网络流量数据的传输协议、源地址、源端口,分别与各个所述第一网络流量数据的传输协议、目的地址、目的端口进行匹配,得到第一匹配结果,并将所述第二网络流量数据的传输协议、目的地址、目的端口,分别与各个所述第一网络流量数据的传输协议、目的地址、目的端口进行匹配,得到第二匹配结果;
确定所述第一匹配结果和所述第二匹配结果中指示与所述第二网络流量数据匹配成功的目标匹配结果;
将所述目标匹配结果对应的第一网络流量数据确定为与所述第二网络流量数据匹配的目标第一网络流量数据;
将所述目标第一网络流量数据的流量方向确定为所述第二网络流量数据的流量方向。
5.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至3中任一项所述的网络流量数据的方向确定方法的步骤。
6.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至3中任一项所述网络流量数据的方向确定方法的步骤。
CN202410311535.4A 2024-03-19 2024-03-19 一种网络流量数据的方向确定方法、装置、设备及介质 Active CN117938542B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410311535.4A CN117938542B (zh) 2024-03-19 2024-03-19 一种网络流量数据的方向确定方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410311535.4A CN117938542B (zh) 2024-03-19 2024-03-19 一种网络流量数据的方向确定方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN117938542A CN117938542A (zh) 2024-04-26
CN117938542B true CN117938542B (zh) 2024-05-17

Family

ID=90752380

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410311535.4A Active CN117938542B (zh) 2024-03-19 2024-03-19 一种网络流量数据的方向确定方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN117938542B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045363A (zh) * 2010-12-31 2011-05-04 成都市华为赛门铁克科技有限公司 网络流量特征识别规则的建立方法、识别控制方法及装置
CN111654486A (zh) * 2020-05-26 2020-09-11 南京云利来软件科技有限公司 一种服务器设备判定识别方法
CN112751869A (zh) * 2020-12-31 2021-05-04 中国人民解放军战略支援部队航天工程大学 基于滑动窗口群的网络异常流量检测方法及装置
CN114553730A (zh) * 2022-04-27 2022-05-27 远江盛邦(北京)网络安全科技股份有限公司 一种应用识别方法、装置、电子设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11350150B2 (en) * 2019-12-26 2022-05-31 Hughes Network Systems, Llc Method for estimation of quality of experience (QoE) metrics for video streaming using passive measurements

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045363A (zh) * 2010-12-31 2011-05-04 成都市华为赛门铁克科技有限公司 网络流量特征识别规则的建立方法、识别控制方法及装置
CN111654486A (zh) * 2020-05-26 2020-09-11 南京云利来软件科技有限公司 一种服务器设备判定识别方法
CN112751869A (zh) * 2020-12-31 2021-05-04 中国人民解放军战略支援部队航天工程大学 基于滑动窗口群的网络异常流量检测方法及装置
CN114553730A (zh) * 2022-04-27 2022-05-27 远江盛邦(北京)网络安全科技股份有限公司 一种应用识别方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN117938542A (zh) 2024-04-26

Similar Documents

Publication Publication Date Title
US7107609B2 (en) Stateful packet forwarding in a firewall cluster
US10218733B1 (en) System and method for detecting a malicious activity in a computing environment
US20170054640A1 (en) Device and method for establishing connection in load-balancing system
US20050080858A1 (en) System and method for searching a peer-to-peer network
US9197647B2 (en) Integrity checking of a client device in a networked computer environment
CN110266650B (zh) Conpot工控蜜罐的识别方法
CN105634660B (zh) 数据包检测方法及系统
CN111565203B (zh) 业务请求的防护方法、装置、系统和计算机设备
US20140280778A1 (en) Tracking Network Packets Across Translational Boundaries
CN114389792B (zh) 一种web日志nat前后关联方法及系统
CN111953770B (zh) 一种路由转发方法、装置、路由设备及可读存储介质
US11108812B1 (en) Data plane with connection validation circuits
Zhang et al. Onis: Inferring tcp/ip-based trust relationships completely off-path
EP3891687A1 (en) Method and system for determining a state of an account in a network device running a light client protocol of a distributed ledger technology network
CN115499230A (zh) 网络攻击检测方法和装置、设备及存储介质
CN111756713A (zh) 网络攻击识别方法、装置、计算机设备及介质
CN111130936B (zh) 一种负载均衡算法的测试方法及装置
CN111953810B (zh) 识别代理互联网协议地址的方法、装置及存储介质
CN117938542B (zh) 一种网络流量数据的方向确定方法、装置、设备及介质
US8307415B2 (en) Safe hashing for network traffic
US20220174081A1 (en) Monitoring of abnormal host
CN110912904B (zh) 恶意设备识别方法、装置、存储介质和计算机设备
CN106961393B (zh) 网络会话中udp报文的检测方法及装置
CN115190070B (zh) 路由探测方法及装置
CN109818912B (zh) 防范泛洪攻击的方法、装置、负载均衡设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant