掌桥专利:专业的专利平台
掌桥专利
首页

一种网络靶场中场景靶机网络拓扑检测方法与系统

文献发布时间:2024-04-18 19:54:45


一种网络靶场中场景靶机网络拓扑检测方法与系统

技术领域

本发明涉及一种网络靶场中场景靶机网络拓扑检测方法与系统,属于计算机软件、网络安全领域。

背景技术

在网络靶场基于网络拓扑图启动场景时,会根据场景配置数据进行网络、虚拟机终端、交换机、路由器的实例化。目前场景实例化后会针对一些特殊应用(例如一些服务的端口是否能够连接)判断场景是否初始化完成,但是并不清楚实际启动的场景是否与网络拓扑图配置的一致,整个拓扑网络是否真的能够连通,需要手动对拓扑中靶机进行检测。并且在网络拓扑的连通性出现问题时,问题排查复杂繁琐。

发明内容

发明目的:针对上述现有技术存在的问题,本发明目的在于提供一种网络靶场中场景靶机网络拓扑检测方法与系统,能够自动分析网络场景拓扑,获取网络链路状态,展示网络拓扑变化状态,提高检测效率。

技术方案:为实现上述发明目的,本发明采用如下技术方案:

一种网络靶场中场景靶机网络拓扑检测方法,包括如下步骤:

获取网络靶场场景数据,解析得到需要检测的虚拟机列表、网络列表和路由列表;其中虚拟机列表中包含了场景拓扑中所有的虚拟机,网络列表中包含了场景拓扑中所有的网络以及网络内的虚拟机,路由列表中包含了场景拓扑中通过路由器相连的两个不同的网络以及网络内的虚拟机;

遍历虚拟机列表中的每个待检测的虚拟机,在网络靶场控制节点上虚拟机所在的网络命名空间内,arping虚拟机IP地址,获取回复包的mac地址,并与虚拟机创建时分配的mac地址进行对比以判断虚拟机配置是否正常;

遍历网络列表中的每个待检测的网络,通过rpc调度至网络内虚拟机所在的计算节点,通过串口接入虚拟机,在虚拟机上ping网络的网关地址,根据是否ping通判断网络配置是否正常;

遍历路由列表中的每个待检测的路由,通过rpc调度至其中一个网络内虚拟机所在的计算节点,通过串口接入虚拟机,在虚拟机上ping另一个网络内虚拟机的IP地址,根据是否ping通判断路由配置是否正常。

作为优选,在检测网络或路由时,在网络内的虚拟机中随机选择一台虚拟机进行检测。

作为优选,虚拟机创建时分配的mac地址获取方式:通过rpc调度虚拟机所在的计算节点查询虚拟机配置文件,获取配置文件中虚拟机mac地址。

进一步地,所述方法还包括,在检测过程中根据实时检测的结果,展示场景拓扑的网络链路状态。

一种网络靶场中场景靶机网络拓扑检测系统,包括:

任务解析模块,用于获取网络靶场场景数据,解析得到需要检测的虚拟机列表、网络列表和路由列表;其中虚拟机列表中包含了场景拓扑中所有的虚拟机,网络列表中包含了场景拓扑中所有的网络以及网络内的虚拟机,路由列表中包含了场景拓扑中通过路由器相连的两个不同的网络以及网络内的虚拟机;

终端检测模块,用于遍历虚拟机列表中的每个待检测的虚拟机,在网络靶场控制节点上虚拟机所在的网络命名空间内,arping虚拟机IP地址,获取回复包的mac地址,并与虚拟机创建时分配的mac地址进行对比以判断虚拟机配置是否正常;

网络检测模块,用于遍历网络列表中的每个待检测的网络,通过rpc调度至网络内虚拟机所在的计算节点,通过串口接入虚拟机,在虚拟机上ping网络的网关地址,根据是否ping通判断网络配置是否正常;

路由检测模块,用于遍历路由列表中的每个待检测的路由,通过rpc调度至其中一个网络内虚拟机所在的计算节点,通过串口接入虚拟机,在虚拟机上ping另一个网络内虚拟机的IP地址,根据是否ping通判断路由配置是否正常。

作为优选,网络检测模块或路由检测模块,在检测网络或路由时,在网络内的虚拟机中随机选择一台虚拟机进行检测。

作为优选,所述终端检测模块,虚拟机创建时分配的mac地址获取方式:通过rpc调度虚拟机所在的计算节点查询虚拟机配置文件,获取配置文件中虚拟机mac地址。

进一步地,所述系统还包括,结果展示模块,用于在检测过程中根据实时检测的结果,展示场景拓扑的网络链路状态。

一种计算机系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的网络靶场中场景靶机网络拓扑检测方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的网络靶场中场景靶机网络拓扑检测方法的步骤。

有益效果:与现有技术相比,本发明具有如下优点:本发明通过自动分析场景网络拓扑,进行终端、网络、路由的分类检测,能获取到整个网络拓扑链路状态,保证实际启动场景的拓扑与配置一致,有助于网络拓扑验证和网络连通性问题定位,极大地提高了工作效率。本发明通过网络链路自动检测,能够获取并展示整个网络拓扑变化情况。

附图说明

图1为本发明实施例的总体流程图。

图2为靶场场景网络拓扑示意图。

图3为本发明实施例中虚拟机终端检测示意图。

图4为本发明实施例中网络检测示意图。

图5为本发明实施例中路由检测示意图。

具体实施方式

下面将结合附图和具体实施例,对本发明的技术方案进行清楚、完整的描述。

如图1所示,本发明实施例公开的一种网络靶场中场景靶机网络拓扑检测方法,主要包括任务解析、虚拟机终端检测、网络检测和路由检测几个步骤。用于在通过靶场管理平台前端启动场景后,平台将场景启动数据通过接口传输给自动分析检测网络链路服务,通过服务对场景数据分析,先分类出,需要终端检测,网络检测,路由检测的类型,进行优化检测。对场景数据进行解析后得到需要检测的虚拟机列表、网络列表和路由列表;其中虚拟机列表中包含了场景拓扑中所有的虚拟机,网络列表中包含了场景拓扑中所有的网络以及网络内的虚拟机,路由列表中包含了场景拓扑中通过路由器相连的两个不同的网络以及网络内的虚拟机。

具体场景数据可以是xml文件或数据库文件传入到自动检测服务,具体解析时可以以路由器为第一类标签并且记录其下网络信息,网络交换机为第二类标签并且记录其下虚拟机,虚拟机终端为第三类,由第二类网络交换机可知其网络下的虚拟机终端,也可知网络连接的路由,即先确定网络,检测每个网络下虚拟机终端,接着检测对其下虚拟机检测网络,再检测与之相连的路由器下不同网段的网络的路由。

此外,也可通过优化检测,提高效率,图2所示场景vm1、vm2与交换机s1相连,vm2、vm3、vm4与交换机s2相连,通过终端检测方法检测vm1、vm2得知检测后,进行网络检测只需要检测其中一台终端节点就好,在vm1上进行网络检测,其结果就是vm2的结果,同理vm3、vm4、vm5也只需在其中一台虚拟机上进行网络检测,检测路由也只需通过vm1与vm3进行路由检测,得出与两个交换机相连的路由器是否正常。这样对所有机器不需要进行过多的网络检测与路由检测,大大提高的检测效率。因为是实时上报的所以每次在检测时,在检测网络或者路由时,随机选择其中虚拟机进行检测。

在所有类型网络场景中,除虚拟机需要实时检测外;一台交换机连接多个虚拟机,只需要对其中一台虚拟机进行网络检测;两台交换机通过路由器相连,也只需要通过对其中一台虚拟机进行路由检测。下面具体解释虚拟机终端、网络及路由的具体检测方法。

1.终端检测方法

创建虚拟机时如分配新网络时,都会在网络靶场控制节点(即OpenStack控制节点)创建对应网络的命名空间,并配置网络的dhcp服务,即通过服务对虚拟机所在的网络命名空间内,arping各自虚拟机IP地址,获取回包的mac地址与虚拟机创建时分配的mac地址对比来检测虚拟机网络是否正常,如图3所示。

通过命名空间arping虚拟机IP:

ip netns exec qdhcp-f46b1cf0-7d9c-49e3-b8ea-4048ded3566b arping192.168.1.147

ARPING 192.168.1.147 from 192.168.1.1 tap75f58168-e4

Unicast reply from 192.168.1.147 [FA:16:3E:FD:B4:D9] 1.047ms

Unicast reply from 192.168.1.147 [FA:16:3E:FD:B4:D9] 0.876ms

通过rpc调度至虚拟机所在节点查询虚拟机的配置文件mac信息,与上述所得的mac地址进行校验,得出结果。配置文件网络接口部分示例:

解析出两者的mac地址是否相同从而得知检测结果。

2.网络检测方法

如图4所示,通过服务rpc调用到虚拟机所在主机,通过串口连接虚拟机,在虚拟机上ping一下网关地址,如能正常ping通则说明网络是通的,反之亦然。

3.路由检测方法

如图5所示,通过串口连接虚拟机,在虚拟机上ping一下跨网段的地址。

网络靶场创建虚拟机时都会创建一个tcp类型的console设备,并将目标指向虚拟机的serial设备。

即串口设备配置示例;

通过间隔时间,及实时获取当前网络链路状态,通过websocket及时推送给前端页面,前端将结果展示出来。

基于相同的发明构思,本发明实施例公开的一种网络靶场中场景靶机网络拓扑检测系统,包括:任务解析模块,用于获取网络靶场场景数据,解析得到需要检测的虚拟机列表、网络列表和路由列表;终端检测模块,用于遍历虚拟机列表中的每个待检测的虚拟机,在网络靶场控制节点上虚拟机所在的网络命名空间内,arping虚拟机IP地址,获取回复包的mac地址,并与虚拟机所在计算节点上的配置文件中的mac地址进行对比以判断虚拟机配置是否正常;网络检测模块,用于遍历网络列表中的每个待检测的网络,通过rpc调度至网络内虚拟机所在的计算节点,通过串口接入虚拟机,在虚拟机上ping网络的网关地址,根据是否ping通判断网络配置是否正常;路由检测模块,用于遍历路由列表中的每个待检测的路由,通过rpc调度至其中一个网络内虚拟机所在的计算节点,通过串口接入虚拟机,在虚拟机上ping另一个网络内虚拟机的IP地址,根据是否ping通判断路由配置是否正常。

基于相同的发明构思,本发明实施例公开的一种计算机系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的网络靶场中场景靶机网络拓扑检测方法的步骤。

基于相同的发明构思,本发明实施例公开的一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的网络靶场中场景靶机网络拓扑检测方法的步骤。

相关技术
  • 一种网络靶场管理系统及其实现方法、装置、存储介质
  • 一种网络靶场大规模场景中虚拟机快速构建系统与方法
  • 一种网络靶场大规模场景中虚拟机快速构建系统与方法
技术分类

06120116381191