System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 网络扫描方法、网络扫描系统、电子设备及存储介质技术方案_技高网

网络扫描方法、网络扫描系统、电子设备及存储介质技术方案

技术编号:40290958 阅读:6 留言:0更新日期:2024-02-07 20:41
本申请公开了一种网络扫描方法、网络扫描系统、电子设备及存储介质,网络扫描方法包括:客户端接收服务器发送的扫描任务,扫描任务包括多种类型的扫描子任务,客户端中包括多个扫描协程,每一扫描协程对应一种扫描子任务,各扫描协程处于单个线程中;利用客户端中的各个扫描协程分别执行对应的扫描子任务,得到各扫描子任务的扫描结果;将各扫描子任务的扫描结果发送至服务器。上述方案,能够减少网络扫描过程中的内存占用。

【技术实现步骤摘要】

本申请涉及混合动力汽车,特别是涉及一种网络扫描方法、网络扫描系统、电子设备及存储介质


技术介绍

1、网络扫描(又称网络安全扫描)是一种基于internet远程检测目标网络或本地主机安全性脆弱点的技术。通过网络扫描,系统管理员能够发现所维护的web服务器的各种tcp/ip端口的分配、开放的服务、web服务软件版本和这些服务及软件呈现在internet上的安全漏洞。分布式网络扫描器在网络安全领域起到关键作用,用于发现目标系统中的漏洞和风险。然而,传统扫描器在整个过程是使用多线程、多进程的方式造成大量内存占用,进而造成资源浪费。


技术实现思路

1、本申请至少提供一种网络扫描方法、网络扫描系统、电子设备及存储介质。

2、本申请提供了一种网络扫描方法,包括:客户端接收服务器发送的扫描任务,扫描任务包括多种类型的扫描子任务,客户端中包括多个扫描协程,每一扫描协程对应一种扫描子任务,各扫描协程处于单个线程中;利用客户端中的各个扫描协程分别执行对应的扫描子任务,得到各扫描子任务的扫描结果;将各扫描子任务的扫描结果发送至服务器。

3、在一些实施例中,扫描任务存储在客户端的任务派发队列中,在利用客户端中的各个扫描协程分别执行对应的扫描子任务,得到各扫描子任务的扫描结果之前,方法还包括:客户端中的任务派发协程从任务派发队列中获取扫描任务;任务派发协程将获取到的扫描任务转发至各扫描子任务对应的扫描消息队列,各扫描协程分别对应一个扫描消息队列;各扫描协程分别从对应的扫描消息队列中获取扫描子任务。

4、在一些实施例中,扫描消息队列包括端口扫描队列、漏扫队列、存活性扫描队列,端口扫描队列用于存放端口扫描子任务,漏扫队列用于存放漏洞扫描子任务,存活性扫描队列用于存放存活性扫描子任务。

5、在一些实施例中,在客户端中的任务派发协程从任务派发队列中获取扫描任务之前,方法还包括:利用客户端中的生成器基于各扫描子任务对应的待扫描的网段对各扫描子任务进行分块,得到各扫描子任务对应的至少一个块级扫描任务;将各块级扫描任务存放至任务派发队列;客户端中的任务派发协程从任务派发队列中获取扫描任务,包括:任务派发协程从任务派发队列中获取各多数块级扫描任务。

6、在一些实施例中,利用客户端中的各个扫描协程分别执行对应的扫描子任务,得到各扫描子任务的扫描结果,包括:利用各扫描协程分别执行对应的块级扫描任务,得到各块级扫描任务的块级扫描结果;对各块级扫描结果进行拼接,得到扫描子任务的扫描结果。

7、在一些实施例中,在将各扫描子任务的扫描结果发送至服务器之前,方法还包括:对于每一扫描协程,响应于对扫描子任务执行完得到扫描结果,将扫描结果写入客户端的消息发送器的消息队列,以便消息发送器将消息发送队列中的扫描结果发送至服务器。

8、在一些实施例中,方法还包括:启动工作进程协程;工作进程协程获取客户端的资源占用状态和/或任务进度,并将客户端的资源占用状态和/或任务进度写入消息发送器的消息队列,以便消息发送队列将客户端的资源占用状态和/或任务进度发送至服务器。

9、在一些实施例中,方法还包括:在各个扫描协程分别执行对应的扫描子任务的过程中,进行日志打印,其中,进行日志打印的线程与各扫描协程所处的线程不同。

10、在一些实施例中,在客户端接收服务器发送的扫描任务之前,方法还包括:响应于客户端启动,按照预设异步执行方法在单个线程的同一事件循环内启动多个扫描协程。

11、在一些实施例中,在客户端接收服务器发送的扫描任务之前,方法还包括:响应于客户端启动,启动连接协程,连接协程读取环境变量中存储的服务器标识,基于wss协议或ws协议建立与服务器的连接,以便服务器基于与客户端之间的连接,将扫描任务发送至客户端;基于客户端与服务器之间的连接,将向服务器发送注册请求,以便服务器基于注册请求将客户端注册到服务器中。

12、在一些实施例中,在基于wss协议或ws协议建立与服务器的连接之后,方法还包括:以单例的方式实例化消息发送器并更新消息发送器中存储的连接信息,连接信息用于表示客户端与服务器之间的连接标识;响应于检测到客户端与服务器之间的连接断开,执行重连操作以建立客户端与服务器之间的连接;更新消息发送器中的连接信息。

13、在一些实施例中,方法还包括:在消息发送器的实例化过程中,读取客户端的私钥以及服务器的公钥,以便消息发送器向服务器发送消息时利用私钥和公钥对消息进行加密,客户端的私钥是客户端启动时生成的。

14、在一些实施例中,客户端封装在容器中,容器设置有每种子扫描任务的最大连接数以及延迟时间。

15、本申请提供了一种网络扫描方法,网络扫描方法应用于网络扫描系统,网络扫描系统中包括服务器和客户端,方法包括:服务器向客户端发送扫描任务,扫描任务包括多种类型的扫描子任务;客户端接收服务器发送的扫描任务,客户端中包括多个扫描协程,每一扫描协程对应一种扫描子任务,各扫描协程处于单个线程中;利用客户端中的各个扫描协程分别执行对应的扫描子任务,得到各扫描子任务的扫描结果;将各扫描子任务的扫描结果发送至服务器;服务器接收客户端发送的扫描结果。

16、本申请提供了一种网络扫描系统,网络扫描系统包括客户端和服务器,客户端和服务器配合以实现上述第二种网络扫描方法。

17、本申请提供了一种电子设备,包括存储器和处理器,处理器用于执行存储器中存储的程序指令,以实现上述第一种网络扫描方法。

18、本申请提供了一种计算机可读存储介质,其上存储有程序指令,程序指令被处理器执行时实现上述第一种网络扫描方法。

19、上述方案,客户端通过在单个线程中启动多个扫描协程,每个扫描协程能够执行一种扫描子任务,相对于启动多个线程而言,本方案能够在单个线程内执行多种扫描任务,减少对内存的占用。另外,通过在一个线程内启动多个协程,能够充分发挥异步执行的优势,提高扫描任务的执行效率。

20、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。

本文档来自技高网...

【技术保护点】

1.一种网络扫描方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述扫描任务存储在所述客户端的任务派发队列中,在所述利用所述客户端中的各个扫描协程分别执行对应的扫描子任务,得到各所述扫描子任务的扫描结果之前,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述扫描消息队列包括端口扫描队列、漏扫队列、存活性扫描队列,所述端口扫描队列用于存放端口扫描子任务,所述漏扫队列用于存放漏洞扫描子任务,所述存活性扫描队列用于存放存活性扫描子任务。

4.根据权利要求2所述的方法,其特征在于,在所述客户端中的任务派发协程从所述任务派发队列中获取所述扫描任务之前,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,所述利用所述客户端中的各个扫描协程分别执行对应的扫描子任务,得到各所述扫描子任务的扫描结果,包括:

6.根据权利要求1至5中任意一项所述的方法,其特征在于,在所述将各所述扫描子任务的扫描结果发送至所述服务器之前,所述方法还包括:

7.根据权利要求6所述的方法,其特征在于,所述方法还包括:

8.根据权利要求1至5中任意一项所述的方法,其特征在于,所述方法还包括:

9.根据权利要求1至5中任意一项所述的方法,其特征在于,在所述客户端接收服务器发送的扫描任务之前,所述方法还包括:

10.根据权利要求9所述的方法,其特征在于,在所述客户端接收服务器发送的扫描任务之前,所述方法还包括:

11.根据权利要求9所述的方法,其特征在于,在所述基于wss协议或ws协议建立与所述服务器的连接之后,所述方法还包括:

12.根据权利要求11所述的方法,其特征在于,所述方法还包括:

13.根据权利要求1至5中任意一项所述的方法,其特征在于,所述客户端封装在容器中,所述容器设置有每种子扫描任务的最大连接数以及延迟时间。

14.一种网络扫描方法,其特征在于,所述网络扫描方法应用于网络扫描系统,所述网络扫描系统中包括服务器和客户端,所述方法包括:

15.一种网络扫描系统,其特征在于,所述网络扫描系统包括客户端和服务器,所述客户端和所述服务器配合以实现如权利要求14所述的网络扫描方法。

16.一种电子设备,其特征在于,包括存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求1至13任一项所述的方法。

17.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1至13任一项所述的方法。

...

【技术特征摘要】

1.一种网络扫描方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述扫描任务存储在所述客户端的任务派发队列中,在所述利用所述客户端中的各个扫描协程分别执行对应的扫描子任务,得到各所述扫描子任务的扫描结果之前,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述扫描消息队列包括端口扫描队列、漏扫队列、存活性扫描队列,所述端口扫描队列用于存放端口扫描子任务,所述漏扫队列用于存放漏洞扫描子任务,所述存活性扫描队列用于存放存活性扫描子任务。

4.根据权利要求2所述的方法,其特征在于,在所述客户端中的任务派发协程从所述任务派发队列中获取所述扫描任务之前,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,所述利用所述客户端中的各个扫描协程分别执行对应的扫描子任务,得到各所述扫描子任务的扫描结果,包括:

6.根据权利要求1至5中任意一项所述的方法,其特征在于,在所述将各所述扫描子任务的扫描结果发送至所述服务器之前,所述方法还包括:

7.根据权利要求6所述的方法,其特征在于,所述方法还包括:

8.根据权利要求1至5中任意一项所述的方法,其特征在于,所述方法还包括:

9.根据权利要求1至5中任意一项所...

【专利技术属性】
技术研发人员:姚轶麒马霄廖位明胡鸽
申请(专利权)人:浙江零跑科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1