一种网络拓扑自动生成方法及系统与流程

专利2024-10-07  14


本发明涉及一种网络拓扑自动生成方法及系统,属于网络安全技术领域。



背景技术:

随着网络技术的快速发展,其给社会、人类生活带来了很大的便利性,创造了大量财富。同时网络攻击也变的越来越频繁,大量不法分子、敌对势力利用网络攫取不义之财、大肆进行破坏和不法活动,给我们的生活造成了很大的困扰。为了应对这种严峻的形势,目前,已经将网络领域上升到网络战的战略高度。越来越多的机构、公司都在组建网络靶场,通过靶场这种近乎实战的形式来培养网络安全人才。

现有技术中,在构建靶场攻击场景时,通常需要先获得网络设备的网络拓扑,而现有的网络拓扑结构获取方式效率较低,精准度较差,这样会影响靶场攻击场景的搭建效果。



技术实现要素:

本发明提供了一种网络拓扑自动生成方法及系统,能够解决现有的网络拓扑结构获取方式效率较低,精准度较差,从而影响靶场攻击场景的搭建效果的问题。

一方面,本发明提供了一种网络拓扑自动生成方法,所述方法包括:接收用户端输入的网络地址范围;获取所述网络地址范围内的网络设备及其指纹信息;根据所述网络设备及其指纹信息和系统资产库中的网络设备信息,对所述网络设备进行二次探测,获取所述网络设备的相邻设备信息;根据所述网络设备和所述相邻设备信息,生成网络拓扑。

可选的,所述根据所述网络设备及其指纹信息和系统资产库中的网络设备信息,对所述网络设备进行二次探测,获取所述网络设备的相邻设备信息,具体包括:根据所述网络设备及其指纹信息,生成初始拓扑;所述初始拓扑中包含的设备类型有逻辑路由器和逻辑交换机;根据所述网络设备的设备类型和指纹信息,在所述系统资产库中查找所述网络设备对应的用户名信息和密码信息;利用所述用户名信息和所述密码信息登录所述网络设备,并对所述网络设备进行ping处理;根据网络通道协议,从进行了ping处理后的网络设备上获取mac表;根据所述mac表获取所述网络设备的相邻设备信息。

可选的,所述根据所述网络设备和所述相邻设备信息,生成网络拓扑,具体为:根据所述相邻设备信息修正所述初始拓扑,生成网络拓扑。

可选的,所述网络设备的指纹信息包括ip地址、mac地址、设备类型和操作系统。

另一方面,本发明提供了一种网络拓扑自动生成系统,所述系统包括:输入单元,用于接收用户端输入的网络地址范围;第一获取单元,用于获取所述网络地址范围内的网络设备及其指纹信息;第二获取单元,用于根据所述网络设备及其指纹信息和系统资产库中的网络设备信息,对所述网络设备进行二次探测,获取所述网络设备的相邻设备信息;拓扑生成单元,用于根据所述网络设备和所述相邻设备信息,生成网络拓扑。

可选的,所述第二获取单元具体用于:根据所述网络设备及其指纹信息,生成初始拓扑;所述初始拓扑中包含的设备类型有逻辑路由器和逻辑交换机;根据所述网络设备的设备类型和指纹信息,在所述系统资产库中查找所述网络设备对应的用户名信息和密码信息;利用所述用户名信息和所述密码信息登录所述网络设备,并对所述网络设备进行ping处理;根据网络通道协议,从进行了ping处理后的网络设备上获取mac表;根据所述mac表获取所述网络设备的相邻设备信息。

可选的,所述拓扑生成单元具体用于:根据所述相邻设备信息修正所述初始拓扑,生成网络拓扑。

可选的,所述网络设备的指纹信息包括ip地址、mac地址、设备类型和操作系统。

本发明能产生的有益效果包括:

本发明提供的网络拓扑自动生成方法,通过获取网络地址范围内的网络设备及其指纹信息;然后根据网络设备及其指纹信息和系统资产库中的网络设备信息,对网络设备进行二次探测,获取网络设备的相邻设备信息;最后根据网络设备和相邻设备信息,生成网络拓扑。该网络拓扑的获取方式效率较高,精准度较好,从而保证了靶场攻击场景的搭建效果。

附图说明

图1为本发明实施例提供的网络拓扑自动生成方法流程图;

图2为本发明另一实施例提供的网络拓扑自动生成方法流程图;

图3为本发明实施例提供的初始拓扑示意图;

图4为本发明实施例提供的二次探测后的拓扑示意图;

图5为本发明实施例提供的修正后的网络拓扑示意图;

图6为本发明实施例提供的网络拓扑自动生成系统结构框图。

具体实施方式

下面结合实施例详述本发明,但本发明并不局限于这些实施例。

本发明实施例提供了一种网络拓扑自动生成方法,如图1所示,所述方法包括:

步骤11、接收用户端输入的网络地址范围。

步骤12、获取网络地址范围内的网络设备及其指纹信息。

这一步骤属于资产发现的过程,具体的,根据用户输入的网络地址段通过资产扫描技术获取到属于该网络地址范围内的所有网络设备及其指纹信息,指纹信息包括ip地址、mac地址、设备类型、操作系统,但不仅限于这些信息。

步骤13、根据网络设备及其指纹信息和系统资产库中的网络设备信息,对网络设备进行二次探测,获取网络设备的相邻设备信息。

所述的二次探测,主要是对资产发现获得的网络设备,根据系统资产库提供的网络设备信息,登录到该网络设备上,通过二次探测,发现资产发现到的网络设备的相邻设备信息,二次探测使用的协议可以是链路层发现协议(lldp),但不仅限于此协议。

步骤14、根据网络设备和相邻设备信息,生成网络拓扑。

网络拓扑的生成,是根据上述资产发现获得的网络设备,结合二次探测获得的相邻设备信息,从而生成网络拓扑。

本发明通过获取网络地址范围内的网络设备及其指纹信息;然后根据网络设备及其指纹信息和系统资产库中的网络设备信息,对网络设备进行二次探测,获取网络设备的相邻设备信息;最后根据网络设备和相邻设备信息,生成网络拓扑。该网络拓扑的获取方式效率较高,精准度较好,从而保证了靶场攻击场景的搭建效果。

在本发明实施例中,根据网络设备及其指纹信息和系统资产库中的网络设备信息,对网络设备进行二次探测,获取网络设备的相邻设备信息,具体包括:

步骤21、根据网络设备及其指纹信息,生成初始拓扑;初始拓扑中包含的设备类型有逻辑路由器和逻辑交换机。

步骤22、根据网络设备的设备类型和指纹信息,在系统资产库中查找网络设备对应的用户名信息和密码信息。

步骤23、利用用户名信息和密码信息登录网络设备,并对网络设备进行ping处理。

步骤24、根据网络通道协议,从进行了ping处理后的网络设备上获取mac表。

步骤25、根据mac表获取网络设备的相邻设备信息。

进一步的,根据网络设备和相邻设备信息,生成网络拓扑,具体为:根据相邻设备信息修正初始拓扑,生成网络拓扑。

基于发现的网络资产生成一个初始的拓扑图,此初始拓扑中会包含有逻辑路由器和逻辑交换机设备。根据设备类型进行二次探测发现,若设备类型为路由器,则通过ip地址到资产库中查找到该ip对应的用户名和密码信息,通过用户名和密码登录到对应的路由器上,对资产发现的各路由器进行ping处理;若设备类型为交换机,则通过与上面路由器相同的处理办法,通过ip地址到资产库中查找到该交换机ip对应的用户名和密码信息,通过用户名和密码登录到对应的交换机上,对资产发现的各终端设备进行ping处理。ping处理结束后,通过网络通道协议到路由器和交换机上捞取学习到mac表。根据mac表,判断路由器的直连交换机,判断交换机的直连终端设备,然后对初始拓扑进行二次修正,将直连的真实路由器和真实交换机进行连线,将直连的真实交换机和终端设备进行连线;对逻辑交换机和逻辑路由器的连线进行判断,如无存在的必要则删除连线。将生成的网络拓扑保存到场景信息表中。

本发明另一实施例提供的网络拓扑自动生成方法,其流程图如图2所示,其实现方法包括:

步骤31、输入ip段,或者子网地址,表明资产发现和拓扑生成的范围;

步骤32、对输入的ip段发起资产扫描,扫描到设备的ip地址、mac地址、设备类型、操作系统等信息。

步骤33、对扫描到的资产形成一个初始的网络拓扑,图3就是在示例网络中形成的一种初始拓扑,其中sw(n)为资产发现的真实交换机;swv(n)为根据拓扑需要生成的逻辑交换机,不同子网生成不同的逻辑交换机;r(n)为资产发现的真实路由器;rv为根据拓扑需要生成的逻辑路由器;cloud为逻辑云网络。

步骤34、进行二次探测,登录到发现的真实交换机或路由器,通过邻居发现方法发现其直连的下层设备。比如可以通过资产库提供的用户名、密码信息,登录到各真实交换机上,使用ping命令ping各终端设备,然后通过网络通道协议获取其mac表,从而判断出直连的主机设备。路由器也可以通过同交换机相同的办法发现其直连的交换机设备,或者通过链路层发现协议(lldp)发现其直连的交换机设备。假设通过sw1发现了直连设备pc1、pc2,通过sw2发现了直连设备plc,通过r1发现了直连交换机sw1、sw2,此时形成的拓扑图如图4所示。

步骤35、拓扑修正,主要目的是去除无用的逻辑设备。例如在图4中,swv1下只有pc1、pc2,而pc1和pc2分别都与真实的交换机相连,那么swv1就没有存在的必要了,使用相同的逻辑处理后,最终经过修正后的拓扑如图5所示。

步骤36、拓扑保存,将生成的最终拓扑保存到场景信息库中,以一种真实场景类型的形式存在。

本发明再一实施例提供一种网络拓扑自动生成系统,如图6所示,所述系统包括:

输入单元61,用于接收用户端输入的网络地址范围。

第一获取单元62,用于获取网络地址范围内的网络设备及其指纹信息。

第二获取单元63,用于根据网络设备及其指纹信息和系统资产库中的网络设备信息,对网络设备进行二次探测,获取网络设备的相邻设备信息。

拓扑生成单元64,用于根据网络设备和相邻设备信息,生成网络拓扑。

其中,网络设备的指纹信息包括ip地址、mac地址、设备类型和操作系统。

进一步的,第二获取单元63具体用于:

根据网络设备及其指纹信息,生成初始拓扑;初始拓扑中包含的设备类型有逻辑路由器和逻辑交换机;

根据网络设备的设备类型和指纹信息,在系统资产库中查找网络设备对应的用户名信息和密码信息;

利用用户名信息和密码信息登录网络设备,并对网络设备进行ping处理;

根据网络通道协议,从进行了ping处理后的网络设备上获取mac表;

根据mac表获取网络设备的相邻设备信息。

进一步的,拓扑生成单元64具体用于:

根据相邻设备信息修正初始拓扑,生成网络拓扑。

上述生成系统中各个单元的具体描述可以参考生成方法中对每个步骤的描述,在此不再赘述,上述生成系统可以实现与生成方法侧同样的功能。

以上所述,仅是本申请的几个实施例,并非对本申请做任何形式的限制,虽然本申请以较佳实施例揭示如上,然而并非用以限制本申请,任何熟悉本专业的技术人员,在不脱离本申请技术方案的范围内,利用上述揭示的技术内容做出些许的变动或修饰均等同于等效实施案例,均属于技术方案范围内。


技术特征:

1.一种网络拓扑自动生成方法,其特征在于,所述方法包括:

接收用户端输入的网络地址范围;

获取所述网络地址范围内的网络设备及其指纹信息;

根据所述网络设备及其指纹信息和系统资产库中的网络设备信息,对所述网络设备进行二次探测,获取所述网络设备的相邻设备信息;

根据所述网络设备和所述相邻设备信息,生成网络拓扑。

2.根据权利要求1所述的方法,其特征在于,所述根据所述网络设备及其指纹信息和系统资产库中的网络设备信息,对所述网络设备进行二次探测,获取所述网络设备的相邻设备信息,具体包括:

根据所述网络设备及其指纹信息,生成初始拓扑;所述初始拓扑中包含的设备类型有逻辑路由器和逻辑交换机;

根据所述网络设备的设备类型和指纹信息,在所述系统资产库中查找所述网络设备对应的用户名信息和密码信息;

利用所述用户名信息和所述密码信息登录所述网络设备,并对所述网络设备进行ping处理;

根据网络通道协议,从进行了ping处理后的网络设备上获取mac表;

根据所述mac表获取所述网络设备的相邻设备信息。

3.根据权利要求2所述的方法,其特征在于,所述根据所述网络设备和所述相邻设备信息,生成网络拓扑,具体为:

根据所述相邻设备信息修正所述初始拓扑,生成网络拓扑。

4.根据权利要求1所述的方法,其特征在于,所述网络设备的指纹信息包括ip地址、mac地址、设备类型和操作系统。

5.一种网络拓扑自动生成系统,其特征在于,所述系统包括:

输入单元,用于接收用户端输入的网络地址范围;

第一获取单元,用于获取所述网络地址范围内的网络设备及其指纹信息;

第二获取单元,用于根据所述网络设备及其指纹信息和系统资产库中的网络设备信息,对所述网络设备进行二次探测,获取所述网络设备的相邻设备信息;

拓扑生成单元,用于根据所述网络设备和所述相邻设备信息,生成网络拓扑。

6.根据权利要求5所述的系统,其特征在于,所述第二获取单元具体用于:

根据所述网络设备及其指纹信息,生成初始拓扑;所述初始拓扑中包含的设备类型有逻辑路由器和逻辑交换机;

根据所述网络设备的设备类型和指纹信息,在所述系统资产库中查找所述网络设备对应的用户名信息和密码信息;

利用所述用户名信息和所述密码信息登录所述网络设备,并对所述网络设备进行ping处理;

根据网络通道协议,从进行了ping处理后的网络设备上获取mac表;

根据所述mac表获取所述网络设备的相邻设备信息。

7.根据权利要求6所述的系统,其特征在于,所述拓扑生成单元具体用于:

根据所述相邻设备信息修正所述初始拓扑,生成网络拓扑。

8.根据权利要求5所述的系统,其特征在于,所述网络设备的指纹信息包括ip地址、mac地址、设备类型和操作系统。

技术总结
本发明公开了一种网络拓扑自动生成方法及系统,属于网络安全技术领域,能够解决现有的网络拓扑结构获取方式效率较低,精准度较差,从而影响靶场攻击场景的搭建效果的问题。所述方法包括:接收用户端输入的网络地址范围;获取网络地址范围内的网络设备及其指纹信息;根据网络设备及其指纹信息和系统资产库中的网络设备信息,对网络设备进行二次探测,获取网络设备的相邻设备信息;根据网络设备和相邻设备信息,生成网络拓扑。本发明用于网络拓扑的生成。

技术研发人员:傅涛;王力;郑轶;邓勇
受保护的技术使用者:博智安全科技股份有限公司
技术研发日:2021.01.06
技术公布日:2021.04.06

转载请注明原文地址:https://xbbs.6miu.com/read-21614.html