CN115484209B - 一种网络流量回放方法、装置、介质和电子设备 - Google Patents

一种网络流量回放方法、装置、介质和电子设备 Download PDF

Info

Publication number
CN115484209B
CN115484209B CN202211163074.8A CN202211163074A CN115484209B CN 115484209 B CN115484209 B CN 115484209B CN 202211163074 A CN202211163074 A CN 202211163074A CN 115484209 B CN115484209 B CN 115484209B
Authority
CN
China
Prior art keywords
flow
target
source
address
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.)
Active
Application number
CN202211163074.8A
Other languages
English (en)
Other versions
CN115484209A (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.)
Nsfocus Technologies Inc
Nsfocus Technologies Group Co Ltd
Original Assignee
Nsfocus Technologies Inc
Nsfocus Technologies Group 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 Nsfocus Technologies Inc, Nsfocus Technologies Group Co Ltd filed Critical Nsfocus Technologies Inc
Priority to CN202211163074.8A priority Critical patent/CN115484209B/zh
Publication of CN115484209A publication Critical patent/CN115484209A/zh
Application granted granted Critical
Publication of CN115484209B publication Critical patent/CN115484209B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/16Flow control; Congestion control in connection oriented networks, e.g. frame relay

Landscapes

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

Abstract

本申请提供一种网络流量回放方法、装置、介质和电子设备,涉及计算机网络技术领域。该方法,应用于网络靶场的控制节点,包括:响应于用户输入的任务创建命令,生成流量回放任务;所述任务创建命令包括数据源构建参数;所述数据源构建参数包括目标流量生成方式以及对应的流量权重;所述目标流量生成方式是多个预设流量生成方式中的部分或全部方式;基于所述目标流量生成方式,得到与所述目标流量生成方式对应的目标源流量,并根据所述目标源流量和所述流量权重,得到组合流量数据;基于所述组合流量数据,启动所述流量回放任务,以执行对所述组合流量数据的回放。该方法可以灵活组合并构建流量回放的数据源并提高流量分析效率。

Description

一种网络流量回放方法、装置、介质和电子设备
技术领域
本申请实施例涉及计算机网络技术领域,尤其涉及一种网络流量回放方法、装置、介质和电子设备。
背景技术
基于虚拟化技术和虚拟网络技术的网络靶场,可以对真实网络空间中的网络架构和系统设备进行模拟,通过构建出结构复杂的网络拓扑图,使用拓扑图来分析网络架构,发现网络中的环路问题以及安全问题等。
但是网络拓扑图是由网络靶场的拓扑结构的节点和连线构成的静态结构图,无法模拟真实网络空间中的网络架构、系统设备、业务流程的运行状态及运行环境,所以必须要让网络拓扑图承载真实的流量数据,分析数据包在拓扑中的流转路径,这样才能更有效地模拟实际的网络环境,体现网络靶场的核心价值。
相关技术的网络流量回放技术,通常是通过手动构造背景流量以及从实际环境中下载真实流量作为某系统流量回放的数据源,这种构建数据源的方式不够灵活。真实环境中的流量往往种类各异,各种类型的流量无序混杂在一起进行传输,对整体的流量数据包进行分析十分费时费力。
发明内容
本申请实施例提供了一种网络流量回放方法、装置、介质和电子设备,可以灵活组合并构建流量回放的数据源并提高流量分析效率。
为达到上述目的,本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种网络流量回放方法,应用于网络靶场的控制节点,包括:
响应于用户输入的任务创建命令,生成流量回放任务;所述任务创建命令包括数据源构建参数;所述数据源构建参数包括目标流量生成方式以及对应的流量权重;所述目标流量生成方式是多个预设流量生成方式中的部分或全部方式;
基于所述目标流量生成方式,得到与所述目标流量生成方式对应的目标源流量,并根据所述目标源流量和所述流量权重,得到组合流量数据;
基于所述组合流量数据,启动所述流量回放任务,以执行对所述组合流量数据的回放。
本申请实施例提供的网络流量回放方法,应用于网络靶场的控制节点,包括:响应于用户输入的任务创建命令,生成流量回放任务;所述任务创建命令包括数据源构建参数;所述数据源构建参数包括目标流量生成方式以及对应的流量权重;所述目标流量生成方式是多个预设流量生成方式中的部分或全部方式;基于所述目标流量生成方式,得到与所述目标流量生成方式对应的目标源流量,并根据所述目标源流量和所述流量权重,得到组合流量数据;基于所述组合流量数据,启动所述流量回放任务,以执行对所述组合流量数据的回放。该方法能够通过任务创建命令生成流量回放任务,基于流量权重和多个预设流量生成方式中的部分或全部方式,得到组合流量数据;基于所述组合流量数据,启动所述流量回放任务,执行对所述组合流量数据的回放,提供一种回放流量的可调节配置机制,可以灵活组合并构建流量回放的数据源并提高流量分析效率。
在一种可选的实施例中,所述数据源构建参数还包括与所述目标流量生成方式对应的地址配置信息;所述基于所述目标流量生成方式,得到与所述目标流量生成方式对应的目标源流量,包括:
基于所述目标流量生成方式,得到与所述目标流量生成方式对应的初始源流量;
根据所述地址配置信息和所述初始源流量,得到与所述目标流量生成方式对应的子源流量;
基于所述子源流量,得到所述目标源流量。
在该实施例中,基于所述目标流量生成方式,得到与所述目标流量生成方式对应的初始源流量;根据所述地址配置信息和所述初始源流量,得到与所述目标流量生成方式对应的子源流量;基于所述子源流量,得到所述目标源流量。该方法可以通过目标流量生成方式和数据源构建参数包括的与目标流量生成方式对应的地址配置信息,得到目标源流量,能够对构建的数据源的目的地址和/或源地址进行地址配置,可以灵活组合并构建流量回放的数据源并提高流量分析效率。
在一种可选的实施例中,所述基于所述目标流量生成方式,得到与所述目标流量生成方式对应的初始源流量,包括:
若所述目标流量生成方式包括第一生成方式,则通过预设的流量生成器生成初始源流量;
所述根据所述地址配置信息和所述初始源流量,得到与所述目标流量生成方式对应的子源流量,包括:
将所述初始源流量的目的地址修改为第一地址信息,得到与所述第一生成方式对应的子源流量,其中所述第一地址信息是所述地址配置信息包括的所述第一生成方式对应的地址信息。
在该实施例中,若所述目标流量生成方式包括第一生成方式,则通过预设的流量生成器生成初始源流量,以及将所述初始源流量的目的地址修改为第一地址信息,得到与所述第一生成方式对应的子源流量,其中所述第一地址信息是所述地址配置信息包括的所述第一生成方式对应的地址信息,实现了基于预设的流量生成器生成的流量构建目标源流量,可以灵活组合并构建流量回放的数据源并提高流量分析效率。
在一种可选的实施例中,所述基于所述目标流量生成方式,得到与所述目标流量生成方式对应的初始源流量,包括:
若所述目标流量生成方式包括第二生成方式,则在第一数据库包括的流量模板中选取初始源流量;
所述根据所述地址配置信息和所述初始源流量,得到与所述目标流量生成方式对应的子源流量,包括:
将所述初始源流量的目的地址修改为第二地址信息,得到与所述第二生成方式对应的第二子源流量,其中所述第二地址信息是所述地址配置信息包括的所述第二生成方式对应的地址信息。
在该实施例中,若所述目标流量生成方式包括第二生成方式,则在第一数据库包括的流量模板中选取初始源流量,以及将所述初始源流量的目的地址修改为第二地址信息,得到与所述第二生成方式对应的第二子源流量,其中所述第二地址信息是所述地址配置信息包括的所述第二生成方式对应的地址信息,实现了基于在数据库包括的流量模板中选取的流量构建目标源流量,可以灵活组合并构建流量回放的数据源并提高流量分析效率。
在一种可选的实施例中,所述基于所述目标流量生成方式,得到与所述目标流量生成方式对应的初始源流量,包括:
若所述目标流量生成方式包括第三生成方式,则在第二数据库包括的自定义数据包中选取初始源流量;
所述根据所述地址配置信息和所述初始源流量,得到与所述目标流量生成方式对应的子源流量,包括:
根据预设的目标报文类型对所述初始源流量进行筛选,得到与所述目标报文类型匹配的第一过滤源流量;
根据筛选基准信息,对所述第一过滤源流量进行筛选,得到第二过滤源流量;所述筛选基准信息是所述地址配置信息包括的所述第三生成方式对应的用作筛选基准的信息;
根据第三地址信息对所述第二过滤源流量进行编辑,得到与所述第三生成方式对应的第三子源流量,其中所述第三地址信息是所述地址配置信息包括的与所述第三生成方式对应的地址信息。
在该实施例中,预设的目标报文类型可以是TCP报文、UDP报文、ICMP报文;若所述目标流量生成方式包括第三生成方式,则在第二数据库包括的自定义数据包中选取初始源流量,以及根据预设的目标报文类型对所述初始源流量进行筛选,得到与所述目标报文类型匹配的第一过滤源流量;根据筛选基准信息,对所述第一过滤源流量进行筛选,得到第二过滤源流量;所述筛选基准信息是所述地址配置信息包括的所述第三生成方式对应的用作筛选基准的信息;根据第三地址信息对所述第二过滤源流量进行编辑,得到与所述第三生成方式对应的第三子源流量,其中所述第三地址信息是所述地址配置信息包括的与所述第三生成方式对应的地址信息,实现了基于数据库包括的自定义数据包中选取的流量构建目标源流量,可以灵活组合并构建流量回放的数据源并提高流量分析效率。
在一种可选的实施例中,所述筛选基准信息为地址数目;所述第三地址信息为第一靶场目的地址;所述第一靶场目的地址是所述网络靶场的拓扑结构的节点地址,且所述第一靶场目的地址的数量与所述地址数目相同;
所述根据所述筛选基准信息,对所述第一过滤源流量进行筛选,得到第二过滤源流量,包括:
根据所述地址数目和与所述第一过滤源流量的目的地址对应的数据包数量,确定基准目的地址;
根据所述基准目的地址对所述第一过滤源流量进行筛选,得到目的地址与所述基准目的地址相同的第二过滤源流量;
所述根据所述第三地址信息对所述第二过滤源流量进行编辑,得到与所述第三生成方式对应的第三子源流量,包括:
根据所述第一靶场目的地址对所述第二过滤源流量的数据包的目的地址进行编辑,得到与所述第三生成方式对应的第三子源流量;其中,所述第三子源流量的数据包的目的地址为所述第一靶场目的地址中的一个,且目的地址相同的所述第二过滤源流量的数据包在根据所述第一靶场目的地址进行编辑后得到的所述第三子源流量,具有相同的所述第一靶场目的地址。
在该实施例中,根据所述地址数目和与所述第一过滤源流量的目的地址对应的数据包数量,确定基准目的地址,可以是按照与所述第一过滤源流量的目的地址对应的数据包数量对第一过滤源流量的目的地址进行降序排列,然后逐次选取一个第一过滤源流量的目的地址作为一个基准目的地址,直到基准目的地址的数量与地址数目相同。该方法可以在数据库包括的自定义数据包中选取的流量,并进行目标报文类型匹配得到第一过滤源流量之后,筛选出目的地址对应的数据包数量较多的那部分流量得到第二过滤源流量,再编辑第二过滤源流量的目的地址,以将第二过滤源流量的目的地址设置为网络靶场的拓扑结构的节点地址,实现了对构建的目标源流量的目的地址数量的精确控制,可以灵活组合并构建流量回放的数据源并提高流量分析效率。
在一种可选的实施例中,所述筛选基准信息为焦点地址数目和焦点地址;所述第三地址信息包括所述焦点地址与第二靶场目的地址的第一映射关系;所述第二靶场目的地址是所述网络靶场的拓扑结构的节点地址,且所述第二靶场目的地址的数量与所述焦点地址数目相同;
所述根据所述筛选基准信息,对所述第一过滤源流量进行筛选,得到第二过滤源流量,包括:
将所述焦点地址,作为基准目的地址;
根据所述基准目的地址对所述第一过滤源流量进行筛选,得到目的地址与所述基准目的地址相同的第二过滤源流量;
所述根据所述第三地址信息对所述第二过滤源流量进行编辑,得到与所述第三生成方式对应的第三子源流量,包括:
逐一获取所述第二过滤源流量的数据包,每获取一个所述第二过滤源流量的数据包,执行以下操作,以得到与所述第三生成方式对应的第三子源流量的数据包:
根据所述第一映射关系,确定与当前获取的一个第二过滤源流量的数据包的目的地址相对应的目标第二靶场目的地址;所述目标第二靶场目的地址是在所述第一映射关系中,与所述当前获取的一个第二过滤源流量的数据包的目的地址相对应的第二靶场目的地址;
将所述当前获取的一个第二过滤源流量的数据包的目的地址,修改为所述目标第二靶场目的地址,得到与所述第三生成方式对应的第三子源流量的一个数据包。
在该实施例中,筛选基准信息为焦点地址数目和焦点地址;第三地址信息包括所述焦点地址与第二靶场目的地址的第一映射关系;通过将所述焦点地址,作为基准目的地址;根据所述基准目的地址对所述第一过滤源流量进行筛选,得到目的地址与所述基准目的地址相同的第二过滤源流量;然后基于第一映射关系将各个第二过滤源流量的数据包的目的地址,修改为与各个第二过滤源流量的数据包的目的地址对应的目标第二靶场目的地址。该方法可以在数据库包括的自定义数据包中选取的流量,并进行目标报文类型匹配得到第一过滤源流量之后,在第一过滤源流量中筛选出目的地址与所述基准目的地址相同的那部分流量得到第二过滤源流量,再基于第一映射关系编辑第二过滤源流量的目的地址,以将第二过滤源流量的目的地址设定为由第一映射关系确定的网络靶场的拓扑结构的节点地址,实现对构建的目标源流量的目的地址数量的更精确的控制,可以灵活组合并构建流量回放的数据源并提高流量分析效率。
在一种可选的实施例中,所述根据所述第三地址信息对所述第二过滤源流量进行编辑,包括:
基于所述第三地址信息,修改所述第二过滤源流量的数据包的目的地址,并将所述第二过滤源流量的数据包的源地址设置为空字符串;
所述基于所述组合流量数据,启动所述流量回放任务,以执行对所述组合流量数据的回放,包括:
逐一获取所述组合流量数据的数据包,针对获取的所述组合流量数据的数据包,执行以下操作后进行数据包发送,并在首次进行数据包发送时启动所述流量回放任务,以执行对所述组合流量数据的数据包的回放:
若获取的所述组合流量数据的数据包是与所述第三子源流量对应的数据包,则基于预设的待选源地址信息与第三地址信息的第二映射关系,将与目标第三地址信息对应的目标待选源地址信息添加到所述获取的所述组合流量数据的数据包,作为所述获取的所述组合流量数据的数据包的源地址;其中,所述目标第三地址信息是在所述第二映射关系中,与所述获取的所述组合流量数据的数据包的目的地址相同的第三地址信息;所述目标待选源地址是所述第二映射关系中与所述目标第三地址信息对应的待选源地址。
该方法,根据所述第三地址信息对所述第二过滤源流量进行编辑时,包括基于所述第三地址信息,修改所述第二过滤源流量的数据包的目的地址,并将所述第二过滤源流量的数据包的源地址设置为空字符串;且在基于所述组合流量数据,启动所述流量回放任务,以执行对所述组合流量数据的回放的过程中,当判断获取的所述组合流量数据的数据包是与所述第三子源流量对应的数据包时,则基于预设的待选源地址信息与第三地址信息的第二映射关系,将与目标第三地址信息对应的目标待选源地址信息添加到所述获取的所述组合流量数据的数据包,作为所述获取的所述组合流量数据的数据包的源地址。该方法,在对预设的目标报文类型的流量进行编辑时,先修改目的IP地址,将源IP地址置空,组合流量数据的数据包在发送时再基于目的IP地址自动选择合适的网络靶场的拓扑结构的节点地址封装到数据包中,作为该组合流量数据的数据包的源地址,实现对目标报文类型的流量的回放控制,可以灵活组合并构建流量回放的数据源并提高流量分析效率。
第二方面,本申请实施例还提供了一种网络流量回放装置,应用于网络靶场的控制节点,包括:
任务生成单元,用于响应于用户输入的任务创建命令,生成流量回放任务;所述任务创建命令包括数据源构建参数;所述数据源构建参数包括目标流量生成方式以及对应的流量权重;所述目标流量生成方式是多个预设流量生成方式中的部分或全部方式;
数据构建单元,用于基于所述目标流量生成方式,得到与所述目标流量生成方式对应的目标源流量,并根据所述目标源流量和所述流量权重,得到组合流量数据;
任务执行单元,用于基于所述组合流量数据,启动所述流量回放任务,以执行对所述组合流量数据的回放。
在一种可选的实施例中,所述数据源构建参数还包括与所述目标流量生成方式对应的地址配置信息;所述数据构建单元,具体用于:
基于所述目标流量生成方式,得到与所述目标流量生成方式对应的初始源流量;
根据所述地址配置信息和所述初始源流量,得到与所述目标流量生成方式对应的子源流量;
基于所述子源流量,得到所述目标源流量。
在一种可选的实施例中,所述数据构建单元,具体用于:
若所述目标流量生成方式包括第一生成方式,则通过预设的流量生成器生成初始源流量;
所述数据构建单元,具体用于:
将所述初始源流量的目的地址修改为第一地址信息,得到与所述第一生成方式对应的子源流量,其中所述第一地址信息是所述地址配置信息包括的所述第一生成方式对应的地址信息。
在一种可选的实施例中,所述数据构建单元,具体用于:
若所述目标流量生成方式包括第二生成方式,则在第一数据库包括的流量模板中选取初始源流量;
所述数据构建单元,具体用于:
将所述初始源流量的目的地址修改为第二地址信息,得到与所述第二生成方式对应的第二子源流量,其中所述第二地址信息是所述地址配置信息包括的所述第二生成方式对应的地址信息。
在一种可选的实施例中,所述数据构建单元,具体用于:
若所述目标流量生成方式包括第三生成方式,则在第二数据库包括的自定义数据包中选取初始源流量;
所述数据构建单元,具体用于:
根据预设的目标报文类型对所述初始源流量进行筛选,得到与所述目标报文类型匹配的第一过滤源流量;
根据筛选基准信息,对所述第一过滤源流量进行筛选,得到第二过滤源流量;所述筛选基准信息是所述地址配置信息包括的所述第三生成方式对应的用作筛选基准的信息;
根据第三地址信息对所述第二过滤源流量进行编辑,得到与所述第三生成方式对应的第三子源流量,其中所述第三地址信息是所述地址配置信息包括的与所述第三生成方式对应的地址信息。
在一种可选的实施例中,所述筛选基准信息为地址数目;所述第三地址信息为第一靶场目的地址;所述第一靶场目的地址是所述网络靶场的拓扑结构的节点地址,且所述第一靶场目的地址的数量与所述地址数目相同;
所述数据构建单元,具体用于:
根据所述地址数目和与所述第一过滤源流量的目的地址对应的数据包数量,确定基准目的地址;
根据所述基准目的地址对所述第一过滤源流量进行筛选,得到目的地址与所述基准目的地址相同的第二过滤源流量;
所述数据构建单元,具体用于:
根据所述第一靶场目的地址对所述第二过滤源流量的数据包的目的地址进行编辑,得到与所述第三生成方式对应的第三子源流量;其中,所述第三子源流量的数据包的目的地址为所述第一靶场目的地址中的一个,且目的地址相同的所述第二过滤源流量的数据包在根据所述第一靶场目的地址进行编辑后得到的所述第三子源流量,具有相同的所述第一靶场目的地址。
在一种可选的实施例中,所述筛选基准信息为焦点地址数目和焦点地址;所述第三地址信息包括所述焦点地址与第二靶场目的地址的第一映射关系;所述第二靶场目的地址是所述网络靶场的拓扑结构的节点地址,且所述第二靶场目的地址的数量与所述焦点地址数目相同;
所述数据构建单元,具体用于:
将所述焦点地址,作为基准目的地址;
根据所述基准目的地址对所述第一过滤源流量进行筛选,得到目的地址与所述基准目的地址相同的第二过滤源流量;
所述数据构建单元,具体用于:
逐一获取所述第二过滤源流量的数据包,每获取一个所述第二过滤源流量的数据包,执行以下操作,以得到与所述第三生成方式对应的第三子源流量的数据包:
根据所述第一映射关系,确定与当前获取的一个第二过滤源流量的数据包的目的地址相对应的目标第二靶场目的地址;所述目标第二靶场目的地址是在所述第一映射关系中,与所述当前获取的一个第二过滤源流量的数据包的目的地址相对应的第二靶场目的地址;
将所述当前获取的一个第二过滤源流量的数据包的目的地址,修改为所述目标第二靶场目的地址,得到与所述第三生成方式对应的第三子源流量的一个数据包。
在一种可选的实施例中,所述数据构建单元,具体用于:
基于所述第三地址信息,修改所述第二过滤源流量的数据包的目的地址,并将所述第二过滤源流量的数据包的源地址设置为空字符串;
所述任务执行单元,具体用于:
逐一获取所述组合流量数据的数据包,针对获取的所述组合流量数据的数据包,执行以下操作后进行数据包发送,并在首次进行数据包发送时启动所述流量回放任务,以执行对所述组合流量数据的数据包的回放:
若获取的所述组合流量数据的数据包是与所述第三子源流量对应的数据包,则基于预设的待选源地址信息与第三地址信息的第二映射关系,将与目标第三地址信息对应的目标待选源地址信息添加到所述获取的所述组合流量数据的数据包,作为所述获取的所述组合流量数据的数据包的源地址;其中,所述目标第三地址信息是在所述第二映射关系中,与所述获取的所述组合流量数据的数据包的目的地址相同的第三地址信息;所述目标待选源地址是所述第二映射关系中与所述目标第三地址信息对应的待选源地址。
第三方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面的网络流量回放方法。
第四方面,本申请实施例还提供了一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现第一方面的网络流量回放方法。
第二方面至第四方面中任意一种实现方式所带来的技术效果可参见第一方面中对应的实现方式所带来的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种网络流量回放方法的流程示意图;
图2为本申请实施例提供的一种网络流量回放方法的得到目标源流量的流程示意图;
图3为本申请实施例提供的另一种网络流量回放方法的流程示意图;
图4为本申请实施例提供的一种网络流量回放装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
需要说明的是,本申请的文件中涉及的术语“包括”和“具有”以及它们的变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面对文中出现的一些词语进行解释:
(1)ARP:ARP(Address Resolution Protocol,地址解析协议),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址。
(2)ICMP:ICMP(Internet Control Message Protocol,Internet控制报文协议),用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。
(3)TCP:TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
(4)UDP:UDP(User Datagram Protocol,用户数据报协议)是一种无需建立连接就可以发送封装的IP数据包的传输协议。
(4)Scapy:Scapy是一个强大的、用Python编写的交互式数据包处理程序,它能让用户发送、嗅探、解析,以及伪造网络报文,从而用来侦测、扫描和向网络发动攻击。Scapy可以轻松地处理扫描(scanning)、路由跟踪(tracerouting)、探测(probing)、单元测试(unittests)、攻击(attacks)和发现网络(network discovery)之类的传统任务。
基于虚拟化技术和虚拟网络技术的网络靶场,可以对真实网络空间中的网络架构和系统设备进行模拟,通过构建出结构复杂的网络拓扑图,使用拓扑图来分析网络架构,发现网络中的环路问题以及安全问题等。
但是网络拓扑图是由网络靶场的拓扑结构的节点和连线构成的静态结构图,无法模拟真实网络空间中的网络架构、系统设备、业务流程的运行状态及运行环境,所以必须要让网络拓扑图承载真实的流量数据,分析数据包在拓扑中的流转路径,这样才能更有效地模拟实际的网络环境,体现网络靶场的核心价值。
相关技术的网络流量回放技术,通常是通过手动构造背景流量以及从实际环境中下载真实流量作为某系统流量回放的数据源,这种构建数据源的方式不够灵活。真实环境中的流量往往种类各异,各种类型的流量无序混杂在一起进行传输,对整体的流量数据包进行分析十分费时费力。
为解决现有存在的技术问题,本申请实施例提供了一种网络流量回放方法,应用于网络靶场的控制节点,包括:响应于用户输入的任务创建命令,生成流量回放任务;任务创建命令包括数据源构建参数;数据源构建参数包括目标流量生成方式以及对应的流量权重;目标流量生成方式是多个预设流量生成方式中的部分或全部方式;基于目标流量生成方式,得到与目标流量生成方式对应的目标源流量,并根据目标源流量和流量权重,得到组合流量数据;基于组合流量数据,启动流量回放任务,以执行对组合流量数据的回放。该方法能够通过任务创建命令生成流量回放任务,基于流量权重和多个预设流量生成方式中的部分或全部方式,得到组合流量数据;基于组合流量数据,启动流量回放任务,执行对组合流量数据的回放,提供一种回放流量的可调节配置机制,可以灵活组合并构建流量回放的数据源并提高流量分析效率。
下面将结合附图,对本申请实施例提供的技术方案进行详细说明。
本申请实施例提供了一种网络流量回放方法,应用于网络靶场的控制节点,如图1所示,包括如下步骤:
步骤S101,响应于用户输入的任务创建命令,生成流量回放任务;任务创建命令包括数据源构建参数;数据源构建参数包括目标流量生成方式以及对应的流量权重;目标流量生成方式是多个预设流量生成方式中的部分或全部方式。
本申请的实施例中,网络靶场可以包括控制节点和至少一个计算节点。其中,网络靶场的控制节点可以是一个用于控制网络靶场的计算节点的服务器。
示例性地,网络靶场的控制节点Con_Pot响应于接收到的用户输入的任务创建命令Instr_Data_01,生成流量回放任务Task_1。任务创建命令Instr_Data_01包括数据源构建参数Data_Para;数据源构建参数Data_Para包括目标流量生成方式Tar_generate_mode以及对应的流量权重Flow_Weight;目标流量生成方式Tar_generate_mode是多个预设流量生成方式中的部分或全部方式。
步骤S102,基于目标流量生成方式,得到与目标流量生成方式对应的目标源流量,并根据目标源流量和流量权重,得到组合流量数据。
具体实施时,在根据任务创建命令生成流量回放任务之后,基于任务创建命令包括的目标流量生成方式,得到与目标流量生成方式对应的目标源流量,并根据目标源流量和流量权重,得到组合流量数据。
示例性地,基于目标流量生成方式Tar_generate_mode,得到与目标流量生成方式Tar_generate_mode对应的目标源流量TargetFlow,并根据目标源流量TargetFlow和流量权重Flow_Weight,得到组合流量数据Assemble_Flow。
在一种可选的实施例中,数据源构建参数还包括与目标流量生成方式对应的地址配置信息;基于目标流量生成方式,得到与目标流量生成方式对应的目标源流量,如图2所示,可以通过以下步骤实现:
步骤S201,基于目标流量生成方式,得到与目标流量生成方式对应的初始源流量。
本申请的实施例中,目标流量生成方式是多个预设流量生成方式中的部分或全部方式。在一些实施例中,目标流量生成方式的数量可以是一个;在另一些实施例中,目标流量生成方式的数量也可以是多个。本申请对目标流量生成方式的数量不作具体限定。
步骤S202,根据地址配置信息和初始源流量,得到与目标流量生成方式对应的子源流量。
具体实施时,可以基于地址配置信息,对初始源流量进行编辑,以得到与目标流量生成方式对应的子源流量。其中,子源流量用于构成目标源流量。
在本申请的一些实施例中,对于TCP报文数据,可以基于Python中的Scapy库对数据包进行编辑,使得数据包能顺利到达目的地。
步骤S203,基于子源流量,得到目标源流量。
具体实施时,得到的子源流量是与目标流量生成方式对应的。将与各个目标流量生成方式对应的子源流量组合成一个流量的集合,作为目标源流量。
在通过将与各个目标流量生成方式对应的子源流量组合成一个流量的集合得到目标源流量之后,根据目标源流量和流量权重,得到组合流量数据。其中,流量权重可以是组合成目标源流量的各个子源流量对应的权重。
本申请的实施例中,根据目标源流量和流量权重得到的组合流量数据,可以是PCAP文件。基于该PCAP文件进行流量回放。
步骤S103,基于组合流量数据,启动流量回放任务,以执行对组合流量数据的回放。
示例性地,基于组合流量数据Assemble_Flow,启动流量回放任务Task_1,以执行对组合流量数据Assemble_Flow的回放。
本申请的一些实施例中,可以通过预设的流量生成器得到子源流量。
在一种可选的实施例中,执行步骤S201时,基于目标流量生成方式,得到与目标流量生成方式对应的初始源流量的过程,包括:
若目标流量生成方式包括第一生成方式,则通过预设的流量生成器生成初始源流量;
执行步骤S202时,根据地址配置信息和初始源流量,得到与目标流量生成方式对应的子源流量的过程,包括:
将初始源流量的目的地址修改为第一地址信息,得到与第一生成方式对应的子源流量,其中第一地址信息是地址配置信息包括的第一生成方式对应的地址信息。
该实施例中,将流量仿真器接入网络拓扑中,基于地址映射,从而模拟不同的业务流量转发到不同的虚拟机中,实现对于具体业务流量的准确分析。
本申请的一些实施例中,也可以是通过流量模板得到子源流量。
在一种可选的实施例中,执行步骤S201时,基于目标流量生成方式,得到与目标流量生成方式对应的初始源流量的过程,包括:若目标流量生成方式包括第二生成方式,则在第一数据库包括的流量模板中选取初始源流量;
执行步骤S202时,根据地址配置信息和初始源流量,得到与目标流量生成方式对应的子源流量的过程,包括:
将初始源流量的目的地址修改为第二地址信息,得到与第二生成方式对应的第二子源流量,其中第二地址信息是地址配置信息包括的第二生成方式对应的地址信息。
本申请的一些实施例中,还可以是通过自定义数据包得到子源流量。
在一种可选的实施例中,执行步骤S201时,基于目标流量生成方式,得到与目标流量生成方式对应的初始源流量的过程,包括:
若目标流量生成方式包括第三生成方式,则在第二数据库包括的自定义数据包中选取初始源流量;
执行步骤S202时,根据地址配置信息和初始源流量,得到与目标流量生成方式对应的子源流量的过程,通过以下步骤实现:
步骤A1,根据预设的目标报文类型对初始源流量进行筛选,得到与目标报文类型匹配的第一过滤源流量。
本申请实施例中,目标报文类型包括以下各项的部分或全部:TCP报文、UDP报文、ICMP报文。基于目标报文类型对初始源流量进行筛选,可以对初始源流量的有效性进行过滤,只保留指定的流量类型,例如,可以保留包括TCP报文、UDP报文和ICMP报文在内的3种流量类型。
步骤A2,根据筛选基准信息,对第一过滤源流量进行筛选,得到第二过滤源流量;筛选基准信息是地址配置信息包括的第三生成方式对应的用作筛选基准的信息。
具体实施时,筛选基准信息可以是地址数目;也可以是焦点地址数目和焦点地址。
在一种可选的实施例中,筛选基准信息为地址数目;第三地址信息为第一靶场目的地址;第一靶场目的地址是网络靶场的拓扑结构的节点地址,且第一靶场目的地址的数量与地址数目相同;执行步骤A2时,根据筛选基准信息,对第一过滤源流量进行筛选,得到第二过滤源流量的过程,具体可以通过以下步骤实现:
步骤B1,根据地址数目和与第一过滤源流量的目的地址对应的数据包数量,确定基准目的地址。
具体实施时,根据地址数目和与第一过滤源流量的目的地址对应的数据包数量,确定基准目的地址,可以是按照与第一过滤源流量的目的地址对应的数据包数量对第一过滤源流量的目的地址进行降序排列,然后逐次选取一个第一过滤源流量的目的地址作为一个基准目的地址,直到基准目的地址的数量与地址数目相同。
步骤B2,根据基准目的地址对第一过滤源流量进行筛选,得到目的地址与基准目的地址相同的第二过滤源流量。
步骤A3,根据第三地址信息对第二过滤源流量进行编辑,得到与第三生成方式对应的第三子源流量,其中第三地址信息是地址配置信息包括的与第三生成方式对应的地址信息。
在一种可选的实施例中,筛选基准信息为地址数目;第三地址信息为第一靶场目的地址;第一靶场目的地址是网络靶场的拓扑结构的节点地址,且第一靶场目的地址的数量与地址数目相同;执行步骤A3时,根据第三地址信息对第二过滤源流量进行编辑,得到与第三生成方式对应的第三子源流量的过程,具体可以是根据第一靶场目的地址对第二过滤源流量的数据包的目的地址进行编辑,得到与第三生成方式对应的第三子源流量;其中,第三子源流量的数据包的目的地址为第一靶场目的地址中的一个,且目的地址相同的第二过滤源流量的数据包在根据第一靶场目的地址进行编辑后得到的第三子源流量,具有相同的第一靶场目的地址。
本申请的一些实施例还可以将焦点地址数目和焦点地址作为筛选基准信息,以根据焦点地址得到用户关心的流量数据。
在一种可选的实施例中,筛选基准信息为焦点地址数目和焦点地址;第三地址信息包括焦点地址与第二靶场目的地址的第一映射关系;第二靶场目的地址是网络靶场的拓扑结构的节点地址,且第二靶场目的地址的数量与焦点地址数目相同;
执行步骤A2时,根据筛选基准信息,对第一过滤源流量进行筛选,得到第二过滤源流量的过程,可以是先将焦点地址,作为基准目的地址,再根据基准目的地址对第一过滤源流量进行筛选,得到目的地址与基准目的地址相同的第二过滤源流量;
执行步骤A3时,根据第三地址信息对第二过滤源流量进行编辑,得到与第三生成方式对应的第三子源流量的过程,可以通过以下步骤实现:
步骤C1,逐一获取第二过滤源流量的数据包,每获取一个第二过滤源流量的数据包,执行以下操作,以得到与第三生成方式对应的第三子源流量的数据包:
步骤C2,根据第一映射关系,确定与当前获取的一个第二过滤源流量的数据包的目的地址相对应的目标第二靶场目的地址;目标第二靶场目的地址是在第一映射关系中,与当前获取的一个第二过滤源流量的数据包的目的地址相对应的第二靶场目的地址;
步骤C3,将当前获取的一个第二过滤源流量的数据包的目的地址,修改为目标第二靶场目的地址,得到与第三生成方式对应的第三子源流量的一个数据包。
在一种可选的实施例中,执行步骤A3时,根据第三地址信息对第二过滤源流量进行编辑的过程,具体可以是基于第三地址信息,修改第二过滤源流量的数据包的目的地址,并将第二过滤源流量的数据包的源地址设置为空字符串;
执行步骤S202时,基于组合流量数据,启动流量回放任务,以执行对组合流量数据的回放的过程,具体可以是执行以下步骤:
步骤D1,逐一获取组合流量数据的数据包,针对获取的组合流量数据的数据包,执行以下步骤的操作后进行数据包发送,并在首次进行数据包发送时启动流量回放任务,以执行对组合流量数据的数据包的回放:
步骤D2,若获取的组合流量数据的数据包是与第三子源流量对应的数据包,则基于预设的待选源地址信息与第三地址信息的第二映射关系,将与目标第三地址信息对应的目标待选源地址信息添加到获取的组合流量数据的数据包,作为获取的组合流量数据的数据包的源地址;其中,目标第三地址信息是在第二映射关系中,与获取的组合流量数据的数据包的目的地址相同的第三地址信息;目标待选源地址是第二映射关系中与目标第三地址信息对应的待选源地址。
可以理解地,本申请的实施例中,目标流量生成方式还可以包括第一生成方式、第二生成方式、第三生成方式中的多个。例如,在一种实施例中,目标流量生成方式可以包括第一生成方式和第三生成方式;在另一种实施例中,目标流量生成方式可以包括第一生成方式、第二生成方式和第三生成方式。若目标流量生成方式包括第一生成方式、第二生成方式、第三生成方式中的多个,步骤S202~步骤S203的过程,可以是通过执行由与该多个目标流量生成方式分别对应的处理过程构成的组合过程而实现。
上述实施例的方法,能够通过任务创建命令生成流量回放任务,基于流量权重和多个预设流量生成方式中的部分或全部方式,得到组合流量数据;基于组合流量数据,启动流量回放任务,执行对组合流量数据的回放,提供了一种回放流量的可调节配置机制,可以灵活组合并构建流量回放的数据源并提高流量分析效率。
在一种可选的实施例中,采用内置流量生成器的方式生成背景流量;从真实环境中采集并上传业务流量;根据攻击流量模板或者流量编辑的功能生成攻击流量;将背景流量、业务流量和攻击流量按照不同的使用场景设置不同的权重进行组合并进行流量回放。该方法得到的流量回放的数据源趋近于真实的数据源,流量分析效率更高。
本申请的实施例中,流量回放任务可以是单次回放任务,也可以是连续回放任务。
在一种可选的实施例中,流量回放任务是单次回放。启动该流量回放任务后,会创建一个伴随线程,该伴随线程会周期性检查回放任务的状态,一旦回放完毕,该伴随线程先删除流量回放任务,然后伴随线程自动销毁。
在一种可选的实施例中,流量回放任务是连续回放任务。启动该流量回放任务后,网络靶场的控制节点会周期性调度该流量回放任务。每次调度该流量回放任务时,会判断上次回放是否结束,如果上次回放已结束,则重新基于组合流量数据,启动流量回放任务;如果上次回放未结束,则放弃本次对流量回放任务的调度。
一些实施例中,连续回放任务需要用户手动停止,手动停止后,会移除周期性调度的连续回放任务。在另外一些实施例中,连续回放任务还可以是在预设的执行时间段结束时自动停止。
在另外一种实施例中,网络流量回放过程,如图3所示,通过以下步骤实现:
步骤S301,响应于用户输入的任务创建命令,生成流量回放任务;任务创建命令包括数据源构建参数;数据源构建参数包括目标流量生成方式以及对应的流量权重、地址配置信息;目标流量生成方式是多个预设流量生成方式中的部分或全部方式。
步骤S302,基于目标流量生成方式,得到与目标流量生成方式对应的初始源流量。
其中,基于目标流量生成方式,得到与目标流量生成方式对应的初始源流量,包括:若目标流量生成方式包括第一生成方式,则通过预设的流量生成器生成初始源流量;若目标流量生成方式包括第二生成方式,则在第一数据库包括的流量模板中选取初始源流量;若目标流量生成方式包括第三生成方式,则在第二数据库包括的自定义数据包中选取初始源流量。
步骤S303,若目标流量生成方式包括第一生成方式,则将通过预设的流量生成器生成初始源流量的目的地址修改为第一地址信息,得到与第一生成方式对应的第一子源流量;若目标流量生成方式包括第二生成方式,则将通过在第一数据库包括的流量模板中选取的初始源流量的目的地址修改为第二地址信息,得到与第二生成方式对应的第二子源流量;若目标流量生成方式包括第三生成方式,则对通过在第二数据库包括的自定义数据包中选取的初始源流量进行筛选处理以及根据第三地址信息进行地址编辑处理,得到与第三生成方式对应的第三子源流量。
其中,第一地址信息是地址配置信息包括的第一生成方式对应的地址信息;第二地址信息是地址配置信息包括的第二生成方式对应的地址信息;第三地址信息是地址配置信息包括的与第三生成方式对应的地址信息。
具体实施时,对通过在第二数据库包括的自定义数据包中选取的初始源流量进行筛选处理以及根据第三地址信息进行地址编辑处理,包括:根据预设的目标报文类型对初始源流量进行筛选,得到与目标报文类型匹配的第一过滤源流量;根据筛选基准信息,对第一过滤源流量进行筛选,得到第二过滤源流量;筛选基准信息是地址配置信息包括的第三生成方式对应的用作筛选基准的信息;根据第三地址信息对第二过滤源流量进行编辑,以得到与第三生成方式对应的第三子源流量。
本申请的实施例中,筛选基准信息可以是地址数目;也可以是焦点地址数目和焦点地址。
在一些实施例中,对通过在第二数据库包括的自定义数据包中选取的初始源流量,根据第三地址信息进行地址编辑处理的过程,可以包括:对通过在第二数据库包括的自定义数据包中选取的初始源流量,基于第三地址信息修改第二过滤源流量的数据包的目的地址,并将第二过滤源流量的数据包的源地址设置为空字符串。
步骤S304,基于子源流量,得到目标源流量。
其中,子源流量包括:与第一生成方式对应的第一子源流量,和/或与第二生成方式对应的第二子源流量,和/或与第三生成方式对应的第三子源流量。
在一些实施例中,可以将与各个目标流量生成方式对应的子源流量进行组合,得到一个流量的集合,作为目标源流量。
步骤S305,根据目标源流量和流量权重,得到组合流量数据。
步骤S306,基于组合流量数据,启动流量回放任务,以执行对组合流量数据的回放。
具体实施时,基于组合流量数据,启动流量回放任务的过程中,可以是通过以下过程实现:逐一获取组合流量数据的数据包,针对获取的组合流量数据的数据包,执行以下操作后进行数据包发送,并在首次进行数据包发送时启动流量回放任务,以执行对组合流量数据的数据包的回放:
若获取的组合流量数据的数据包是与第三子源流量对应的数据包,则基于预设的待选源地址信息与第三地址信息的第二映射关系,将与目标第三地址信息对应的目标待选源地址信息添加到获取的组合流量数据的数据包,作为获取的组合流量数据的数据包的源地址;其中,目标第三地址信息是在第二映射关系中,与获取的组合流量数据的数据包的目的地址相同的第三地址信息;目标待选源地址是第二映射关系中与目标第三地址信息对应的待选源地址。
步骤S301~步骤S306中各个步骤具体过程可以参照前述实施例中的方法步骤执行,在此不再赘述。
本申请实施例提供的网络流量回放方法,实现了基于流量生成器生成的流量、在第一数据库包括的流量模板中选取的流量和在数据库包括的自定义数据包中选取的流量构建目标源流量,再根据目标源流量和流量权重得到组合流量数据,可以灵活组合并构建流量回放的数据源,并提高流量分析效率。
与图1所示的网络流量回放方法基于同一发明构思,本申请实施例中还提供了一种网络流量回放装置。由于该装置是本申请的网络流量回放方法对应的装置,并且该装置解决问题的原理与该方法相似,因此该装置的实施可以参见上述方法的实施,重复之处不再赘述。
图4示出了本申请实施例提供的一种网络流量回放装置的结构示意图,如图4所示,该网络流量回放装置,应用于网络靶场的控制节点,包括任务生成单元401、数据构建单元402和任务执行单元403。
其中,任务生成单元401,用于响应于用户输入的任务创建命令,生成流量回放任务;任务创建命令包括数据源构建参数;数据源构建参数包括目标流量生成方式以及对应的流量权重;目标流量生成方式是多个预设流量生成方式中的部分或全部方式;
数据构建单元402,用于基于目标流量生成方式,得到与目标流量生成方式对应的目标源流量,并根据目标源流量和流量权重,得到组合流量数据;
任务执行单元403,用于基于组合流量数据,启动流量回放任务,以执行对组合流量数据的回放。
在一种可选的实施例中,数据源构建参数还包括与目标流量生成方式对应的地址配置信息;数据构建单元402,具体用于:
基于目标流量生成方式,得到与目标流量生成方式对应的初始源流量;
根据地址配置信息和初始源流量,得到与目标流量生成方式对应的子源流量;
基于子源流量,得到目标源流量。
在一种可选的实施例中,数据构建单元402,具体用于:
若目标流量生成方式包括第一生成方式,则通过预设的流量生成器生成初始源流量;
数据构建单元402,具体用于:
将初始源流量的目的地址修改为第一地址信息,得到与第一生成方式对应的子源流量,其中第一地址信息是地址配置信息包括的第一生成方式对应的地址信息。
在一种可选的实施例中,数据构建单元402,具体用于:
若目标流量生成方式包括第二生成方式,则在第一数据库包括的流量模板中选取初始源流量;
数据构建单元402,具体用于:
将初始源流量的目的地址修改为第二地址信息,得到与第二生成方式对应的第二子源流量,其中第二地址信息是地址配置信息包括的第二生成方式对应的地址信息。
在一种可选的实施例中,数据构建单元402,具体用于:
若目标流量生成方式包括第三生成方式,则在第二数据库包括的自定义数据包中选取初始源流量;
数据构建单元402,具体用于:
根据预设的目标报文类型对初始源流量进行筛选,得到与目标报文类型匹配的第一过滤源流量;
根据筛选基准信息,对第一过滤源流量进行筛选,得到第二过滤源流量;筛选基准信息是地址配置信息包括的第三生成方式对应的用作筛选基准的信息;
根据第三地址信息对第二过滤源流量进行编辑,得到与第三生成方式对应的第三子源流量,其中第三地址信息是地址配置信息包括的与第三生成方式对应的地址信息。
在一种可选的实施例中,筛选基准信息为地址数目;第三地址信息为第一靶场目的地址;第一靶场目的地址是网络靶场的拓扑结构的节点地址,且第一靶场目的地址的数量与地址数目相同;
数据构建单元402,具体用于:
根据地址数目和与第一过滤源流量的目的地址对应的数据包数量,确定基准目的地址;
根据基准目的地址对第一过滤源流量进行筛选,得到目的地址与基准目的地址相同的第二过滤源流量;
数据构建单元402,具体用于:
根据第一靶场目的地址对第二过滤源流量的数据包的目的地址进行编辑,得到与第三生成方式对应的第三子源流量;其中,第三子源流量的数据包的目的地址为第一靶场目的地址中的一个,且目的地址相同的第二过滤源流量的数据包在根据第一靶场目的地址进行编辑后得到的第三子源流量,具有相同的第一靶场目的地址。
在一种可选的实施例中,筛选基准信息为焦点地址数目和焦点地址;第三地址信息包括焦点地址与第二靶场目的地址的第一映射关系;第二靶场目的地址是网络靶场的拓扑结构的节点地址,且第二靶场目的地址的数量与焦点地址数目相同;
数据构建单元402,具体用于:
将焦点地址,作为基准目的地址;
根据基准目的地址对第一过滤源流量进行筛选,得到目的地址与基准目的地址相同的第二过滤源流量;
数据构建单元402,具体用于:
逐一获取第二过滤源流量的数据包,每获取一个第二过滤源流量的数据包,执行以下操作,以得到与第三生成方式对应的第三子源流量的数据包:
根据第一映射关系,确定与当前获取的一个第二过滤源流量的数据包的目的地址相对应的目标第二靶场目的地址;目标第二靶场目的地址是在第一映射关系中,与当前获取的一个第二过滤源流量的数据包的目的地址相对应的第二靶场目的地址;
将当前获取的一个第二过滤源流量的数据包的目的地址,修改为目标第二靶场目的地址,得到与第三生成方式对应的第三子源流量的一个数据包。
在一种可选的实施例中,数据构建单元402,具体用于:
基于第三地址信息,修改第二过滤源流量的数据包的目的地址,并将第二过滤源流量的数据包的源地址设置为空字符串;
任务执行单元403,具体用于:
逐一获取组合流量数据的数据包,针对获取的组合流量数据的数据包,执行以下操作后进行数据包发送,并在首次进行数据包发送时启动流量回放任务,以执行对组合流量数据的数据包的回放:
若获取的组合流量数据的数据包是与第三子源流量对应的数据包,则基于预设的待选源地址信息与第三地址信息的第二映射关系,将与目标第三地址信息对应的目标待选源地址信息添加到获取的组合流量数据的数据包,作为获取的组合流量数据的数据包的源地址;其中,目标第三地址信息是在第二映射关系中,与获取的组合流量数据的数据包的目的地址相同的第三地址信息;目标待选源地址是第二映射关系中与目标第三地址信息对应的待选源地址。
与上述方法实施例基于同一发明构思,本申请实施例中还提供了一种电子设备。该电子设备可以用于网络流量回放。在一种实施例中,该电子设备可以是服务器,也可以是终端设备或其他电子设备。在该实施例中,电子设备的结构可以如图5所示,包括存储器501,通讯模块503以及一个或多个处理器502。
存储器501,用于存储处理器502执行的计算机程序。存储器501可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
存储器501可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器501也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器501是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器501可以是上述存储器的组合。
处理器502,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器502,用于调用存储器501中存储的计算机程序时实现上述网络流量回放方法。
通讯模块503用于与终端设备和其他服务器进行通信。
本申请实施例中不限定上述存储器501、通讯模块503和处理器502之间的具体连接介质。本公开实施例在图5中以存储器501和处理器502之间通过总线504连接,总线504在图5中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线504可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
另外,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序用于使计算机执行上述实施例中任何一项所述的网络流量回放方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中的网络流量回放方法。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (9)

1.一种网络流量回放方法,其特征在于,应用于网络靶场的控制节点,包括:
响应于用户输入的任务创建命令,生成流量回放任务;所述任务创建命令包括数据源构建参数;所述数据源构建参数包括目标流量生成方式以及对应的流量权重;所述目标流量生成方式是多个预设流量生成方式中的部分或全部方式;
基于所述目标流量生成方式,得到与所述目标流量生成方式对应的目标源流量,并根据所述目标源流量和所述流量权重,得到组合流量数据;
基于所述组合流量数据,启动所述流量回放任务,以执行对所述组合流量数据的回放;
所述数据源构建参数还包括与所述目标流量生成方式对应的地址配置信息;所述基于所述目标流量生成方式,得到与所述目标流量生成方式对应的目标源流量,包括:
基于所述目标流量生成方式,得到与所述目标流量生成方式对应的初始源流量;
根据所述地址配置信息和所述初始源流量,得到与所述目标流量生成方式对应的子源流量;
基于所述子源流量,得到所述目标源流量;
所述基于所述目标流量生成方式,得到与所述目标流量生成方式对应的初始源流量,包括:
若所述目标流量生成方式包括第三生成方式,则在第二数据库包括的自定义数据包中选取初始源流量;
所述根据所述地址配置信息和所述初始源流量,得到与所述目标流量生成方式对应的子源流量,包括:
根据预设的目标报文类型对所述初始源流量进行筛选,得到与所述目标报文类型匹配的第一过滤源流量;
根据筛选基准信息,对所述第一过滤源流量进行筛选,得到第二过滤源流量;所述筛选基准信息是所述地址配置信息包括的所述第三生成方式对应的用作筛选基准的信息;
根据第三地址信息对所述第二过滤源流量进行编辑,得到与所述第三生成方式对应的第三子源流量,其中所述第三地址信息是所述地址配置信息包括的与所述第三生成方式对应的地址信息;
所述基于所述组合流量数据,启动所述流量回放任务,以执行对所述组合流量数据的回放,包括:
逐一获取所述组合流量数据的数据包,针对获取的所述组合流量数据的数据包,执行以下操作后进行数据包发送,并在首次进行数据包发送时启动所述流量回放任务,以执行对所述组合流量数据的数据包的回放:
若获取的所述组合流量数据的数据包是与所述第三子源流量对应的数据包,则基于预设的待选源地址信息与第三地址信息的第二映射关系,将与目标第三地址信息对应的目标待选源地址信息添加到所述获取的所述组合流量数据的数据包,作为所述获取的所述组合流量数据的数据包的源地址;其中,所述目标第三地址信息是在所述第二映射关系中,与所述获取的所述组合流量数据的数据包的目的地址相同的第三地址信息;所述目标待选源地址是所述第二映射关系中与所述目标第三地址信息对应的待选源地址。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标流量生成方式,得到与所述目标流量生成方式对应的初始源流量,包括:
若所述目标流量生成方式包括第一生成方式,则通过预设的流量生成器生成初始源流量;
所述根据所述地址配置信息和所述初始源流量,得到与所述目标流量生成方式对应的子源流量,包括:
将所述初始源流量的目的地址修改为第一地址信息,得到与所述第一生成方式对应的子源流量,其中所述第一地址信息是所述地址配置信息包括的所述第一生成方式对应的地址信息。
3.根据权利要求1所述的方法,其特征在于,所述基于所述目标流量生成方式,得到与所述目标流量生成方式对应的初始源流量,包括:
若所述目标流量生成方式包括第二生成方式,则在第一数据库包括的流量模板中选取初始源流量;
所述根据所述地址配置信息和所述初始源流量,得到与所述目标流量生成方式对应的子源流量,包括:
将所述初始源流量的目的地址修改为第二地址信息,得到与所述第二生成方式对应的第二子源流量,其中所述第二地址信息是所述地址配置信息包括的所述第二生成方式对应的地址信息。
4.根据权利要求1所述的方法,其特征在于,所述筛选基准信息为地址数目;所述第三地址信息为第一靶场目的地址;所述第一靶场目的地址是所述网络靶场的拓扑结构的节点地址,且所述第一靶场目的地址的数量与所述地址数目相同;
所述根据筛选基准信息,对所述第一过滤源流量进行筛选,得到第二过滤源流量,包括:
根据所述地址数目和与所述第一过滤源流量的目的地址对应的数据包数量,确定基准目的地址;
根据所述基准目的地址对所述第一过滤源流量进行筛选,得到目的地址与所述基准目的地址相同的第二过滤源流量;
所述根据第三地址信息对所述第二过滤源流量进行编辑,得到与所述第三生成方式对应的第三子源流量,包括:
根据所述第一靶场目的地址对所述第二过滤源流量的数据包的目的地址进行编辑,得到与所述第三生成方式对应的第三子源流量;其中,所述第三子源流量的数据包的目的地址为所述第一靶场目的地址中的一个,且目的地址相同的所述第二过滤源流量的数据包在根据所述第一靶场目的地址进行编辑后得到的所述第三子源流量,具有相同的所述第一靶场目的地址。
5.根据权利要求1所述的方法,其特征在于,所述筛选基准信息为焦点地址数目和焦点地址;所述第三地址信息包括所述焦点地址与第二靶场目的地址的第一映射关系;所述第二靶场目的地址是所述网络靶场的拓扑结构的节点地址,且所述第二靶场目的地址的数量与所述焦点地址数目相同;
所述根据筛选基准信息,对所述第一过滤源流量进行筛选,得到第二过滤源流量,包括:
将所述焦点地址,作为基准目的地址;
根据所述基准目的地址对所述第一过滤源流量进行筛选,得到目的地址与所述基准目的地址相同的第二过滤源流量;
所述根据第三地址信息对所述第二过滤源流量进行编辑,得到与所述第三生成方式对应的第三子源流量,包括:
逐一获取所述第二过滤源流量的数据包,每获取一个所述第二过滤源流量的数据包,执行以下操作,以得到与所述第三生成方式对应的第三子源流量的数据包:
根据所述第一映射关系,确定与当前获取的一个第二过滤源流量的数据包的目的地址相对应的目标第二靶场目的地址;所述目标第二靶场目的地址是在所述第一映射关系中,与所述当前获取的一个第二过滤源流量的数据包的目的地址相对应的第二靶场目的地址;
将所述当前获取的一个第二过滤源流量的数据包的目的地址,修改为所述目标第二靶场目的地址,得到与所述第三生成方式对应的第三子源流量的一个数据包。
6.根据权利要求1所述的方法,其特征在于,所述根据第三地址信息对所述第二过滤源流量进行编辑,包括:
基于所述第三地址信息,修改所述第二过滤源流量的数据包的目的地址,并将所述第二过滤源流量的数据包的源地址设置为空字符串。
7.一种网络流量回放装置,其特征在于,应用于网络靶场的控制节点,包括:
任务生成单元,用于响应于用户输入的任务创建命令,生成流量回放任务;所述任务创建命令包括数据源构建参数;所述数据源构建参数包括目标流量生成方式以及对应的流量权重;所述目标流量生成方式是多个预设流量生成方式中的部分或全部方式;
数据构建单元,用于基于所述目标流量生成方式,得到与所述目标流量生成方式对应的目标源流量,并根据所述目标源流量和所述流量权重,得到组合流量数据;
任务执行单元,用于基于所述组合流量数据,启动所述流量回放任务,以执行对所述组合流量数据的回放;
所述数据源构建参数还包括与所述目标流量生成方式对应的地址配置信息;所述数据构建单元,具体用于:
基于所述目标流量生成方式,得到与所述目标流量生成方式对应的初始源流量;
根据所述地址配置信息和所述初始源流量,得到与所述目标流量生成方式对应的子源流量;
基于所述子源流量,得到所述目标源流量;
所述数据构建单元,具体用于:
若所述目标流量生成方式包括第三生成方式,则在第二数据库包括的自定义数据包中选取初始源流量;
所述数据构建单元,具体用于:
根据预设的目标报文类型对所述初始源流量进行筛选,得到与所述目标报文类型匹配的第一过滤源流量;
根据筛选基准信息,对所述第一过滤源流量进行筛选,得到第二过滤源流量;所述筛选基准信息是所述地址配置信息包括的所述第三生成方式对应的用作筛选基准的信息;
根据第三地址信息对所述第二过滤源流量进行编辑,得到与所述第三生成方式对应的第三子源流量,其中所述第三地址信息是所述地址配置信息包括的与所述第三生成方式对应的地址信息;
所述任务执行单元,具体用于:
逐一获取所述组合流量数据的数据包,针对获取的所述组合流量数据的数据包,执行以下操作后进行数据包发送,并在首次进行数据包发送时启动所述流量回放任务,以执行对所述组合流量数据的数据包的回放:
若获取的所述组合流量数据的数据包是与所述第三子源流量对应的数据包,则基于预设的待选源地址信息与第三地址信息的第二映射关系,将与目标第三地址信息对应的目标待选源地址信息添加到所述获取的所述组合流量数据的数据包,作为所述获取的所述组合流量数据的数据包的源地址;其中,所述目标第三地址信息是在所述第二映射关系中,与所述获取的所述组合流量数据的数据包的目的地址相同的第三地址信息;所述目标待选源地址是所述第二映射关系中与所述目标第三地址信息对应的待选源地址。
8.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,其特征在于:所述计算机程序被处理器执行时,实现权利要求1~6中任一项所述的方法。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,实现权利要求1~6中任一项所述的方法。
CN202211163074.8A 2022-09-23 2022-09-23 一种网络流量回放方法、装置、介质和电子设备 Active CN115484209B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211163074.8A CN115484209B (zh) 2022-09-23 2022-09-23 一种网络流量回放方法、装置、介质和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211163074.8A CN115484209B (zh) 2022-09-23 2022-09-23 一种网络流量回放方法、装置、介质和电子设备

Publications (2)

Publication Number Publication Date
CN115484209A CN115484209A (zh) 2022-12-16
CN115484209B true CN115484209B (zh) 2024-04-02

Family

ID=84394539

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211163074.8A Active CN115484209B (zh) 2022-09-23 2022-09-23 一种网络流量回放方法、装置、介质和电子设备

Country Status (1)

Country Link
CN (1) CN115484209B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006105707A1 (fr) * 2005-04-04 2006-10-12 Hangzhou H3C Technologies Co., Ltd. Procede et dispositif de test de fonctionnement d'un reseau
CN101964727A (zh) * 2009-07-22 2011-02-02 中兴通讯股份有限公司 一种利用混合报文测量可用带宽的方法和装置
CN106302412A (zh) * 2016-08-05 2017-01-04 江苏君立华域信息安全技术有限公司 一种针对信息系统抗压性测试的智能检测系统和检测方法
CN108900360A (zh) * 2018-08-10 2018-11-27 哈尔滨工业大学(威海) 一种基于多节点流量回放的网络背景生成系统及方法
CN109525461A (zh) * 2018-11-27 2019-03-26 杭州迪普科技股份有限公司 一种网络设备的测试方法、装置、设备及存储介质
CN112214395A (zh) * 2020-09-02 2021-01-12 浙江大搜车融资租赁有限公司 基于流量数据的接口测试方法、电子装置及存储介质
CN112241439A (zh) * 2020-10-12 2021-01-19 绿盟科技集团股份有限公司 一种攻击组织发现方法、装置、介质和设备
CN112737891A (zh) * 2020-12-30 2021-04-30 北京浩瀚深度信息技术股份有限公司 一种网络流量模拟测试方法、装置及存储介质
CN113347184A (zh) * 2021-06-01 2021-09-03 国家计算机网络与信息安全管理中心 网络流量安全检测引擎的测试方法、装置、设备及介质
CN114157461A (zh) * 2021-11-22 2022-03-08 绿盟科技集团股份有限公司 工控协议数据流处理方法、装置、设备及存储介质
CN114363402A (zh) * 2021-12-16 2022-04-15 绿盟科技集团股份有限公司 一种靶场互联方法、系统及电子设备
CN114363021A (zh) * 2021-12-22 2022-04-15 绿盟科技集团股份有限公司 网络靶场系统、网络靶场系统的虚拟网络实现方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9001688B2 (en) * 2012-08-10 2015-04-07 Ixia Dynamic balancing of a traffic mix for data center device testing
US9888028B2 (en) * 2013-05-03 2018-02-06 Centurylink Intellectual Property Llc Combination of remote triggered source and destination blackhole filtering
CN103593446A (zh) * 2013-11-18 2014-02-19 北京国双科技有限公司 流量质量分析方法及装置
US11252030B2 (en) * 2019-10-02 2022-02-15 Cisco Technology, Inc. Network scale emulator

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006105707A1 (fr) * 2005-04-04 2006-10-12 Hangzhou H3C Technologies Co., Ltd. Procede et dispositif de test de fonctionnement d'un reseau
CN101964727A (zh) * 2009-07-22 2011-02-02 中兴通讯股份有限公司 一种利用混合报文测量可用带宽的方法和装置
CN106302412A (zh) * 2016-08-05 2017-01-04 江苏君立华域信息安全技术有限公司 一种针对信息系统抗压性测试的智能检测系统和检测方法
CN108900360A (zh) * 2018-08-10 2018-11-27 哈尔滨工业大学(威海) 一种基于多节点流量回放的网络背景生成系统及方法
CN109525461A (zh) * 2018-11-27 2019-03-26 杭州迪普科技股份有限公司 一种网络设备的测试方法、装置、设备及存储介质
CN112214395A (zh) * 2020-09-02 2021-01-12 浙江大搜车融资租赁有限公司 基于流量数据的接口测试方法、电子装置及存储介质
CN112241439A (zh) * 2020-10-12 2021-01-19 绿盟科技集团股份有限公司 一种攻击组织发现方法、装置、介质和设备
CN112737891A (zh) * 2020-12-30 2021-04-30 北京浩瀚深度信息技术股份有限公司 一种网络流量模拟测试方法、装置及存储介质
CN113347184A (zh) * 2021-06-01 2021-09-03 国家计算机网络与信息安全管理中心 网络流量安全检测引擎的测试方法、装置、设备及介质
CN114157461A (zh) * 2021-11-22 2022-03-08 绿盟科技集团股份有限公司 工控协议数据流处理方法、装置、设备及存储介质
CN114363402A (zh) * 2021-12-16 2022-04-15 绿盟科技集团股份有限公司 一种靶场互联方法、系统及电子设备
CN114363021A (zh) * 2021-12-22 2022-04-15 绿盟科技集团股份有限公司 网络靶场系统、网络靶场系统的虚拟网络实现方法及装置

Also Published As

Publication number Publication date
CN115484209A (zh) 2022-12-16

Similar Documents

Publication Publication Date Title
Richerzhagen et al. Simonstrator: Simulation and prototyping platform for distributed mobile applications
Jakma et al. Introduction to the quagga routing suite
CN113037777B (zh) 蜜罐诱饵的分配方法及装置、存储介质、电子设备
US20130305091A1 (en) Drag and drop network topology editor for generating network test configurations
Rahman et al. Network modelling and simulation tools
CN113676363B (zh) 一种网络靶场流量生成系统及方法
CN108183975A (zh) 一种域名解析的方法和系统
CN108228444B (zh) 一种测试方法和装置
CN114553752B (zh) 基于仿真软件的网络性能测试方法、装置和计算机设备
CN113810230A (zh) 对容器集群中的容器进行网络配置的方法、装置及系统
Wang et al. PNPL: Simplifying programming for protocol-oblivious SDN networks
CN109446062A (zh) 云计算服务中的软件调试的方法和装置
CN115484209B (zh) 一种网络流量回放方法、装置、介质和电子设备
JP4419865B2 (ja) 仮想ネットワークに対する実ネットワークのトラヒック管理方法、プログラム及び装置
CN102104503B (zh) 一种网络的传输流量仿真方法及设备
CN116094919A (zh) 通信网络的运行方法、装置、系统以及电子设备
Narveson et al. LANdini: a networking utility for wireless LAN-based laptop ensembles
KR20190116512A (ko) 네트워크 구축 장치, 네트워크 구축 방법, 및 컴퓨터 판독가능 기록 매체에 저장된 프로그램
Zeng SEEDEMU: The SEED Internet Emulator
CN107066444B (zh) 基于多轮交互的语料生成方法和装置
Sproull et al. Distributed algorithms for the placement of network services
Suzuki et al. Expediting experiments across testbeds with AnyBed: a testbed-independent topology configuration tool
US11496537B2 (en) Method and apparatus for reverse address mapping when using content preparation in 5G networks
Govindarajan et al. Cloud Native Networking Deep-Dive
Autefage et al. Virtualization toolset for emulating mobile devices and networks

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