一种避免拥塞的网络扫描调度方法与流程

文档序号:23174702发布日期:2020-12-04 14:05阅读:135来源:国知局
一种避免拥塞的网络扫描调度方法与流程

【技术领域】

本发明涉及确保或维持可信任的计算机平台,例如版本检查、漏洞扫描、安全更新、外联探测等的技术领域,特别是一种避免拥塞的网络扫描调度方法。



背景技术:

网络扫描,即通过对待扫描的网络主机发送特定的数据包,根据返回的数据包来判断待扫描的系统的相关信息,如开关机状态、端口状态、服务状态、漏洞信息等。

现有技术中,网络扫描的的扫描逻辑,一般是按照待扫描ip范围,从低到高依次扫描。这种扫描方式的缺点是,由低到高依次扫描的调度方法,会向同网段网络中瞬间发出大量的扫描报文;在扫描报文到达扫描网段所属二层交换机时,会增大该网段所属交换机、防火墙等网络设备的数据吞吐量,可能造成网络拥塞;若交换机arp表中不存在目标主机的mac,则会针对不存在的目标主机,发送arp请求;当不存在的目标主机数量较大时,交换机发送的arp请求数量也会随之增大,可能导致网络环境中的arp风暴,或导致交换机cpu使用率过高、转发效率变低,严重的还会使网络拥塞,甚至断网。在越来越复杂的网络背景下,各种网络扫描器层出不穷,也要求在扫描阶段对用户网络的影响尽可能小,现提出一种避免拥塞的网络扫描调度方法。



技术实现要素:

为了解决现有技术中存在的问题,本发明提供了一种避免拥塞的网络扫描调度方法,旨在解决现有网络扫描中,可能会对交换机产生arp风暴、或者造成网络拥塞的技术问题。

为实现上述目的,本发明提出了一种避免拥塞的网络扫描调度方法,具体包括以下步骤:

s1、判断是否有新的扫描任务产生,若是,则进行步骤s2,否则,重复步骤s1;

s2、判断解析参数结果,并判断参数格式是否错误,若参数解析失败或参数格式错误,则发出错误消息,并返回到步骤s1,否则,进入步骤s3;

s3、针对任务配置中的并发数n,开启n个扫描线程;针对任务配置中的扫描目标集合,进行扫描范围的划分,并平均分配到n个扫描线程;

s4、每个扫描线程对分配到的扫描范围进行网络扫描;

s5、扫描全部结束后,退出扫描线程,进入步骤s1,等待新任务产生。

作为优选,所述步骤s4具体包括以下步骤:

s4.1、根据子网掩码,算出扫描范围ip的网络位和主机位,将扫描范围开始的ip地址的主机位赋值为0,进入步骤s4.2;

s4.2、判断该ip是否在扫描范围,若在扫描范围内,则进行发包扫描,之后,进入步骤s4.3;否则,直接进入步骤s4.3;

s4.3、将该ip的网络位,加1,判断该ip是否大于扫描范围的结束ip地址;若大于扫描范围的结束ip地址,则将ip的网络位赋值为扫描范围开始的ip的网络位数值,并且进入步骤s4.4,否则,进入步骤s4.2;

s4.4、将该ip的主机位,加1,判断主机位是否大于该网段的主机位最大值;若大于该网段的主机位最大值,则进入步骤s4.5,否则,进入步骤s4.2;

s4.5、针对该按ip范围,扫描完成,若还有剩余待扫描的范围,则选取下扫描范围,并进入步骤s4.1,否则进入步骤s5。

作为优选,所述步骤s2中的参数包括扫描主机的网络配置信息和扫描任务配置信息。

作为优选,所述扫描任务配置信息包括程序运行的并发数、扫描范围、网络子网掩码。

作为优选,所述步骤s4采用扫描器以一个扫描目标为单位,在任务配置的并发数限制下进行并行扫描,超出并发数限制的扫描目标按照目标顺序进行扫描,完成对所有目标的扫描。

本发明的有益效果:与现有技术相比,本发明提供了一种避免拥塞的网络扫描调度算法,其基于对ip地址中的网络位进行跳址,从而避免了在同一个网段内瞬间发送大量的扫描包,可能导致交换机在arp表中找不到目标主机的mac,发送大量的arp请求,导致arp风暴,进而造成严重的网络拥塞,甚至断网的严重后果。

本发明的特征及优点将通过实施例结合附图进行详细说明。

【附图说明】

图1是本发明一种避免拥塞的网络扫描调度方法的流程图。

【具体实施方式】

为使本发明的目的、技术方案和优点更加清楚明了,下面通过附图及实施例,对本发明进行进一步详细说明。但是应该理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。

参阅图1,本发明实施例提供一种避免拥塞的网络扫描调度方法,其基于ip范围网络位跳址的调度方法,实现避免造成用户网络拥塞,具体步骤如下:

s1、判断是否有新的扫描任务产生,若是,则进行步骤s2,否则,重复步骤s1;

s2、判断解析参数结果,并判断参数格式是否错误,若参数解析失败或参数格式错误,则发出错误消息,并返回到步骤s1,否则,进入步骤s3;

进一步地,所述步骤s2中,任务参数包括扫描主机的网络配置信息和扫描任务配置信息。

更进一步地,所述扫描任务配置信息包括程序运行的线程数、扫描范围、网络子网掩码、扫描速率等。

本发明中,扫描器可以通过包含但不限于程序运行参数、网络配置信息、扫描任务配置信息等任务参数,任务参数中包含了需要扫描的目标范围、网络子网掩码并行数、扫描速率等任务配置信息,当参数解析失败或者参数格式错误时,提示任务配置错误,并且向用户提示错误消息。

在本实施例中,网络配置信息中发包网卡是eth0,扫描目标范围是192.0.0.0-192.3.255.255,扫描并发数是4,子网掩码为255.255.255.0。

s3、针对任务配置中的并发数4,开启4个扫描线程;针对任务配置中的扫描目标集合,进行扫描范围的划分,并平均分配到4个扫描线程,即扫描线程0的扫描范围是192.0.0.0-192.0.255.255,扫描线程1的扫描范围是192.1.0.0-192.1.255.255,扫描线程2的扫描范围是192.2.0.0-192.2.255.255,扫描线程3的扫描范围是192.3.0.0-192.3.255.255。

s4、每个扫描线程对分配到的扫描范围进行网络扫描。

进一步地,所述步骤s4中,扫描器以一个扫描目标为单位,在任务配置的并发数限制下进行并行扫描,超出并发数限制的扫描目标按照目标顺序进行扫描,完成对所有目标的扫描。

所述步骤s4中,以扫描线程0为实例,依次包括以下步骤:

s4.1、根据子网掩码,算出网络位和主机位,将扫描范围开始ip地址的主机位赋值为0;

s4.2、判断该ip是否在扫描范围,若在扫描范围内,则进行发包扫描之后,进入步骤s4.3;否则,直接进入步骤s4.3;

s4.3、将该ip的网络位,加1,判断该ip是否大于扫描范围的结束ip地址;若大于扫描范围的结束ip地址,则将ip的网络位赋值为扫描范围开始的ip的网络位数值,并且进入步骤s4.4,否则,进入步骤s4.2;

s4.4、将该ip的主机位,加1,判断主机位是否大于该网段的主机位最大值;若大于该网段的主机位最大值,则进入步骤s4.5,否则,进入步骤s4.2;

s4.5、针对该按ip范围,扫描完成,若还有剩余待扫描的范围,则选取下扫描范围,并进入步骤s4.1,否则进入步骤s5。

根据步骤s4的方法,扫描线程0的最终扫描顺序为192.0.0.0、192.0.1.0、192.168.0.2.0......192.0.255.0、192.0.0.1、192.0.1.1、192.0.2.1......192.0.255.1、192.0.0.2、192.0.1.2......192.0.255.255。

s5、扫描全部结束后,退出扫描线程,进入步骤s1,等待新任务产生;

本发明一种避免拥塞的网络扫描调度方法,以网络扫描ip范围中的网络位和主机位为不同的对象,通过在一轮扫描中主机位不变,只对网络位进行跳址,从而使得扫描报文在同一时间分别进入各个网段中,避免同一个网段中同时出现大量扫描包,从而增大交换机或防火墙等网络设备的吞吐量,或者交换机因为arp表不存在扫描目标的mac地址可能产生的arp风暴,从而避免网络拥塞。

上述实施例是对本发明的说明,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换或改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1