CN114928638A - 一种网络行为的解析方法、装置及监控设备 - Google Patents
一种网络行为的解析方法、装置及监控设备 Download PDFInfo
- Publication number
- CN114928638A CN114928638A CN202210682891.8A CN202210682891A CN114928638A CN 114928638 A CN114928638 A CN 114928638A CN 202210682891 A CN202210682891 A CN 202210682891A CN 114928638 A CN114928638 A CN 114928638A
- Authority
- CN
- China
- Prior art keywords
- network
- linked list
- response
- request
- data
- 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
- 238000004458 analytical method Methods 0.000 title claims abstract description 96
- 238000012544 monitoring process Methods 0.000 title claims abstract description 10
- 230000004044 response Effects 0.000 claims abstract description 190
- 230000006399 behavior Effects 0.000 claims abstract description 62
- 238000000034 method Methods 0.000 claims abstract description 61
- 238000004891 communication Methods 0.000 claims abstract description 36
- 238000012806 monitoring device Methods 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 14
- 230000009471 action Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 6
- 238000010276 construction Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008961 swelling Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种网络行为的解析方法、装置及监控设备。该方法包括:获取通信链路中所采集的镜像流量报文;基于镜像流量报文创建网络会话、网络请求链表及网络应答链表;将通信链路中所采集的属于网络会话的镜像流量报文添加至网络请求链表或网络应答链表;基于网络请求链表及网络应答链表,生成表征网络行为的解析日志。通过该方式,可以生成多应答多请求情况下的解析日志,进而实现对多应答多请求的网络行为分析。
Description
技术领域
本申请涉及通信技术领域,具体而言,涉及一种网络行为的解析方法、装置及监控设备。
背景技术
网络流量或数据流量是指在给定时间点通过网络的数据量。网络流量是网络流量测量、网络流量控制、仿真和网络行为分析的主要组成部分。要实现网络行为分析需要从流量数据中解析出网络行为,这种网络行为通常以网络会话的形式体现。
现有技术中,基于网络会话的网络解析通常基于网络请求(request)及应答(response),一般的网络会话通常包括一个网络请求及与之对应的应答。但是随着技术的发展,在某些特殊情况下,在同一网络会话中可能出现多个网络请求及多个应答的情况,比如HTTP(Hyper Text Transfer Protocol,超文本传输协议)的pipeline(流水线)模式会下出现多个网络请求及多个应答的情况。发明人在实践中发现,现有的网络行为解析技术无法适用于出现多应答多请求的情况,现有的网络行为解析方式在硬件配置上仅支持对网络会话中的第一个网络请求和第一个网络应答的解析,其余的网络数据只能抛弃,无法配对解析。
发明内容
本申请实施例的目的在于提供一种网络行为的解析方法、装置及监控设备,以改善“现有的网络行为解析方式在硬件配置上仅支持对网络会话中的第一个网络请求和第一个网络应答的解析,其余的网络数据只能抛弃,无法配对解析”的问题。
本发明是这样实现的:
第一方面,本申请实施例提供一种网络行为的解析方法,应用于监控设备,包括:获取通信链路中所采集的镜像流量报文;基于所述镜像流量报文创建网络会话、网络请求链表及网络应答链表;将所述通信链路中所采集的属于所述网络会话的镜像流量报文添加至所述网络请求链表或所述网络应答链表;其中,当属于所述网络会话的镜像流量报文为请求报文时,将所述镜像流量报文添加至所述网络请求链表;当属于所述网络会话的镜像流量报文为响应报文时,将所述镜像流量报文添加至所述网络应答链表;基于所述网络请求链表及所述网络应答链表,生成表征网络行为的解析日志;其中,每一条所述解析日志包括一条来自所述网络请求链表的请求数据以及一条来自所述网络应答链表的响应数据,每一条所述解析日志中的请求数据和响应数据为对应关系。
在本申请实施例中,监控设备在获取到通信链路所采集的镜像流量报文时,基于该镜像流量报文创建网络会话、网络请求链表及网络应答链表;其中,网络请求链表用于统计同一网络会话的所有请求报文,而网络应答链表用于统计同一网络会话的所有响应报文,通过该方式,可以生成多应答多请求情况下的解析日志,进而实现对多应答多请求的网络行为分析。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述镜像流量报文为DNS UDP报文;所述基于所述网络请求链表及所述网络应答链表,生成表征网络行为的解析日志,包括:查找所述网络请求链表中和所述网络应答链表中具有相同TransactionID的数据;从所述网络请求链表中和所述网络应答链表提取具有相同Transaction ID的请求数据及响应数据,生成所述表征网络行为的解析日志。
在本申请实施例中,当镜像流量报文为DNS UDP报文时,从网络请求链表中和网络应答链表中提取具有相同Transaction ID的数据,并以此构建解析日志,通过该方式,以实现对一个UDP流上面负载多对DNS请求及响应的网络行为分析。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述镜像流量报文为HTTP协议报文,所述将所述通信链路中所采集的属于所述网络会话的镜像流量报文添加至所述网络请求链表或所述网络应答链表,包括:将所述通信链路中所采集的属于所述网络会话的HTTP协议报文进行缓存;将缓存的HTTP协议报文添加至所述网络请求链表或所述网络应答链表。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述镜像流量报文为HTTP协议报文;所述基于所述网络请求链表及所述网络应答链表,生成表征网络行为的解析日志,包括:从所述网络请求链表中和所述网络应答链表提取具有相同行的请求数据及响应数据,生成所述表征网络行为的解析日志;其中,所述网络请求链表中的请求数据根据采集时间依次按行排列,所述网络应答链表中的响应数据根据采集时间依次按行排列。
在本申请实施例中,当镜像流量报文为HTTP协议报文时,由于HTTP协议的传输方式其自身满足一个请求一个响应的模式,因此,可以直接根据两个链表的排序顺序,确定出请求数据和响应数据为对应关系,即,从网络请求链表中和网络应答链表提取具有相同行的请求数据及响应数据,生成解析日志。可见,通过该方式,以简单高效地实现多对HTTP请求及响应的网络行为分析。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,在所述基于所述网络请求链表及所述网络应答链表,生成表征网络行为的解析日志之后,所述方法还包括:将所述网络请求链表及所述网络应答链表中已用于生成所述解析日志的数据删除。
在本申请实施例中,监控设备在基于网络请求链表及网络应答链表,生成表征网络行为的解析日志之后,主动删除对应的请求数据和响应数据,以保护内存,防止内存暴涨。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,在所述基于所述网络请求链表及所述网络应答链表,生成表征网络行为的解析日志之后,所述方法还包括:将所述解析日志输出至分布式系统中,以使所述分布式系统对所述解析日志进行分析处理。
在本申请实施例中,监控设备在生成解析日志后,可以将解析日志输出至分布式系统,以使得分布式系统来对解析日志进行后续的分析处理,通过该方式可以满足大流量的解析需求,同时通过分布式系统也可以做到负载均衡。
第二方面,本申请实施例提供一种网络行为的解析装置,应用于监控设备,包括:获取模块,用于获取通信链路中所采集的镜像流量报文;创建模块,用于基于所述镜像流量报文创建网络会话、网络请求链表及网络应答链表;处理模块,用于将所述通信链路中所采集的属于所述网络会话的镜像流量报文添加至所述网络请求链表或所述网络应答链表;其中,当属于所述网络会话的镜像流量报文为请求报文时,将所述镜像流量报文添加至所述网络请求链表;当属于所述网络会话的镜像流量报文为响应报文时,将所述镜像流量报文添加至所述网络应答链表;生成模块,用于基于所述网络请求链表及所述网络应答链表,生成表征网络行为的解析日志;其中,每一条所述解析日志包括一条来自所述网络请求链表的请求数据以及一条来自所述网络应答链表的响应数据,每一条所述解析日志中的请求数据和响应数据为对应关系。
第三方面,本申请实施例提供一种监控设备,包括:处理器和存储器,所述处理器和所述存储器连接;所述存储器用于存储程序;所述处理器用于调用存储在所述存储器中的程序,执行如上述第一方面实施例和/或结合上述第一方面实施例的一些可能的实现方式提供的方法。
结合上述第三方面提供的技术方案,在一些可能的实现方式中,所述处理器的数量为多个;其中,多个所述处理器各自绑定一个网卡队列或多个所述处理器中每第一预设数量的处理器绑定同一个网卡队列,每个所述处理器均用于执行如上述第一方面实施例和/或结合上述第一方面实施例的一些可能的实现方式提供的方法;且多个所述处理器中每第二预设数量的处理器划分为一个结点,相同结点内部共用内存,每个所述处理器采用本地结点的内存访问。
在本申请实施例中,每个处理器采用本地结点的内存访问方式以提高内存访问速率,进而提高链表的构建过程。
结合上述第三方面提供的技术方案,在一些可能的实现方式中,所述处理器通过调用指令集,将所述通信链路中所采集的属于所述网络会话的镜像流量报文添加至所述网络请求链表或所述网络应答链表;其中,所述处理器通过调用所述指令集,以每次处理16~32字节的数据。
在本申请实施例中,处理器通过调用指令集,可以一次处理16-32字节的数据,可以加速内存处理速度,进而提高链表的构建过程。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器运行时执行如上述第一方面实施例和/或结合上述第一方面实施例的一些可能的实现方式提供的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种网络行为的解析方法的步骤流程图。
图2为本申请实施例提供的一种网络行为的解析装置的模块框图。
图3为本申请实施例提供的一种监控设备的模块框图。
图标:100-网络行为的解析装置;110-获取模块;120-创建模块;130-处理模块;140-生成模块;200-监控设备;210-处理器;220-存储器。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
鉴于现有的网络行为解析方式在硬件配置上仅支持对网络会话中的第一个网络请求和第一个网络应答的解析,其余的网络数据只能抛弃,无法配对解析问题,本申请发明人经过长期的研究,提出以下实施例以解决上述问题。
请参阅图1,图1为本申请实施例提供的网络行为的解析方法的步骤流程图。需要说明的是,本申请实施例提供的网络行为的解析方法不以图1及以下所示的顺序为限制,该方法包括:步骤S101-步骤S104。
步骤S101:获取通信链路中所采集的镜像流量报文。
作为一种实施方式,可以在通信链路中配置监控探针,进而通过监控探针旁路一份通信链路中的数据流量,以形成镜像流量报文。
作为另一种实施方式,也可以直接从网络、路由器等设备中直接旁路一份流量,以形成镜像流量报文,本申请不作限定。
上述的镜像流量报文可以是,但不限于基于UDP(User Data Protocol,用户数据报协议)的传输报文、基于TCP(Transmission Control Protocol,传输控制协议)的传输报文。
步骤S102:基于镜像流量报文创建网络会话、网络请求链表及网络应答链表。
监控设备获取到镜像流量报文后,创建与该镜像流量报文所对应的网络会话、网络请求链表以及网络应答链表。
需要说明的是,创建网络会话的目的在于确定通信链路中的多个镜像流量报文是否属于同一会话。比如,当监控设备为首次获取到镜像流量报文时,则直接基于该镜像流量报文构建网络会话。若是监控设备为非首次获取到镜像流量报文,则需要判断当前镜像流量报文是否属于已经构建的网络会话。
示例性的,监控设备首次获取的镜像流量报文为A1,当监控设备基于镜像流量报文A1创建网络会话A后,如果此时监控设备又获取到镜像流量报文B,则可以确定镜像流量报文B是否属于网络会话A,若镜像流量报文B属于网络会话A则执行步骤S103;若镜像流量报文B不属于网络会话A,则再基于镜像流量报文B构建与之对应的网络会话B。
一实施例中,上述基于镜像流量报文创建的网络会话可以具体包括五元组。
需要说明的是,五元组是通信术语。五元组通常是指源IP(Internet Protoco,网际互连协议)地址,源端口,目的IP地址,目的端口和传输层协议。
示例性的,例如:“192.168.1.1;10000;TCP;121.14.88.76;80”就构成了一个五元组。其意义是,一个IP地址为192.168.1.1的终端通过端口10000,利用TCP协议,和IP地址为121.14.88.76,端口为80的终端进行连接。
于本申请实施例中,通过网络会话所包括的五元组,以有效地确定后续的镜像流量报文是否属于同一网络会话。
当然,在其他实施例中,构建的网络会话也可以仅包括源IP地址和目的IP地址,或构建的网络会话也可以仅包括源IP地址、目的IP地址及传输层协议的方式,对此,本申请不作限定。
需要说明的是,创建网络请求链表的目的在于统计属于同一网络会话的所有请求报文。而创建网络应答链表的目的在于统计属于同一网络会话的所有响应报文。
步骤S103:将通信链路中所采集的属于网络会话的镜像流量报文添加至网络请求链表或网络应答链表;其中,当属于网络会话的镜像流量报文为请求报文时,将镜像流量报文添加至网络请求链表;当属于网络会话的镜像流量报文为响应报文时,将镜像流量报文添加至网络应答链表。
监控设备在构建完成网络会话、网络请求链表及网络应答链表后,可以基于网络请求链表及网络应答链表对当前采集的镜像流量报文或后续采集的镜像流量报文进行统计。
上述步骤可以进一步拆分为两个子步骤,第一个子步骤为判断采集的镜像流量报文是否属于已经创建好的网络会话,若是则执行下一个子步骤,若不是,则执行步骤S102。第二个子步骤为判断该镜像流量报文是请求报文还是响应报文,如果是请求报文,则将该镜像流量报文添加至网络请求链表中,如果是响应报文,则将该镜像流量报文添加至网络应答链表中。
需要说明的是,基于UDP的传输报文与基于TCP的传输报文的处理流程并不相同。下面以镜像流量报文为DNS(Domain Name System,域名系统)UDP报文(一种基于UDP的传输报文)和镜像流量报文为HTTP协议报文(一种基于TCP的传输报文)进行说明。
UDP的传输报文为面向非连接的报文,因此,监控设备在获取到DNS UDP报文后,直接基于DNS UDP报文创建网络会话、网络请求链表及网络应答链表。然后,监控设备再确定该DNS UDP报文是请求报文还是响应报文,根据当前DNS UDP报文的报文类型,将其添加至对应的链表中。后续,监控设备再获取到通信链路中的DNS UDP报文后,再确定其报文类型,并根据报文类型,将其添加至对应的链表中。
而基于TCP的传输报文为面向连接的报文,首先需要由客户端建议一条与服务器的TCP链接,即,客户端与服务器之间通过互相发送握手报文的方式建立TCP链接。此时,监控设备所获取的HTTP协议报文即为握手报文。监控设备直接基于握手报文创建网络会话,网络请求链表及网络应答链表。网络会话建立后,再通过后续接收到的包含请求数据或响应数据的HTTP协议报文来更新网络请求链表及网络应答链表。
步骤S104:基于网络请求链表及网络应答链表,生成表征网络行为的解析日志;其中,每一条解析日志包括一条来自网络请求链表的请求数据以及一条来自网络应答链表的响应数据,每一条解析日志中的请求数据和响应数据为对应关系。
最后,再基于两个链表,生成解析日志。需要说明的是,监控设备可以是只要检测到网络请求链表及网络应答链表中包含数据后即实施步骤S104,监控设备也可以是在网络会话结束后,实施步骤S104,对此,本申请不作限定。
一实施例中,上述步骤S104可以具体包括:获取网络请求链表中的第一条请求数据;从网络应答链表中确定出与网络请求链表中的第一条请求数据所对应的响应数据,然后基于网络请求链表中的第一条请求数据和对应的响应数据,生成第一条解析日志。然后,获取网络请求链表中的第二条请求数据;从网络应答链表中确定出与网络请求链表中的第二条请求数据所对应的响应数据,然后基于网络请求链表中的第二条请求数据和对应的响应数据,生成第二条解析日志。重复上述过程,直至生成第N条解析日志。其中,N为大于零的正整数,N为网络请求链表中的请求数据的数量。
另一实施例中,上述步骤S104可以具体包括:获取网络应答链表中的第一条响应数据;从网络请求链表中确定出与网络应答链表中的第一条响应数据所对应的请求数据,然后基于网络应答链表中的第一条响应数据和对应的请求数据,生成第一条解析日志。然后,获取网络应答链表中的第二条响应数据;从网络请求链表中确定出与网络应答链表中的第二条响应数据所对应的请求数据,然后基于网络应答链表中的第二条响应数据和对应的请求数据,生成第二条解析日志。重复上述过程,直至生成第N条解析日志。其中,N为大于零的正整数,N为网络应答链表中的响应数据的数量。
需要说明的是,针对不同的镜像流量报文,其请求数据与响应数据的匹配过程并不相同。
当镜像流量报文为DNS UDP报文时,上述步骤S104可以具体包括:查找网络请求链表中和网络应答链表中具有相同Transaction ID(事务标识)的数据;从网络请求链表中和网络应答链表提取具有相同Transaction ID的请求数据及响应数据,生成表征网络行为的解析日志。
需要说的是,查找的方式可以按照前述实施例中所提到的两种方式,此处不作赘述。
由于DNS UDP报文的请求与响应通过Transaction ID唯一对应,因此,通过上述方式,可以确定出网络请求链表中和网络应答链表的对应数据,进而实现对一个UDP流上面负载多对DNS请求及响应的网络行为分析。
其中,当镜像流量报文为DNS UDP报文,则输出的日志可以参考如下格式:
当镜像流量报文为HTTP协议报文时,上述步骤S104可以具体包括:从网络请求链表中和网络应答链表提取具有相同行的请求数据及响应数据,生成表征网络行为的解析日志;其中,网络请求链表中的请求数据根据采集时间依次按行排列,网络应答链表中的响应数据根据采集时间依次按行排列。
需要说明的是,由于HTTP协议的传输方式其自身满足一个请求一个响应的模式,因此,可以直接根据两个链表的排序顺序,确定出请求数据和响应数据为对应关系,即,从网络请求链表中和网络应答链表提取具有相同行的请求数据及响应数据,生成解析日志。
示例性的,可以直接从网络请求链表中提取第一个请求数据,从网络应答链表中提取第一个响应数据,然后基于第一个请求数据及第一个响应数据,生成第一条日志。然后,再从网络请求链表中提取第二个请求数据,从网络应答链表中提取第二个响应数据,再基于第二个请求数据及第二个响应数据,生成第二条日志。以此类推,直至处理完网络请求链表和网络应答链表中的所有数据。
可见,通过上述方式,以简单高效地实现多对HTTP请求及响应的网络行为分析,即上述方式能够有效地针对HTTP的pipeline模式。pipeline模式为一种长链接模式,一个TCP链接里有多对请求响应,顺序可能如下:请求-响应-请求-响应-请求-响应……
其中,当镜像流量报文HTTP协议报文时,则输出的日志可以参考如下格式:
此外,上述步骤S103:将通信链路中所采集的属于网络会话的镜像流量报文添加至网络请求链表或网络应答链表可以具体包括:将通信链路中所采集的属于网络会话的镜像流量报文先进行缓存,然后将缓存后的镜像流量报文添加至网络请求链表或网络应答链表。
也即,监控设备会先将属于网络会话的镜像流量报文进行缓存,然后,再将缓存的数据进行添加链表操作。以镜像流量报文为HTTP协议报文为例,监控设备先将通信链路中所采集的属于所述网络会话的HTTP协议报文进行缓存;再将缓存的HTTP协议报文添加至网络请求链表或网络应答链表。
可选地,在步骤S104基于网络请求链表及网络应答链表,生成表征网络行为的解析日志之后,该方法还可以包括:将网络请求链表及网络应答链表中已用于生成解析日志的数据删除。
示例性的,网络请求链表中包括请求数据A和请求数据B,网络应答链表中包括响应数据A和响应数据B,若监控设备已经基于请求数据A和响应数据A生成一条解析日志,则监控设备可以将请求数据A和响应数据A从链表中删除。
需要说明的是,监控设备通过在基于网络请求链表及网络应答链表,生成表征网络行为的解析日志之后,主动删除对应的请求数据和响应数据,可以保护内存,防止内存暴涨。
可选地,在步骤S104基于网络请求链表及网络应答链表,生成表征网络行为的解析日志之后,该方法还可以包括:将解析日志输出至分布式系统中,以使分布式系统对解析日志进行分析处理。
上述的分布式系统可以采用Kafka。其中,Kafka为一种高吞吐量的分布式发布订阅消息系统。
监控设备在生成解析日志后,可以将解析日志输出至分布式系统,以使得分布式系统来对解析日志进行后续的分析处理,通过该方式可以满足大流量的解析需求,同时通过分布式系统也可以做到负载均衡。
综上,在本申请实施例中,监控设备在获取到通信链路所采集的镜像流量报文时,基于该镜像流量报文创建网络会话、网络请求链表及网络应答链表;其中,网络请求链表用于统计同一网络会话的所有请求报文,而网络应答链表用于统计同一网络会话的所有响应报文,通过该方式,可以生成多应答多请求情况下的解析日志,进而实现对多应答多请求的网络行为分析。
请参阅图2,基于同一发明构思,本申请实施例还提供一种网络行为的解析装置100,该装置包括:
获取模块110,用于获取通信链路中所采集的镜像流量报文。
创建模块120,用于基于所述镜像流量报文创建网络会话、网络请求链表及网络应答链表。
处理模块130,用于将所述通信链路中所采集的属于所述网络会话的镜像流量报文添加至所述网络请求链表或所述网络应答链表;其中,当属于所述网络会话的镜像流量报文为请求报文时,将所述镜像流量报文添加至所述网络请求链表;当属于所述网络会话的镜像流量报文为响应报文时,将所述镜像流量报文添加至所述网络应答链表。
生成模块140,用于基于所述网络请求链表及所述网络应答链表,生成表征网络行为的解析日志;其中,每一条所述解析日志包括一条来自所述网络请求链表的请求数据以及一条来自所述网络应答链表的响应数据,每一条所述解析日志中的请求数据和响应数据为对应关系。
可选地,所述镜像流量报文为DNS UDP报文。相应的,生成模块140具体用于查找所述网络请求链表中和所述网络应答链表中具有相同Transaction ID的数据;从所述网络请求链表中和所述网络应答链表提取具有相同Transaction ID的请求数据及响应数据,生成所述表征网络行为的解析日志。
可选地,所述镜像流量报文为HTTP协议报文。生成模块140具体用于从所述网络请求链表中和所述网络应答链表提取具有相同行的请求数据及响应数据,生成所述表征网络行为的解析日志;其中,所述网络请求链表中的请求数据根据采集时间依次按行排列,所述网络应答链表中的响应数据根据采集时间依次按行排列。
可选地,网络行为的解析装置100还包括删除模块。删除模块用于在所述基于所述网络请求链表及所述网络应答链表,生成表征网络行为的解析日志之后,将所述网络请求链表及所述网络应答链表中已用于生成所述解析日志的数据删除。
可选地,网络行为的解析装置100还包括输出模块。输出模块用于在所述基于所述网络请求链表及所述网络应答链表,生成表征网络行为的解析日志之后,将所述解析日志输出至分布式系统中,以使所述分布式系统对所述解析日志进行分析处理。
可选地,创建模块120具体用于从所述镜像流量报文中提取五元组;基于所述五元组创建所述网络会话。
需要说明的是,由于所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
请参阅图3,本申请实施例提供的一种应用网络行为的解析方法及装置的监控设备200的示意性结构框图。本申请实施例中,监控设备200可以是终端或者服务器。终端可以是,但不限于个人计算机(Personal Computer,PC)、平板电脑、个人数字助理(PersonalDigital Assistant,PDA)。服务器可以是,但不限于网络服务器、数据库服务器、云服务器或由多个子服务器构成的服务器集成等。当然,上述列举的设备仅用于便于理解本申请实施例,其不应作为对本实施例的限定。
在结构上,监控设备200可以包括处理器210和存储器220。
处理器210与存储器220直接或间接地电性连接,以实现数据的传输或交互,例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。网络行为的解析装置100包括至少一个可以软件或固件(Firmware)的形式存储在存储器220中或固化在监控设备200的操作系统(Operating System,OS)中的软件模块。处理器210用于执行存储器220中存储的可执行模块,例如,网络行为的解析装置100所包括的软件功能模块及计算机程序等,以实现网络行为的解析方法。处理器210可以在接收到执行指令后,执行计算机程序。
其中,处理器210可以是一种集成电路芯片,具有信号处理能力。处理器210也可以是通用处理器,例如,可以是中央处理器(Central Processing Unit,CPU)、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、分立门或晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。此外,通用处理器可以是微处理器或者任何常规处理器等。
存储器220可以是,但不限于,随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-OnlyMemory,PROM)、可擦可编程序只读存储器(Erasable Programmable Read-Only Memory,EPROM),以及电可擦编程只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)。存储器220用于存储程序,处理器210在接收到执行指令后,执行该程序。
需要说明的是,图3所示的结构仅为示意,本申请实施例提供的监控设备200还可以具有比图3更少或更多的组件,或是具有与图3所示不同的配置。此外,图3所示的各组件可以通过软件、硬件或其组合实现。
一实施例中,上述处理器的数量可以是多个,以适应大流量的场景,其中,多个处理器可以各自绑定一个网卡队列或多个处理器中每第一预设数量的处理器绑定同一个网卡队列。
比如,在硬件上,监控设备可以采用256GB(吉字节)内存,多核心处理器,通常在16-128个核心,来处理10-40Gbps(吉比特/秒)的流量。
示例性的,10Gbps流量的场景下,可以将16个处理线程和16个处理器核心绑定,10Gbps的网卡创建16个网卡队列,每个处理线程来处理一个网卡队列的流量,一个队列的流量约为625Mbps(兆比特/秒)。也可以是,10Gbps流量的场景下,10Gbps的网卡创建16个网卡队列,每4个处理器来处理一个网卡队列的流量。第一预设数量为4,当然,在实际应用中,可以根据流量的大小来确定第一预设数量的数值,对此,本申请不作限定。即,当一个队列无法处理大量流量的时候,可以再新增多个处理器处理同一个网卡队列的数据,以防现场网卡队列流量暴涨。
此外,单个线程上处理625Mbps的流量时,最棘手的问题是TCP流量的重组,此处可以参考FreeBSD(一种UNIX操作系统),Linux(一种免费使用和自由传播的类UNIX操作系统)内核实现方法,采用链表来把整个TCP流串起来,以达到数据包能够正常到达应用层。
在上述过程中,可以抽象一系列的注册接口给应用层使用,如:
借助以上API(Application Programming Interface,应用程序)接口,来实现对应用层协议解析。
于本申请实施例中,当处理器的数量为多个时,多个处理器中每第二预设数量的处理器划分为一个结点,相同结点内部共用内存;每个所述处理器采用本地结点的内存访问,
其中,第二预设数量可以根据实际情况设定,比如第二预设数量可以是4个、8个等等,本申请不作限定。
示例性的,典型128核心ARM(Advanced RISC Machines)处理器,8核心为一个结点,共有16个结点,ARM处理器访问本地结点的内存的速率是访问最远结点的内存的10倍,因此,于本申请实施例中,监控设备采用本地结点的内存访问方式以提高内存访问速率,进而提高链表的构建过程。
于本申请实施例中,处理器在执行上述网络行为的解析方法的过程中,通过调用指令集,将通信链路中所采集的属于网络会话的镜像流量报文添加至网络请求链表或网络应答链表;其中,每个处理器通过调用所述指令集,以每次处理16~32字节的数据。
需要说明的是,上述的指令集可以是但不限于SIMD(Single InstructionMultiple Data,单指令多数据)指令集。
需要说明的是,常规的数据存取处理一次只处理一个字节,此处采用指令集的方式,可以一次处理16-32字节,相当于读数据上快了16-32倍。
可见,在本申请实施例中,处理器通过调用指令集,可以一次处理16-32字节的数据,可以加速内存处理速度,进而提高链表的构建过程。
基于同一发明构思,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被运行时执行上述实施例中提供的方法。
该存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种网络行为的解析方法,应用于监控设备,其特征在于,包括:
获取通信链路中所采集的镜像流量报文;
基于所述镜像流量报文创建网络会话、网络请求链表及网络应答链表;
将所述通信链路中所采集的属于所述网络会话的镜像流量报文添加至所述网络请求链表或所述网络应答链表;其中,当属于所述网络会话的镜像流量报文为请求报文时,将所述镜像流量报文添加至所述网络请求链表;当属于所述网络会话的镜像流量报文为响应报文时,将所述镜像流量报文添加至所述网络应答链表;
基于所述网络请求链表及所述网络应答链表,生成表征网络行为的解析日志;其中,每一条所述解析日志包括一条来自所述网络请求链表的请求数据以及一条来自所述网络应答链表的响应数据,每一条所述解析日志中的请求数据和响应数据为对应关系。
2.根据权利要求1所述的方法,其特征在于,所述镜像流量报文为DNS UDP报文;
所述基于所述网络请求链表及所述网络应答链表,生成表征网络行为的解析日志,包括:
查找所述网络请求链表中和所述网络应答链表中具有相同Transaction ID的数据;
从所述网络请求链表中和所述网络应答链表提取具有相同Transaction ID的请求数据及响应数据,生成所述表征网络行为的解析日志。
3.根据权利要求1所述的方法,其特征在于,所述镜像流量报文为HTTP协议报文,所述将所述通信链路中所采集的属于所述网络会话的镜像流量报文添加至所述网络请求链表或所述网络应答链表,包括:
将所述通信链路中所采集的属于所述网络会话的HTTP协议报文进行缓存;
将缓存的HTTP协议报文添加至所述网络请求链表或所述网络应答链表。
4.根据权利要求1所述的方法,其特征在于,所述镜像流量报文为HTTP协议报文;
所述基于所述网络请求链表及所述网络应答链表,生成表征网络行为的解析日志,包括:
从所述网络请求链表中和所述网络应答链表提取具有相同行的请求数据及响应数据,生成所述表征网络行为的解析日志;其中,所述网络请求链表中的请求数据根据采集时间依次按行排列,所述网络应答链表中的响应数据根据采集时间依次按行排列。
5.根据权利要求1所述的方法,其特征在于,在所述基于所述网络请求链表及所述网络应答链表,生成表征网络行为的解析日志之后,所述方法还包括:
将所述网络请求链表及所述网络应答链表中已用于生成所述解析日志的数据删除。
6.根据权利要求1所述的方法,其特征在于,在所述基于所述网络请求链表及所述网络应答链表,生成表征网络行为的解析日志之后,所述方法还包括:
将所述解析日志输出至分布式系统中,以使所述分布式系统对所述解析日志进行分析处理。
7.一种网络行为的解析装置,应用于监控设备,其特征在于,包括:
获取模块,用于获取通信链路中所采集的镜像流量报文;
创建模块,用于基于所述镜像流量报文创建网络会话、网络请求链表及网络应答链表;
处理模块,用于将所述通信链路中所采集的属于所述网络会话的镜像流量报文添加至所述网络请求链表或所述网络应答链表;其中,当属于所述网络会话的镜像流量报文为请求报文时,将所述镜像流量报文添加至所述网络请求链表;当属于所述网络会话的镜像流量报文为响应报文时,将所述镜像流量报文添加至所述网络应答链表;
生成模块,用于基于所述网络请求链表及所述网络应答链表,生成表征网络行为的解析日志;其中,每一条所述解析日志包括一条来自所述网络请求链表的请求数据以及一条来自所述网络应答链表的响应数据,每一条所述解析日志中的请求数据和响应数据为对应关系。
8.一种监控设备,其特征在于,包括:处理器和存储器,所述处理器和所述存储器连接;
所述存储器用于存储程序;
所述处理器用于运行存储在所述存储器中的程序,执行如权利要求1-6中任一项所述的方法。
9.根据权利要求8所述的监控设备,其特征在于,所述处理器的数量为多个;
其中,多个所述处理器各自绑定一个网卡队列或多个所述处理器中每第一预设数量的处理器绑定同一个网卡队列,每个所述处理器均用于执行如权利要求1-6中任一项所述的方法;且多个所述处理器中每第二预设数量的处理器划分为一个结点,相同结点内部共用内存;每个所述处理器采用本地结点的内存访问。
10.根据权利要求8所述的监控设备,其特征在于,所述处理器通过调用指令集,将所述通信链路中所采集的属于所述网络会话的镜像流量报文添加至所述网络请求链表或所述网络应答链表;其中,所述处理器通过调用所述指令集,以每次处理16~32字节的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210682891.8A CN114928638B (zh) | 2022-06-16 | 2022-06-16 | 一种网络行为的解析方法、装置及监控设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210682891.8A CN114928638B (zh) | 2022-06-16 | 2022-06-16 | 一种网络行为的解析方法、装置及监控设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114928638A true CN114928638A (zh) | 2022-08-19 |
CN114928638B CN114928638B (zh) | 2024-08-02 |
Family
ID=82815232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210682891.8A Active CN114928638B (zh) | 2022-06-16 | 2022-06-16 | 一种网络行为的解析方法、装置及监控设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114928638B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116633752A (zh) * | 2023-04-07 | 2023-08-22 | 南京和子祥企业管理有限公司 | 一种基于大数据的分析管理系统 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050289231A1 (en) * | 2004-06-24 | 2005-12-29 | Fujitsu Limited | System analysis program, system analysis method, and system analysis apparatus |
US7657618B1 (en) * | 2004-10-15 | 2010-02-02 | F5 Networks, Inc. | Management of multiple client requests |
US20140157352A1 (en) * | 2012-11-30 | 2014-06-05 | Somansa Co., Ltd | Apparatus and method for analyzing and monitoring service advertising protocol application traffic, and information protection system using the same |
KR101518470B1 (ko) * | 2014-06-16 | 2015-05-07 | 주식회사 플랜티넷 | 인터넷 접속 요청을 하는 클라이언트 단말의 인터넷 접속 요청 트래픽으로부터 동일한 공인 ip를 이용하는 사설 네트워크상의 복수개의 클라이언트 단말 중에서 웹서버에 의해 선별된 디바이스의 대수를 검출하는 방법 및 공인 ip 공유 상태의 디바이스의 선별적인 검출 시스템 |
CN104766014A (zh) * | 2015-04-30 | 2015-07-08 | 安一恒通(北京)科技有限公司 | 用于检测恶意网址的方法和系统 |
US20180018207A1 (en) * | 2014-09-23 | 2018-01-18 | Cavium, Inc. | Session based packet mirroring in a network asic |
KR20180020781A (ko) * | 2016-08-19 | 2018-02-28 | (주)이지서티 | 빅 데이터 시스템에서 세션별 패킷 수집 기반 로그 생성 방법 및 장치 |
US10015205B1 (en) * | 2014-07-23 | 2018-07-03 | Microsoft Israel Research And Development (2002) Ltd. | Techniques for traffic capture and reconstruction |
US20190320479A1 (en) * | 2018-04-13 | 2019-10-17 | Samsung Electronics Co., Ltd. | Method and system for handling data path creation in wireless network system |
CN110839060A (zh) * | 2019-10-16 | 2020-02-25 | 武汉绿色网络信息服务有限责任公司 | 一种DPI场景中http多会话的文件还原方法和装置 |
CN111737222A (zh) * | 2020-06-24 | 2020-10-02 | 四川长虹电器股份有限公司 | 基于一对多请求响应模型消息队列数据包存储检索的方法 |
CN112272179A (zh) * | 2020-10-23 | 2021-01-26 | 新华三信息安全技术有限公司 | 一种网络安全处理方法、装置、设备及机器可读存储介质 |
CN112583936A (zh) * | 2020-12-29 | 2021-03-30 | 上海阅维科技股份有限公司 | 重组传输会话流的方法 |
CN113765846A (zh) * | 2020-06-01 | 2021-12-07 | 极客信安(北京)科技有限公司 | 一种网络异常行为智能检测与响应方法、装置及电子设备 |
-
2022
- 2022-06-16 CN CN202210682891.8A patent/CN114928638B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050289231A1 (en) * | 2004-06-24 | 2005-12-29 | Fujitsu Limited | System analysis program, system analysis method, and system analysis apparatus |
US7657618B1 (en) * | 2004-10-15 | 2010-02-02 | F5 Networks, Inc. | Management of multiple client requests |
US20140157352A1 (en) * | 2012-11-30 | 2014-06-05 | Somansa Co., Ltd | Apparatus and method for analyzing and monitoring service advertising protocol application traffic, and information protection system using the same |
KR101518470B1 (ko) * | 2014-06-16 | 2015-05-07 | 주식회사 플랜티넷 | 인터넷 접속 요청을 하는 클라이언트 단말의 인터넷 접속 요청 트래픽으로부터 동일한 공인 ip를 이용하는 사설 네트워크상의 복수개의 클라이언트 단말 중에서 웹서버에 의해 선별된 디바이스의 대수를 검출하는 방법 및 공인 ip 공유 상태의 디바이스의 선별적인 검출 시스템 |
US10015205B1 (en) * | 2014-07-23 | 2018-07-03 | Microsoft Israel Research And Development (2002) Ltd. | Techniques for traffic capture and reconstruction |
US20180018207A1 (en) * | 2014-09-23 | 2018-01-18 | Cavium, Inc. | Session based packet mirroring in a network asic |
CN104766014A (zh) * | 2015-04-30 | 2015-07-08 | 安一恒通(北京)科技有限公司 | 用于检测恶意网址的方法和系统 |
KR20180020781A (ko) * | 2016-08-19 | 2018-02-28 | (주)이지서티 | 빅 데이터 시스템에서 세션별 패킷 수집 기반 로그 생성 방법 및 장치 |
US20190320479A1 (en) * | 2018-04-13 | 2019-10-17 | Samsung Electronics Co., Ltd. | Method and system for handling data path creation in wireless network system |
CN111937364A (zh) * | 2018-04-13 | 2020-11-13 | 三星电子株式会社 | 无线网络系统中处理数据路径创建的方法和系统 |
CN110839060A (zh) * | 2019-10-16 | 2020-02-25 | 武汉绿色网络信息服务有限责任公司 | 一种DPI场景中http多会话的文件还原方法和装置 |
CN113765846A (zh) * | 2020-06-01 | 2021-12-07 | 极客信安(北京)科技有限公司 | 一种网络异常行为智能检测与响应方法、装置及电子设备 |
CN111737222A (zh) * | 2020-06-24 | 2020-10-02 | 四川长虹电器股份有限公司 | 基于一对多请求响应模型消息队列数据包存储检索的方法 |
CN112272179A (zh) * | 2020-10-23 | 2021-01-26 | 新华三信息安全技术有限公司 | 一种网络安全处理方法、装置、设备及机器可读存储介质 |
CN112583936A (zh) * | 2020-12-29 | 2021-03-30 | 上海阅维科技股份有限公司 | 重组传输会话流的方法 |
Non-Patent Citations (1)
Title |
---|
程光,周爱平,吴桦: ""计算机网络协议与服务的探索"", 北京理工大学出版社, pages: 204 - 209 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116633752A (zh) * | 2023-04-07 | 2023-08-22 | 南京和子祥企业管理有限公司 | 一种基于大数据的分析管理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114928638B (zh) | 2024-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10693734B2 (en) | Traffic pattern detection and presentation in container-based cloud computing architecture | |
Han et al. | Evaluating blockchains for IoT | |
Anderson et al. | xOMB: Extensible open middleboxes with commodity servers | |
CN111124819B (zh) | 全链路监控的方法和装置 | |
US20020174421A1 (en) | Java application response time analyzer | |
US10999168B1 (en) | User defined custom metrics | |
US20030055883A1 (en) | Synthetic transaction monitor | |
US8849981B2 (en) | Response time benchmarking | |
US7171464B1 (en) | Method of tracing data traffic on a network | |
CN112087520B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN110546615B (zh) | 超动态java管理扩展 | |
US10983848B2 (en) | Implicit push data transfer | |
US10775751B2 (en) | Automatic generation of regular expression based on log line data | |
CN113364804B (zh) | 一种流量数据的处理方法和装置 | |
US20230214229A1 (en) | Multi-tenant java agent instrumentation system | |
CN113676372B (zh) | 通信性能的测试方法、装置和存储介质 | |
EP2634699B1 (en) | Application monitoring | |
CN114928638B (zh) | 一种网络行为的解析方法、装置及监控设备 | |
KR20220001606A (ko) | 대용량 네트워크 모니터링을 위한 실시간 패킷 데이터 저장 방법 및 장치 | |
EP3010194B1 (en) | Method of tracing a transaction in a network | |
Ciliendo et al. | Linux performance and tuning guidelines | |
CN116932370A (zh) | 模糊测试方法、装置、电子设备、程序产品以及存储介质 | |
KR20220001605A (ko) | 대용량 네트워크 모니터링을 위한 실시간 패킷 데이터 수집 방법 및 장치 | |
Uzun et al. | End-to-end internet speed analysis of mobile networks with mapReduce | |
CN110391950A (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 |