[go: up one dir, main page]

CN120880877A - 一种全流量分析方法和装置 - Google Patents

一种全流量分析方法和装置

Info

Publication number
CN120880877A
CN120880877A CN202511076940.3A CN202511076940A CN120880877A CN 120880877 A CN120880877 A CN 120880877A CN 202511076940 A CN202511076940 A CN 202511076940A CN 120880877 A CN120880877 A CN 120880877A
Authority
CN
China
Prior art keywords
data packet
analysis
protocol
time
original 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.)
Pending
Application number
CN202511076940.3A
Other languages
English (en)
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.)
709th Research Institute of CSSC
Original Assignee
709th Research Institute of CSSC
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 709th Research Institute of CSSC filed Critical 709th Research Institute of CSSC
Priority to CN202511076940.3A priority Critical patent/CN120880877A/zh
Publication of CN120880877A publication Critical patent/CN120880877A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • H04L41/064Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis involving time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及流量分析技术领域,特别是涉及一种全流量分析方法和装置。该方法包括基于DPDK框架捕获网络环境中的全流量,对全流量做处理,得到处理后的全流量;解析处理后的全流量,得到至少一个原始数据包;建立各个原始数据包与自身所对应的第一索引信息之间的映射关系;分别对各个原始数据包进行实时分析,得到各个原始数据包所对应的实时分析结果;基于分析请求和所述映射关系从至少一个原始数据包中检索出对应的目标数据包;对目标数据包执行跨时间维度的行为分析,得到深度分析结果;整合目标数据包对应的实时分析结果和深度分析结果,生成网络状态分析报告。本发明可以捕获全流量,并对全流量进行存储与分析以满足用户需求。

Description

一种全流量分析方法和装置
技术领域
本发明涉及流量分析技术领域,特别是涉及一种全流量分析方法和装置。
背景技术
在当前的企业网络和互联网环境中,网络故障、安全攻击或性能瓶颈等问题时有发生。为了诊断这些问题,运维人员通常需要抓取网络流量进行分析,以定位异常原因。目前,主流的流量抓取与分析工具,如Wireshark、tcpdump和Tshark等,能够捕获并分析特定网卡上的数据包。它们提供了包括协议解析、过滤以及统计在内的多种功能。然而,在实际应用中,这些工具面临一些挑战。
首先,传统抓包工具在流量捕获方面的能力有限,难以实现全流量捕获。传统抓包工具多基于libpcap(英文全称为:Packet Capture Library)库开发,传统抓包工具通过libpcap库与操作系统内核交互,利用内核网络协议栈提供的数据包捕获机制来获取网络流量。这种依赖于用户态库(如,libpcap)、内核协议栈和特定捕获接口的多层架构,在大流量(比如10Gbps以上)环境下带来了一定的局限性。例如,在缓冲区大小受限的情况下,可能会导致数据包丢失,无法完整记录所有经过的数据包。此外,传统抓包工具通常只能捕捉到通过特定端口的流量,而不能覆盖整个网络的所有流量,特别是跨VLAN或多网卡环境下的流量。再者,传统抓包工具主要用于实时分析,捕获的数据往往是临时存储,不利于长期保存和回溯分析。
另外,尽管传统抓包工具可以提供基于规则匹配的实时告警,并支持对数据包的解析,但它们要么缺乏原始数据包级别的证据支持,要么无法将数据包解析结果与实时告警有效关联起来。这意味着运维人员可能需要手动比对时间和日志来完成分析工作,增加了工作的复杂性和难度。
鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提出了一种全流量分析方法和装置,可以捕获全流量,并对全流量进行存储与分析以满足用户需求。
本发明实施例采用如下技术方案:
第一方面,本发明提供了一种全流量分析方法,具体为:基于DPDK框架捕获网络环境中的全流量数据,对所述全流量数据做处理,得到处理后的全流量数据;解析所述处理后的全流量数据,得到至少一个原始数据包;
建立各个所述原始数据包与自身所对应的第一索引信息之间的映射关系;
分别对各个所述原始数据包进行实时分析,得到各个所述原始数据包所对应的实时分析结果;
基于分析请求和所述映射关系从至少一个原始数据包中检索出对应的目标数据包;对所述目标数据包执行跨时间维度的行为分析,得到深度分析结果;
整合所述目标数据包对应的实时分析结果和所述深度分析结果,生成网络状态分析报告。
优选地,建立各个所述原始数据包与自身所对应的第一索引信息之间的映射关系;并分别存储所述原始数据包和所述第一索引信息包括:
按固定时间窗口对所有原始数据包分组,并计算每个窗口的基础时间戳;
针对每一个分组,将分组内包含的所有原始数据包连续写入一个包文件中;所述包文件的文件名包含基础时间戳;
为每个原始数据包建立对应的第一索引条目;
针对每一个分组,将分组内包含的原始数据包所对应的第一索引条目写入一个原始索引文件,所述原始索引文件的文件名包含所述基础时间戳;
将基础时间戳转换为本地时间,并将所述本地时间及其对应的原始索引文件的存储路径作为第一索引信息存入数据库。
优选地,所述第一索引条目包括第一索引值,为每个原始数据包建立对应的第一索引值,包括:
提取所述原始数据包中的特征信息;
将所述特征信息转换为多个对应的十进制数值,将所述十进制数值作为所述原始数据包的第一索引值。
优选地,所述第一索引条目还包括原始数据包在对应包文件中的偏移量和长度,所述基于分析请求和所述映射关系从至少一个原始数据包中检索出对应的目标数据包,包括:
解析所述分析请求中的时间范围条件和协议特征条件;
获取符合所述时间范围条件的第二索引信息;
根据所述第二索引信息定位文件系统中对应的目标索引文件;
对目标索引文件中的第二索引条目进行筛选,得到匹配所述协议特征条件的偏移量和长度;
基于所述偏移量和长度,从包文件中读取对应的原始数据包,将所述原始数据包封装为标准pcap格式,得到目标数据包。
优选地,所述深度分析结果包括会话记录和字段信息,所述对所述目标数据包执行跨时间维度的行为分析,得到深度分析结果,包括:
对所述目标数据包进行协议分层解析,识别链路层、网络层和传输层的协议信息;
基于所述协议信息对所述目标数据包中的会话进行分类统计,生成各层面对话的会话记录;
解析所述目标数据包中的每一帧数据,得到包含目标数据包内容的字段信息。
优选地,所述实时分析结果包括流量分类结果,所述分别对各个所述原始数据包进行实时分析,得到各个所述原始数据包所对应的实时分析结果,包括:
分别对各个所述原始数据包逐层解码,得到每个原始数据包在不同层使用的协议类型及协议信息;
对于每个原始数据包,组合每一层对应的协议类型和协议信息,得到所述原始数据包对应的协议栈组合;
基于所述协议栈组合对所述原始数据包的流量进行分类,得到流量分类结果。
优选地,所述实时分析结果还包括应用评估结果,所述对所述原始数据包进行并行实时分析,得到实时分析结果,包括:
从所述原始数据包中提取与目标应用业务相关的应用层数据;
识别所述应用层数据所使用的协议类型;
基于所述协议类型选择对应的协议解析器,对所述应用层数据进行行为分析,得到反映目标应用业务运行状态的关键性能指标;
基于所述关键性能指标评估所述目标应用业务的健康状态,得到应用评估结果。
优选地,所述整合所述目标数据包对应的实时分析结果和所述深度分析结果,生成网络状态分析报告,包括:
获取目标数据包对应的实时分析结果,所述实时分析结果包括异常事件的目标时间戳;
获取与所述目标时间戳对应的深度分析结果,所述深度分析结果包括协议违规字段;
基于所述目标时间戳整合异常事件与协议违规字段,生成网络状态分析报告。
第二方面,本发明提供了一种全流量分析装置,具体为:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行第一方面中的全流量分析方法。
第三方面,本发明还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,用于完成第一方面所述的方法。
与现有技术相比,本发明的有益效果在于:通过DPDK框架实现全流量无丢包捕获,有效规避传统内核协议栈的性能瓶颈,采用用户态轮询驱动和内存池优化技术确保在100Gbps级流量下仍能维持零丢包率;同时构建时序索引存储架构,将原始数据包与索引信息进行时间维度上的精确关联,使得用户在需要时可通过时间范围、协议特征等条件,高速定位并提取对应的数据包内容,实现毫秒级响应与访问;并基于用户需求整合对应的实时分析结果和深度分析结果,在保证全流量存储的前提下,实现实时分析与深度分析的高效协同。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种全流量分析方法的流程示意图;
图2是本发明实施例提供的步骤102的流程示意图;
图3是本发明实施例提供的一种基于分析请求和所述映射关系从至少一个原始数据包中检索出对应的目标数据包的流程示意图;
图4是本发明实施例提供的一种对目标数据包执行跨时间维度的行为分析的流程示意图;
图5是本发明实施例提供的一种对原始数据包进行实时分析的流程示意图;
图6是本发明实施例提供的另一种对原始数据包进行实时分析的流程示意图;
图7是本发明实施例提供的生成告警的流程图;
图8是本发明实施例提供的生成基线的流程图;
图9是本发明实施例提供的生成报表的流程图;
图10为本发明实施例提供的一种全流量分析装置的结构示意图;
其中,附图标记如下:
21:处理器;22:存储器。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
除非上下文另有要求,否则,在整个说明书和权利要求书中,术语“包括”被解释为开放包含的意思,即为“包含,但不限于”。在说明书的描述中,术语“一个实施例”、“一些实施例”、“示例性实施例”、“示例”、“特定示例”或“一些示例”等旨在表明与该实施例或示例相关的特定特征、结构、材料或特性包括在本公开的至少一个实施例或示例中。上述术语的示意性表示不一定是指同一实施例或示例。此外,所述的特定特征、结构、材料或特性可以以任何适当方式包括在任何一个或多个实施例或示例中,即虽然它们会因为出现顺序和位置等原因,被承载在上述术语的实施例或示例中,但是,并不限定它们之间可以以组合的方式由一个实施例或示例进行承载。
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。除此以外,例如描述之中也会对于同一类名词,使用末尾增加“A”、“B”的方式将其描述为独立的两个个体,在这种情况下相应的限定有“A”、“B”的特征仅用于区分同类个体描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
在本发明的描述中,会涉及“A和/或B”(其中的A和B用以形式代表具体的特征内容)的表述方式,相应的表述方式包括以下三种组合:仅A,仅B,及A和B的组合。
在本发明所使用的“约”、“大致”或“近似”包括所阐述的值以及处于特定值的可接受偏差范围内的平均值,其中所述可接受偏差范围如由本领域普通技术人员考虑到正在讨论的测量以及与特定量的测量相关的误差(即,测量系统的局限性)所确定。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例1:
本发明提供的一种全流量分析方法由多个模块独立完成,降低耦合度,使之更易于排错和扩展,其中多个模块包括流量捕获模块、实时分析模块、数据包存储模块、数据统计模块、深度分析模块和数据展示模块。通过将抓包,解析,存包等功能独立成单独进程,进程间共享内存,可以做到抓包,解析和存包实时并且同时进行。在数据包存储方面,以linux系统的AIO(英文全称为:Asynchronous Input/Output)方式进行高速写包,结合系统文件特性,保证数据包的实时存储。
如图1所示,本发明实施例1提供了一种全流量分析方法,该方法具体包括如下步骤:
步骤101:基于DPDK框架捕获网络环境中的全流量数据,对所述全流量数据做处理,得到处理后的全流量数据;解析所述处理后的全流量数据,得到至少一个原始数据包。
在一个实施例中,DPDK(英文全称为Data Plane Development Kit)是一种高性能数据平面开发工具集,DPDK通过用户态驱动直接接管网卡的数据收发,巧妙绕过传统内核协议栈的性能瓶颈,实现了高效的全流量捕获。DPDK利用UIO(英文全称为Userspace I/O)技术将网卡设备映射到用户空间,减少了内核态与用户态之间的切换延迟,并采用轮询机制主动获取全流量数据,进一步降低了处理延迟并提高了吞吐量。此外,DPDK通过使用大页内存减少转译后备缓冲器未命中(Translation Lookaside Buffer MISS,简写为TLBMiss)情况,优化了内存访问速度,并借助预分配内存池和零拷贝技术消除了动态内存分配带来的性能波动。为了最大化性能,DPDK还确保网卡、中央处理器(Central ProcessingUnit,简写为CPU)核心和内存位于同一节点内,减少了跨节点访问的延迟。这些设计使得DPDK在高流量环境下依然表现出色,实测显示,在100Gbps网络中也能实现接近零丢包的抓包性能,为后续的数据存储和分析提供了可靠的基础。另外,对全流量数据进行处理,包括过滤无关数据包、去除重复项以及划分不同类型的流量,并将处理后的数据包以特定格式推送给实时分析模块和数据包存储模块,以供后续的存储与分析,其中,实时分析模块和数据包存储模块为独立运行的进程。
在一个实施例中,还可以根据网卡队列均衡策略配置多队列,将每个接收队列绑定到不同的CPU核心,充分利用多核处理器的能力,减少单个核心的负载,从而提升DPDK整体的输入/输出(Input/Output,简写为I/O)性能。通过解析原始数据包的源网际互连协议(Internet Protocol,简写为IP)、目的IP、源端口、目的端口和协议类型并组成五元组,按策略将数据包分发到不同队列,确保数据包能够均匀分布到各个队列中,避免某个队列过载,同时允许多个核心并行处理这些队列中的数据包,进一步提高DPDK的处理速度。其中,五元组包括源IP、目的IP、源端口、目的端口和协议类型。
步骤102:建立各个所述原始数据包与自身所对应的第一索引信息之间的映射关系;并分别存储所述原始数据包和所述第一索引信息。
在一个实施例中,通过建立原始数据包-索引条目-索引信息的关联关系,将原始数据包与索引信息联系起来,并通过时间戳关联三者,在保证存储效率的同时实现快速检索和分析,这样既能减少存储冗余,又能支持毫秒级的复杂查询例如,某IP在特定时间段的超文本传输协议(HypertextTransfer Protocol,简写为HTTP)请求,从而解决全流量场景下海量数据存储与高效分析的矛盾。
步骤103:分别对各个所述原始数据包进行实时分析,得到各个所述原始数据包所对应的实时分析结果。
在一个实施例中,本发明采用并行处理架构,对所有原始数据包均进行实时分析,实时分析包括基础分析与应用分析,实时分析结果包括流量分类结果和应用评估结果,基础分析(解析链路层、网络层和传输层的网络协议栈,并对流量进行分类)与应用分析(调用不同协议的解析器解析应用层协议,得到业务健康状况)可同时独立运行,任一分析任务的中断均不影响另一任务的持续执行,所有实时分析结果均实时写入数据库,为后续的关联查询提供完整的数据支撑。
步骤104:基于分析请求和所述映射关系从至少一个原始数据包中检索出对应的目标数据包;对所述目标数据包执行跨时间维度的行为分析,得到深度分析结果。
在一个实施例中,深度分析采用按需触发机制,当用户提交包含时间范围、协议特征等条件的分析请求时,系统会基于该请求从文件系统中快速检索出符合条件的目标数据包,并对其执行跨时间维度的协议行为分析得到深度分析结果。其中,深度分析结果也存入数据库。
步骤105:整合所述目标数据包对应的实时分析结果和所述深度分析结果,生成网络状态分析报告。
在一个实施例中,目标数据包即符合分析请求的原始数据包,在步骤103中已将所有原始数据包的实时分析结果存入数据库,从数据库中获取目标数据包对应的实时分析结果,所述实时分析结果包括异常事件的目标时间戳;从数据库中获取与所述目标时间戳对应的深度分析结果,所述深度分析结果包括协议违规字段;基于所述目标时间戳整合异常事件与协议违规字段,生成网络状态分析报告。
本实施例通过DPDK框架实现全流量无丢包捕获,有效规避传统内核协议栈的性能瓶颈,采用用户态轮询驱动和内存池优化技术确保在100Gbps级流量下仍能维持零丢包率;同时构建时序索引存储架构,将原始数据包与索引信息进行时间维度上的精确关联,使得用户在需要时可通过时间范围、协议特征等条件,高速定位并提取对应的数据包内容,实现毫秒级响应与访问;并基于用户需求整合对应的实时分析结果和深度分析结果,在保证全流量存储的前提下,实现实时分析与深度分析的高效协同。
在大流量场景下,为了实现对网络环境中全流量数据的深度分析,首先需要捕获并存储这些原始数据包。当需要进行具体分析时,再从文件系统中提取出目标数据包,并对其进行解析和处理。然而,由于原始数据包的数量极其庞大,若直接基于内容或元数据对海量原始包进行检索,其响应速度将非常缓慢,难以满足实时或近实时分析的需求。本实施例通过时间窗口和分层索引的方法,实现对原始数据包的高效存储与亚秒级检索。
如图2所示,本实施例提供了步骤102的具体实现方法,该方法具体包括如下步骤:
步骤201:按固定时间窗口对所有原始数据包分组,并计算每个窗口的基础时间戳。
在一个实施例中,固定时间窗口指预先设定好的、长度固定的连续时间间隔(如1分钟、5分钟或1小时),每个窗口的基础时间戳指这个固定时间窗口的起始时间点;获取每个原始数据包的捕获时间戳,将捕获时间戳落在同一窗口区间内的所有原始数据包划分为一组。其中,固定时间窗口可以根据实际情况自由设定,在此不做限定。
步骤202:针对每一个分组,将分组内包含的所有原始数据包连续写入一个包文件中;所述包文件的文件名包含基础时间戳。
在一个实施例中,将同一组的原始数据包按捕获时间戳的顺序写入一个包文件,一个分组对应一个包文件,将所有的包文件存入文件系统,每个包文件的文件名包含基础时间戳,例如,一个包文件可命名为“1620000000.-d”。
步骤203:为每个原始数据包建立对应的第一索引条目。
在一个实施例中,第一索引条目包括第一索引值和原始数据包在对应包文件中的偏移量和长度,其中,第一索引值的获取方法为:提取所述原始数据包中的特征信息;将所述特征信息转换为多个对应的十进制数值,将所述十进制数值作为所述原始数据包的第一索引值。
步骤204:针对每一个分组,将分组内包含的原始数据包所对应的第一索引条目写入一个原始索引文件,所述原始索引文件的文件名包含所述基础时间戳。
在一个实施例中,一个分组对应一个原始索引文件,将所有的原始索引文件写入文件系统,每个原始索引文件的文件名包含基础时间戳,例如一个原始索引文件可命名为“1620000000.-i”,原始索引文件通过基础时间戳与包文件关联。
步骤205:将基础时间戳转换为本地时间,并将所述本地时间及其对应的原始索引文件的存储路径作为第一索引信息存入数据库。
在一个实施例中,基于原始索引文件的文件名与基础时间戳进行一一对应,获取与基础时间戳对应的原始索引文件的存储路径,并通过转换规则将基础时间戳转换为本地时间。
进一步地,包文件、原始索引文件和第一索引信息都采用异步输入/输出接口的方式写入,该写入操作由独立进程执行以确保稳定性。
同时本发明提供专用的读取服务(或库函数),支持基于时间范围和协议特征等多维条件快速检索存储的原始数据包,实现高效读写分离的全流量数据管理架构。
如图3所示,本实施例提供了一种基于分析请求和所述映射关系从至少一个原始数据包中检索出对应的目标数据包的方法,该方法具体包括如下步骤:
步骤301:解析所述分析请求中的时间范围条件和协议特征条件。
在一个实施例中,协议特征条件包括源ip、目的ip、源端口、目的端口、标识符或协议中的一种或者多种。
步骤302:从所述数据库中获取符合所述时间范围条件的第二索引信息。
在一个实施例中,在数据库中,以时间作为检索条件,从多个第一索引信息中检索出符合时间范围条件的第二索引信息。例如,时间范围为2021-05-04 00:00:00到2021-05-04 00:00:59.999,而1620000000转换为本地时间为2021-05-04 00:00:00在时间范围内,则可以找到对应的第二索引信息。
步骤303:根据所述第二索引信息定位文件系统中对应的目标索引文件。
在一个实施例中,基于检索到的第二索引信息,获取第二索引信息记录的存储路径,并根据该路径在文件系统中定位并得到对应的目标索引文件。即,目标索引文件为符合时间范围条件的原始索引文件。
步骤304:对目标索引文件中的第二索引条目进行筛选,得到匹配所述协议特征条件的偏移量和长度。
在一个实施例中,对步骤303中找到的目标索引文件中的第二索引条目进行逐项匹配,找到符合协议条件的索引条目,并获取该索引条目对应的原始数据包在对应包文件中的偏移量和长度。
步骤305:基于所述偏移量和长度,从包文件中读取对应的原始数据包,将所述原始数据包封装为标准pcap格式,得到目标数据包。
在一个实施例中,根据目标索引文件的文件名上的基础时间戳匹配到对应的包文件,基于偏移量和长度,从该包文件中读取对应的原始数据包,并将原始数据包封装为标准pcap格式,得到目标数据包。如果原始数据包的格式是其他格式,则需要将原始数据包的格式转换成pcap格式。
在得到目标数据包后,可以基于用户对网络安全的需求,深入分析目标数据包,检测是否存在协议违规字段,如非法标志位或异常字段值;同时结合会话分类统计,分析通信模式与数据交互特征,从而还原网络事件的因果链,识别潜在安全威胁。
如图4所示,本实施例提供了一种对目标数据包执行跨时间维度的行为分析方法,该方法具体包括如下步骤:
步骤401:对所述目标数据包进行协议分层解析,识别链路层、网络层和传输层的协议信息。
在一个实施例中,对目标数据包执行协议分层解析时,可以采用自底向上的方式逐层剥离协议头部,首先识别链路层的MAC地址(英文全称为:Media Access ControlAddress),接着解析网络层的IP分片和生存时间(Time To Live,简写为TTL)值等关键字段,最后提取传输层的端口号、序列号及控制标志位等,通过这种分层解码机制确保各层协议特征的完整提取,为后续的异常检测和流量分析提供精准的协议上下文信息。
步骤402:基于所述协议信息对所述目标数据包中的会话进行分类统计,生成各层面对话的会话记录。
在一个实施例中,基于提取的各层协议信息,可以通过五元组和时序关联算法对目标数据包进行会话重组,自动识别并统计链路层的MAC地址会话、网络层的IP通信对以及传输层的TCP/UDP会话流,生成包含会话持续时间、数据包数量、流量大小等指标的完整会话记录表,同时标记异常会话(如IP分片攻击等),为网络行为分析提供结构化的会话级统计数据。
步骤403:解析所述目标数据包中的每一帧数据,得到包含目标数据包内容的字段信息。
在一个实施例中,对目标数据包执行逐帧解析时,可以采用协议栈感知的解码引擎,按照以太网帧头、IP包头、传输层头部的顺序依次拆解数据包结构,精确提取各层协议字段(如,源MAC地址、目的MAC地址、IP分片标识、TCP序列号),同时支持对应用层载荷(如,HTTP头部)的深度解析,这种细粒度的字段级分析可以识别传统抓包工具难以发现的协议违规字段。
为了得到更丰富的信息,可以在全流量捕获的同时进行实时分析,实时分析能够第一时间识别网络异常事件,为后续的深度分析提供精准的目标范围,这种实时预处理机制大幅提升了全流量分析的效率和时效性,可以确保重要安全事件不被海量数据淹没。
如图5所示,本实施例提供了一种对原始数据包进行实时分析的方法,该方法具体包括如下步骤:
步骤501:对所述原始数据包逐层解码,得到所述原始数据包在不同层使用的协议类型及协议信息。
在一个实施例中,系统采用协议栈分层解析技术对原始数据包进行逐层解码,从链路层的MAC地址和以太网类型开始解析,依次提取网络层的IP版本和TTL值、传输层的端口号和标志位等关键协议信息。
步骤502:组合每一层对应的协议类型和协议信息,得到所述原始数据包对应的协议栈组合。
在一个实施例中,通过整合原始数据包在各协议层解析得到的协议类型(如以太网和TCP)及对应字段信息(如MAC地址、源IP和目标端口),构建出完整的协议栈组合结构,这种从链路层到应用层的协议特征聚合不仅还原了数据包的端到端通信路径,还能识别非常规协议嵌套等复杂通信模式,为深度流量分析和异常检测提供精确的协议上下文基础。
步骤503:基于所述协议栈组合对所述原始数据包的流量进行分类,得到流量分类结果。
在一个实施例中,基于解析得到的完整协议栈组合,通过匹配预定义的协议特征库和机器学习模型,自动将原始数据包归类到具体的业务类型和流量类别中,其中,流量类别包括网页浏览、文件传输、邮件服务、视频流媒体、语音通信和数据库访问。
如图6所示,本实施例提供了另一种对原始数据包进行实时分析的方法,该方法具体包括如下步骤:
步骤601:从所述原始数据包中提取与目标应用业务相关的应用层数据。
在一个实施例中,剥离原始数据包中的底层协议封装,提取出与目标应用业务相关的应用层数据,用于后续的应用分析,其中,应用层数据包括HTTP请求、DNS(英文全称为:Domain Name System)查询和数据库操作等。
步骤602:识别所述应用层数据所使用的协议类型。
在一个实施例中,基于协议特征、端口号或协议内容的语法结构进行判断,识别应用层数据所使用的具体协议类型,具体协议类型包括HTTP、DNS、文件传输协议(FileTransfer Protocol,FTP)和简单邮件传输协议(Simple Mail Transfer Protocol,简写为SMTP)等。
步骤603:基于所述协议类型选择对应的协议解析器,对所述应用层数据进行行为分析,得到反映目标应用业务运行状态的关键性能指标。
在一个实施例中,基于已识别的应用层数据所使用的协议类型选择相应的协议解析器。不同的协议解析器专门设计用于解析特定协议的数据结构和内容,通过这些协议解析器对应用层数据进行深度解析和行为分析,可以提取出反映目标应用业务运行状态的关键性能指标。其中,与HTTP协议相关的关键性能指标有分析请求响应时间、成功率、错误率等;与DNS协议相关的关键性能指标有评估查询响应时间、域名解析成功率等;与FTP协议相关的关键性能指标有监控文件传输速度、成功率及错误信息。
步骤604:基于所述关键性能指标评估所述目标应用业务的健康状态,得到应用评估结果。
在一个实施例中,基于步骤603提取的关键性能指标,结合预设的评估模型或阈值规则,对目标应用业务的运行状态进行综合评估,判断其是否处于正常、异常或预警状态,最终生成应用健康状态评估结果。
在完成实时分析与深度分析后,可基于实时分析结果和深度分析结果使用数据处理模块进行进一步的策略配置与结果呈现,数据处理模块包括告警模块、基线模块和报表模块。
其中,告警模块用于对关键业务指标进行异常监测。如图7所示,可以根据业务需求灵活配置告警规则,包括选择监测指标(如响应延迟、错误率、连接失败次数等)、设定阈值范围、设置触发条件(如持续时间、波动幅度)等。历史数据存储在数据库中,一旦检测到历史数据中出现满足告警规则的情形时,将触发告警,生成包含详细信息的告警信息,并将告警信息存储至数据库,供运维人员进一步审查,另外,还可通过邮件和短信等方式通知相关运维人员,实现对异常事件的及时响应。
基线模块用于为关键性能指标设定基准值,以支持后续的异常检测与状态评估。如图8所示,基于数据库中的历史数据,按照预设的维度对历史数据进行统计分析,计算出反映正常行为模式的基线值,并将计算得到的基线值统计结果存入数据库。其中,基线值有两种设定方式,一种是基于历史数据进行分析动态生成基线值,通过统计一段时间内的指标变化趋势,自动识别正常业务行为范围;另一种是支持用户根据实际业务需求手动配置基线值,提升灵活性与适用性。当监测到某项指标超过基线设定的阈值时,例如,IGMP协议(英文全称为:Internet Group Management Protocol)数据包的每秒数据包数(PacketsPer Second,简写为pps)设定不能超过10000pps,若pps超过10000pps,则认为异常,此时将该数据包及其上下文信息进行存储,以便用户在后续需要时调取查看,实现对异常事件的记录与追溯。其中,历史数据从数据库中获取,通过目标数据包的目标时间戳整合实时分析结果和深度分析结果以得到历史数据。
报表模块用于将实时分析结果和深度分析结果以结构化方式展示和输出。如图9所示,用户可在WEB端配置相关参数,如指定时间段、指定协议和指定应用数据包,从数据库中检索出对应的历史数据并进行统计处理,生成多维度的可视化报表,可视化报表可涵盖关键性能指标趋势、异常事件统计、会话行为分布等。另外,可视化报表支持多种格式导出(如PDF、Excel、CSV),并配置定时生成任务,满足日常运维、审计合规和汇报展示等多样化需求。
通过上述三个模块的协同工作,不仅能够实现对业务运行状态的全面感知,还能为运维人员提供可操作的决策支持,提升网络与业务系统的稳定性和安全性。
在对网络和应用性能进行监控的过程中,不仅需要有效的基线设置与异常检测机制,还可以通过一种直观的方式来展示各类统计结果和分析数据。为了帮助用户更好地理解和利用这些分析结果,数据展示模块通过丰富的图表展示各类统计结果,提供多维度视角来展示网络性能、应用性能、告警、报表、基线等内容给用户。
在一个实施例中,数据展示模块可以采用Vue编写的前端界面,结合现代化的前端框架特性,为用户提供灵活且响应迅速的操作体验。前端界面通过Restful API接口与后端进行通信,获取实时数据和历史记录,并将其以图表形式动态展示。这种设计不仅提高了数据展示的直观性和易用性,还支持用户自定义视图和导出功能,满足不同场景下的需求。例如,用户可以查看特定时间段内的网络流量趋势、应用错误率变化、历史告警事件等,从而全面掌握系统的运行状态和潜在问题。
实施例2:
在前述实施例提供的全流量分析方法的基础上,本发明还提供了一种可用于实现上述方法的全流量分析的装置,如图10所示,是本发明实施例的装置架构示意图。本实施例的全流量分析的装置包括一个或多个处理器21以及存储器22。其中,图10中以一个处理器21为例。
处理器21和存储器22可以通过总线或者其他方式连接,图10中以通过总线连接为例。
存储器22作为一种全流量分析的方法非易失性计算机可读存储介质,可用于存储非易失性软件程序和非易失性计算机可执行程序,如前述实施例中的全流量分析方法。处理器21通过运行存储在存储器22中的非易失性软件程序、指令以及模块,从而执行全流量分析装置的各种功能应用以及数据处理,即实现前述实施例的全流量分析方法。
存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器22可以包括相对于处理器21远程设置的存储器,这些远程存储器可以通过网络连接至处理器21。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
程序指令/模块存储在存储器22中,当被一个或者多个处理器21执行时,执行前述实施例中全流量分析方法,例如,执行以上描述的图1-图6所示的各个步骤。
本发明实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图10中的一个处理器21,可使得上述一个或多个处理器可执行前述实施例中的全流量分析方法,例如,执行以上描述的图1-图6所示的各个步骤。
值得说明的是,上述装置和系统内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的处理方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(Read Only Memory,简写为:ROM)、随机存取存储器(Random AccessMemory,简写为:RAM)、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种全流量分析方法,其特征在于,包括:
基于DPDK框架捕获网络环境中的全流量数据,对所述全流量数据做处理,得到处理后的全流量数据;解析所述处理后的全流量数据,得到至少一个原始数据包;
建立各个所述原始数据包与自身所对应的第一索引信息之间的映射关系;
分别对各个所述原始数据包进行实时分析,得到各个所述原始数据包所对应的实时分析结果;
基于分析请求和所述映射关系从至少一个原始数据包中检索出对应的目标数据包;对所述目标数据包执行跨时间维度的行为分析,得到深度分析结果;
整合所述目标数据包对应的实时分析结果和所述深度分析结果,生成网络状态分析报告。
2.根据权利要求1所述的全流量分析方法,其特征在于,所述方法还包括:
按固定时间窗口对所有原始数据包分组,并计算每个窗口的基础时间戳;
针对每一个分组,将分组内包含的所有原始数据包连续写入一个包文件中;所述包文件的文件名包含基础时间戳;
为每个原始数据包建立对应的第一索引条目;
针对每一个分组,将分组内包含的原始数据包所对应的第一索引条目写入一个原始索引文件,所述原始索引文件的文件名包含所述基础时间戳;
将基础时间戳转换为本地时间,并将所述本地时间及其对应的原始索引文件的存储路径作为第一索引信息存入数据库。
3.根据权利要求2所述的全流量分析方法,其特征在于,所述第一索引条目包括第一索引值,为每个原始数据包建立对应的第一索引值,包括:
提取所述原始数据包中的特征信息;
将所述特征信息转换为多个对应的十进制数值,将所述十进制数值作为所述原始数据包的第一索引值。
4.根据权利要求2所述的全流量分析方法,其特征在于,所述第一索引条目还包括原始数据包在对应包文件中的偏移量和长度,所述方法还包括:
解析所述分析请求中的时间范围条件和协议特征条件;
获取符合所述时间范围条件的第二索引信息;
根据所述第二索引信息定位文件系统中对应的目标索引文件;
对目标索引文件中的第二索引条目进行筛选,得到匹配所述协议特征条件的偏移量和长度;
基于所述偏移量和长度,从包文件中读取对应的原始数据包,将所述原始数据包封装为标准pcap格式,得到目标数据包。
5.根据权利要求1所述的全流量分析方法,其特征在于,所述深度分析结果包括会话记录和字段信息,所述方法还包括:
对所述目标数据包进行协议分层解析,识别链路层、网络层和传输层的协议信息;
基于所述协议信息对所述目标数据包中的会话进行分类统计,生成各层面对话的会话记录;
解析所述目标数据包中的每一帧数据,得到包含目标数据包内容的字段信息。
6.根据权利要求1所述的全流量分析方法,其特征在于,所述实时分析结果包括流量分类结果,所述方法还包括:
分别对各个所述原始数据包逐层解码,得到每个原始数据包在不同层使用的协议类型及协议信息;
对于每个原始数据包,组合每一层对应的协议类型和协议信息,得到所述原始数据包对应的协议栈组合;
基于所述协议栈组合对原始数据包的流量进行分类,得到流量分类结果。
7.根据权利要求1所述的全流量分析方法,其特征在于,所述实时分析结果还包括应用评估结果,所述方法还包括:
从所述原始数据包中提取与目标应用业务相关的应用层数据;
识别所述应用层数据所使用的协议类型;
基于所述协议类型选择对应的协议解析器,对所述应用层数据进行行为分析,得到反映目标应用业务运行状态的关键性能指标;
基于所述关键性能指标评估所述目标应用业务的健康状态,得到应用评估结果。
8.根据权利要求1所述的全流量分析方法,其特征在于,所述方法还包括:
获取目标数据包对应的实时分析结果,所述实时分析结果包括异常事件的目标时间戳;
获取与所述目标时间戳对应的深度分析结果,所述深度分析结果包括协议违规字段;
基于所述目标时间戳整合异常事件与协议违规字段,生成网络状态分析报告。
9.一种全流量分析装置,其特征在于,所述装置包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行权利要求1-8任一项中所述的全流量分析方法。
10.一种非易失性计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,用于完成权利要求1-8任一项中所述的全流量分析方法。
CN202511076940.3A 2025-08-01 2025-08-01 一种全流量分析方法和装置 Pending CN120880877A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202511076940.3A CN120880877A (zh) 2025-08-01 2025-08-01 一种全流量分析方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202511076940.3A CN120880877A (zh) 2025-08-01 2025-08-01 一种全流量分析方法和装置

Publications (1)

Publication Number Publication Date
CN120880877A true CN120880877A (zh) 2025-10-31

Family

ID=97451866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202511076940.3A Pending CN120880877A (zh) 2025-08-01 2025-08-01 一种全流量分析方法和装置

Country Status (1)

Country Link
CN (1) CN120880877A (zh)

Similar Documents

Publication Publication Date Title
KR101409921B1 (ko) 스위치 asic 내에 라인-레이트 애플리케이션 인식을 통합하기 위한 시스템 및 방법
US9565076B2 (en) Distributed network traffic data collection and storage
US7805510B2 (en) Hierarchy for characterizing interactions with an application
US9210090B1 (en) Efficient storage and flexible retrieval of full packets captured from network traffic
US8656006B2 (en) Integrating traffic monitoring data and application runtime data
US5787253A (en) Apparatus and method of analyzing internet activity
CN107634848B (zh) 一种采集分析网络设备信息的系统和方法
US10740027B2 (en) High speed logging system
US10069797B2 (en) 10Gbps line rate stream to disk with fast retrieval (metadata) and network statistics
TWM594841U (zh) 封包擷取分析裝置及具有該封包擷取分析裝置之網路資安系統
CN112532614A (zh) 一种用于电网终端的安全监测方法和系统
CN110011860A (zh) 基于网络流量分析的安卓应用识别方法
Saavedra et al. Towards large scale packet capture and network flow analysis on hadoop
CN120880877A (zh) 一种全流量分析方法和装置
Lukashin et al. Distributed packet trace processing method for information security analysis
CN119561771A (zh) 用于网络通讯的智能流量监控系统
CN112910842A (zh) 一种基于流量还原的网络攻击事件取证方法与装置
Peng Research of network intrusion detection system based on snort and NTOP
Peng et al. Design and implementation of network instruction detection system based on snort and NTOP
Elsen et al. goProbe: a scalable distributed network monitoring solution
TWI783195B (zh) 網路資安系統、其方法及電腦可讀儲存媒介
Hughes et al. Towards Network Awareness.
Ariemma et al. MRT#: a Fast Multi-Threaded MRT Parser
CN114157467B (zh) 分布式可切换工控蜜网诱捕方法
Boonyopakorn Applying Data Analytics to Findings of User Behaviour Usage in Network Systems

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