1.本发明涉及一种网络靶场中混杂流量发生方法与系统,属于网络安全、计算机软件领域。
背景技术:2.网络靶场是通过虚拟化技术,模拟仿真出真实网络空间攻防作战环境,能够支撑作战能力研究和武器装备验证的试验平台。为了达到上述目的,在实际的训练或验证过程中,需要对被研究的目标节点(即靶机)施加背景流量以模拟真实环境中在进行网络对抗时的各种干扰信号。
3.典型的流量发生过程如图1所示,包括如下步骤:1、用户启动试验场景,即启动场景拓扑中的各个虚拟机;2、场景启动后,在场景中加载流量发生装置;3、根据场景的配置,流量发生装置加载指定待发送的流量包(pcap流量包);4、根据实际的业务场景,修改待发送流量包中tcp报文的五元组,修改后的报文为最终待发送的流量包;5、流量发生装置加载步骤4中生成的流量包,按指定的流量发生策略进行发送。
4.上述流量发生过程存在如下不足:1、流量包中的内容是单一的,如只有微信的流量,单个流量发生装置无法模拟多流量的混杂发送,和实际业务场景不符;2、实际场景中,各种业务报文的比例是不均衡的,现有技术无法同时控制多种报文的混杂比例,如qq和微信的流量按照1:2的方式进行模拟。
技术实现要素:5.发明目的:针对上述现有技术存在的问题,本发明目的在于提供一种网络靶场中混杂流量发生方法与系统,支持流量包自由组合,模拟多流量的混杂发送;同时支持配置混杂比例,提高流量发生的效果。
6.技术方案:为实现上述发明目的,本发明采用如下技术方案:一种网络靶场中混杂流量发生方法,包括如下步骤:获取待混杂的流量包集合;逐个加载流量包集合中的单个流量包,并按tcp报文维度进行解析,得到tcp报文队列;每个流量包对应一个tcp报文队列;根据实际的业务需要,修改tcp报文队列中各tcp报文的源ip、源端口、目的ip和目的端口;按照预设的混杂比例对不同tcp报文队列的tcp报文进行混合,得到混合流量队列;将混合流量队列生成新的流量包,作为最终待发送的混杂流量包;加载待发送的混杂流量包,按照既定的速率发送流量包。
7.作为优选,所述按照预设的混杂比例对不同tcp报文队列的tcp报文进行混合的方法为:
设流量包p1、p2、
……
、pn的混杂比例为h1、h2、
……
、hn;其中h1、h2、
……
、hn为正整数,n为待混杂的流量包集合中的流量包数目;每次分别从流量包p1、p2、
……
、pn对应的tcp报文队列l1、l2、
……
、ln中取出h1、h2、
……
、hn个tcp报文,加入混合流量队列;当单个流量包的tcp报文队列到达尾部时,循环从头部继续读取tcp报文;重复从l1、l2、
……
、ln中取出tcp报文,直到所有队列中的tcp报文都加入混合流量队列。
8.作为优选,在tcp报文混杂结束后,分别查看混合流量队列中最后一个来自l1、l2、
……
、ln的tcp报文的业务包是否完整,如果不完整则丢弃相应的tcp报文。
9.作为优选,将tcp报文的源ip、源端口修改为预设的ip和端口,目的ip和目的端口修改目标虚拟机的ip以及可用端口池中的随机端口。
10.一种网络靶场中混杂流量发生系统,包括:流量混杂装置,用于获取待混杂的流量包集合;逐个加载流量包集合中的单个流量包,并按tcp报文维度进行解析,得到tcp报文队列;每个流量包对应一个tcp报文队列;以及根据实际的业务需要,修改tcp报文队列中各tcp报文的源ip、源端口、目的ip和目的端口;按照预设的混杂比例对不同tcp报文队列的tcp报文进行混合,得到混合流量队列;将混合流量队列生成新的流量包,作为最终待发送的混杂流量包;以及流量发生装置,用于加载待发送的混杂流量包,按照既定的速率发送流量包。
11.一种计算机系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的网络靶场中混杂流量发生方法的步骤。
12.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的网络靶场中混杂流量发生方法的步骤。
13.有益效果:与现有技术相比,本发明具有如下优点:1、通过对单一内容流量包的自由组合,可以模拟多种流量混杂的复杂业务场景;2、控制多种报文的混杂比例,模拟实际使用场景中的重点业务,从而达到更好的流量发生效果。
附图说明
14.图1为现有网络靶场中流量发生流程图。
15.图2为本发明实施例的流量发生流程图。
具体实施方式
16.下面将结合附图和具体实施例,对本发明的技术方案进行清楚、完整的描述。
17.本发明实施例公开的一种网络靶场中混杂流量发生方法,首先获取待混杂的流量包集合,逐个加载流量包集合中的单个流量包,并按tcp报文维度进行解析,得到单个流量包的tcp报文队列;然后根据实际的业务需要,修改tcp报文队列中各tcp报文的源ip、源端口、目的ip和目的端口;接着按照预设的混杂比例对不同tcp报文队列的tcp报文进行混合,得到混合流量队列,将混合流量队列生成新的流量包,作为最终待发送的混杂流量包;最后加载待发送的混杂流量包,按照既定的速率发送流量包。
18.下面结合图2和具体场景,对本发明的具体实施进行详细说明。
19.步骤1、用户启动试验场景,即启动场景拓扑中的各个虚拟机。
20.步骤2、场景启动后,在场景中加载流量发生装置及流量混合装置。
21.步骤3、根据用户预设的流量混合规则,混合装置获取待混合的流量包集合。
22.步骤4、流量混合装置逐个加载流量集合中的单个流量包。
23.步骤5、对单个流量包中的报文按tcp维度进行解析,形成tcp报文队列,队列中的每一个值为一条tcp报文。
24.步骤6、根据实际的业务需要,修改待发送流量包中tcp报文的五元组,包括自定义的报文源ip和源端口,目的ip和目的端口改为当前目标机器的ip以及当前目标机器一个未使用的随机端口,修改后的报文为最终待混合的流量包。
25.步骤7、按预设的混杂比例对流量进行混合,生成新的混合流量队列a,混合的具体步骤如下:7.1、假设有三个tcp报文队列l1、l2、l3进行流量混合,混合的比例为1:2:3。每次分别从l1、l2、l3三个队列中取出1、2、3个tcp报文,加入混合流量队列a;当某个队列到达尾部时,循环从头部继续读取tcp报文;重复上述步骤直到所有队列中的报文加入混合流量队列a;7.2、对于7.1的混合流量队列a,分别查看最后一个l1、l2、l3的tcp报文的业务包是否完整,如果报文不完整则丢弃。
26.步骤8、将步骤7中的混合流量队列a生成新的流量包,此流量包为最终待发送的混合流量包。
27.步骤9、流量发生装置加载步骤8中生成的流量包,按指定的流量发生策略进行发送。
28.基于相同的发明构思,本发明实施例公开了一种网络靶场中混杂流量发生系统,包括流量混杂装置和流量发生装置;流量混杂装置,用于获取待混杂的流量包集合;逐个加载流量包集合中的单个流量包,并按tcp报文维度进行解析,得到tcp报文队列;以及根据实际的业务需要,修改tcp报文队列中各tcp报文的源ip、源端口、目的ip和目的端口;按照预设的混杂比例对不同tcp报文队列的tcp报文进行混合,得到混合流量队列;将混合流量队列生成新的流量包,作为最终待发送的混杂流量包;流量发生装置,用于加载待发送的混杂流量包,按照既定的速率发送流量包。
29.基于相同的发明构思,本发明实施例公开了一种计算机系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的网络靶场中混杂流量发生方法的步骤。
30.基于相同的发明构思,本发明实施例公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的网络靶场中混杂流量发生方法的步骤。
31.本领域技术人员可以理解的是,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机系统(可以是个人计算机,服务器,或者网络设备等)执行本发明实施例所述方法的全部或部分步骤。存储介质包括:u盘、移动硬盘、只读存储器rom、随机存取存储器ram、磁碟或者光盘等各种可以存储计算机程序的介质。
技术特征:1.一种网络靶场中混杂流量发生方法,其特征在于,包括如下步骤:获取待混杂的流量包集合;逐个加载流量包集合中的单个流量包,并按tcp报文维度进行解析,得到tcp报文队列;每个流量包对应一个tcp报文队列;根据实际的业务需要,修改tcp报文队列中各tcp报文的源ip、源端口、目的ip和目的端口;按照预设的混杂比例对不同tcp报文队列的tcp报文进行混合,得到混合流量队列;将混合流量队列生成新的流量包,作为最终待发送的混杂流量包;加载待发送的混杂流量包,按照既定的速率发送流量包。2.根据权利要求1所述的网络靶场中混杂流量发生方法,其特征在于,所述按照预设的混杂比例对不同tcp报文队列的tcp报文进行混合的方法为:设流量包p1、p2、
……
、p
n
的混杂比例为h1、h2、
……
、h
n
;其中h1、h2、
……
、h
n
为正整数,n为待混杂的流量包集合中的流量包数目;每次分别从流量包p1、p2、
……
、p
n
对应的tcp报文队列l1、l2、
……
、l
n
中取出h1、h2、
……
、h
n
个tcp报文,加入混合流量队列;当单个流量包的tcp报文队列到达尾部时,循环从头部继续读取tcp报文;重复从l1、l2、
……
、l
n
中取出tcp报文,直到所有队列中的tcp报文都加入混合流量队列。3.根据权利要求2所述的网络靶场中混杂流量发生方法,其特征在于,在tcp报文混杂结束后,分别查看混合流量队列中最后一个来自l1、l2、
……
、l
n
的tcp报文的业务包是否完整,如果不完整则丢弃相应的tcp报文。4.根据权利要求1所述的网络靶场中混杂流量发生方法,其特征在于,将tcp报文的源ip、源端口修改为预设的ip和端口,目的ip和目的端口修改目标虚拟机的ip以及可用端口池中的随机端口。5.一种网络靶场中混杂流量发生系统,其特征在于,包括:流量混杂装置,用于获取待混杂的流量包集合;逐个加载流量包集合中的单个流量包,并按tcp报文维度进行解析,得到tcp报文队列;每个流量包对应一个tcp报文队列;以及根据实际的业务需要,修改tcp报文队列中各tcp报文的源ip、源端口、目的ip和目的端口;按照预设的混杂比例对不同tcp报文队列的tcp报文进行混合,得到混合流量队列;将混合流量队列生成新的流量包,作为最终待发送的混杂流量包;以及流量发生装置,用于加载待发送的混杂流量包,按照既定的速率发送流量包。6.根据权利要求5所述的网络靶场中混杂流量发生系统,其特征在于,所述流量混杂装置中,按照预设的混杂比例对不同tcp报文队列的tcp报文进行混合的方法为:设流量包p1、p2、
……
、p
n
的混杂比例为h1、h2、
……
、h
n
;其中h1、h2、
……
、h
n
为正整数,n为待混杂的流量包集合中的流量包数目;每次分别从流量包p1、p2、
……
、p
n
对应的tcp报文队列l1、l2、
……
、l
n
中取出h1、h2、
……
、h
n
个tcp报文,加入混合流量队列;当单个流量包的tcp报文队列到达尾部时,循环从头部继续读取tcp报文;重复从l1、l2、
……
、l
n
中取出tcp报文,直到所有队列中的tcp报文都加入混合流量队列。7.根据权利要求5所述的网络靶场中混杂流量发生系统,其特征在于,所述流量混杂装
置中,在tcp报文混杂结束后,分别查看混合流量队列中最后一个来自l1、l2、
……
、l
n
的tcp报文的业务包是否完整,如果不完整则丢弃相应的tcp报文。8.根据权利要求5所述的网络靶场中混杂流量发生系统,其特征在于,所述流量混杂装置中,将tcp报文的源ip、源端口修改为预设的ip和端口,目的ip和目的端口修改目标虚拟机的ip以及可用端口池中的随机端口。9.一种计算机系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被加载至处理器时实现根据权利要求1-4任一项所述的网络靶场中混杂流量发生方法的步骤。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现根据权利要求1-4任一项所述的网络靶场中混杂流量发生方法的步骤。
技术总结本发明公开了一种网络靶场中混杂流量发生方法与系统,首先获取待混杂的流量包集合,逐个加载流量包集合中的单个流量包,并按TCP报文维度进行解析,得到单个流量包的TCP报文队列;然后根据实际的业务需要,修改TCP报文的五元组;接着按照预设的混杂比例对不同TCP报文队列的TCP报文进行混合,得到混合流量队列,将混合流量队列生成新的流量包,作为最终待发送的混杂流量包;最后加载待发送的混杂流量包,按照既定的速率发送流量包。本发明可以模拟多种流量混杂的复杂业务场景,并且能够控制多种报文的混杂比例,模拟实际使用场景中的重点业务,从而达到更好的流量发生效果。从而达到更好的流量发生效果。从而达到更好的流量发生效果。
技术研发人员:高庆官 谢峥 殷庆荣 王国伟
受保护的技术使用者:南京赛宁信息技术有限公司
技术研发日:2022.05.09
技术公布日:2022/11/1