一种网络资产扫描方法、装置、设备和介质与流程

文档序号:29465370发布日期:2022-04-02 03:12阅读:405来源:国知局
一种网络资产扫描方法、装置、设备和介质与流程

1.本技术涉及网络安全技术领域,特别是涉及一种网络资产扫描方法、装置、设备和计算机可读存储介质。


背景技术:

2.网络扫描器在对网络空间进行大范围安全扫描过程中,会被个别高防防火墙或者ids(intrusion detection system,入侵检测系统)错误的识别为攻击者,是因为防火墙或者ids检测到网络扫描器频繁的扫描其所属的网段,导致网络扫描器所使用的ip被标识为有害扫描者甚至被标识为攻击者,不仅会影响网络空间测绘结果并暴露扫描者,而且会导致一些安全事件从而影响公共网络的安定。
3.随着对互联网空间测绘的深入研究与实践,网络空间蕴含着大量涉及国计民生相关的网络资产,对网络资产进行安全评估是更好地保护这些网络资产、了解这些网络资产状态的关键。如何安全隐蔽的完成网络资产的测绘工作也是重中之重,安全隐蔽的网络资产测绘方法也将促进公共网络空间的安定。
4.传统方式中采用扫描软件实现对网络资产的扫描,目前常用的扫描软件可以包括zmap和masscan。zmap是由durumeric领导密歇根大学研究团队开发。该扫描软件采用的乱序算法是基于单个ip的,可保证扫描过程中ip的随机遍历,但不支持端口的随机遍历。扫描只能配置单端口,不能对多端口进行随机遍历,所以在扫描过程中端口特征过于明显,容易被分析出扫描行为。masscan是一个互联网级别的高性能端口扫描工具,该扫描软件采用的乱序算法是基于单个ip的,可保证扫描过程中ip的随机遍历。
5.但是zmap和masscan在实际扫描过程中总是会在短时间内对同一网段进行多次发包,这种情况可能会被部分防火墙或者ids识别发现,从而暴露扫描者,影响网络测绘质量。
6.可见,如何提高扫描行为的隐蔽性,是本领域技术人员需要解决的问题。


技术实现要素:

7.本技术实施例的目的是提供一种网络资产扫描方法、装置、设备和计算机可读存储介质,可以提高扫描行为的隐蔽性。
8.为解决上述技术问题,本技术实施例提供一种网络资产扫描方法,包括:
9.按照设定的分割规则,将全网地址划分为多个子网;
10.将所述多个子网进行随机排序,得到第一序列;
11.将每个所述子网下包含的地址和端口进行随机排序,得到第二序列;
12.对所述第一序列和所述第二序列执行循环遍历,以实现对所述多个子网下包含的所有地址和所有端口的随机扫描。
13.可选地,所述将所述多个子网进行随机排序,得到第一序列包括:
14.对所述多个子网的排列顺序进行有限元加密,以得到所述第一序列;其中,所述第一序列包含有子网排列索引及其对应的子网。
15.可选地,所述将每个所述子网下包含的地址和端口进行随机排序,得到第二序列包括:
16.将目标子网中包含的地址分别与所述目标子网包含的所有端口进行组合,得到初始序列;其中,所述目标子网为所有所述子网中的任意一个子网;
17.对所述初始序列中包含的地址端口的排列顺序进行有限元加密,以得到所述第二序列;其中,所述第二序列包含有地址端口排列索引及其对应的地址端口。
18.可选地,所述对所述第一序列和所述第二序列执行循环遍历,以实现对所述多个子网下包含的所有地址和所有端口的随机扫描包括:
19.读取所述第一序列中第一子网排列索引;
20.将所述第一子网排列索引对应的子网作为待扫描子网;
21.依据所述待扫描子网对应的所述第二序列,确定出待扫描地址和待扫描端口;其中,所述待扫描地址和所述待扫描端口为所述第二序列中未读取的第一地址端口索引对应的地址和端口;
22.依据所述待扫描地址和所述待扫描端口,实现对资源的扫描;
23.在完成对资源的扫描之后,将与所述第一子网排列索引相邻的下一位子网排列索引作为最新的第一子网排列索引,返回所述将所述第一子网排列索引对应的子网作为待扫描子网的步骤,直至完成对所述多个子网下包含的所有地址和所有端口的扫描,则结束操作。
24.可选地,在所述读取待扫描子网排列索引中第一子网排列索引之后还包括:
25.判断所述第一子网排列索引的取值是否达到设定的子网阈值;
26.在所述第一子网排列索引的取值达到设定的子网阈值的情况下,在完成本次扫描之后,将所述第一序列中子网排列索引的初始值作为所述第一子网排列索引;
27.在所述第一子网排列索引的取值小于或等于设定的子网阈值的情况下,执行所述将所述第一子网排列索引对应的子网作为待扫描子网的步骤。
28.可选地,所述依据所述待扫描子网对应的所述第二序列,确定出待扫描地址和待扫描端口包括:
29.从所述待扫描子网对应的所述第二序列中读取第一地址端口索引;
30.依据所述第一地址端口索引对应的地址端口序号、所述第二序列包含的端口个数、所述待扫描子网对应的子网起始地址,确定出所述待扫描地址和所述待扫描端口。
31.可选地,在所述依据所述待扫描地址和所述待扫描端口,实现对资源的扫描之后还包括:
32.每完成一次资源的扫描,将扫描数加一;
33.判断所述扫描数是否达到发包总数;其中,所述发包总数依据所述子网的总个数、每个所述子网下包含的地址个数和端口个数确定得到;
34.在所述扫描数未达到发包总数的情况下,则执行所述将与所述第一子网排列索引相邻的下一位子网排列索引作为最新的第一子网排列索引的步骤;
35.在所述扫描数达到发包总数的情况下,则结束操作。
36.本技术实施例还提供了一种网络资产扫描装置,包括划分单元、第一排序单元、第二排序单元和遍历单元;
37.所述划分单元,用于按照设定的分割规则,将全网地址划分为多个子网;
38.所述第一排序单元,用于将所述多个子网进行随机排序,得到第一序列;
39.所述第二排序单元,用于将每个所述子网下包含的地址和端口进行随机排序,得到第二序列;
40.所述遍历单元,用于对所述第一序列和所述第二序列执行循环遍历,以实现对所述多个子网下包含的所有地址和所有端口的随机扫描。
41.可选地,所述第一排序单元用于对所述多个子网的排列顺序进行有限元加密,以得到所述第一序列;其中,所述第一序列包含有子网排列索引及其对应的子网。
42.可选地,所述第二排序单元用于将目标子网中包含的地址分别与所述目标子网包含的所有端口进行组合,得到初始序列;其中,所述目标子网为所有所述子网中的任意一个子网;对所述初始序列中包含的地址端口的排列顺序进行有限元加密,以得到所述第二序列;其中,所述第二序列包含有地址端口排列索引及其对应的地址端口。
43.可选地,所述遍历单元包括读取子单元、第一作为子单元、确定子单元、扫描子单元和第二作为子单元;
44.所述读取子单元,用于读取所述第一序列中第一子网排列索引;
45.所述第一作为子单元,用于将所述第一子网排列索引对应的子网作为待扫描子网;
46.所述确定子单元,用于依据所述待扫描子网对应的所述第二序列,确定出待扫描地址和待扫描端口;其中,所述待扫描地址和所述待扫描端口为所述第二序列中未读取的第一地址端口索引对应的地址和端口;
47.所述扫描子单元,用于依据所述待扫描地址和所述待扫描端口,实现对资源的扫描;
48.所述第二作为子单元,用于在完成对资源的扫描之后,将与所述第一子网排列索引相邻的下一位子网排列索引作为最新的第一子网排列索引,返回所述将所述第一子网排列索引对应的子网作为待扫描子网的步骤,直至完成对所述多个子网下包含的所有地址和所有端口的扫描,则结束操作。
49.可选地,在所述读取待扫描子网排列索引中第一子网排列索引之后还包括判断单元和第三作为单元;
50.所述判断单元,用于判断所述第一子网排列索引的取值是否达到设定的子网阈值;在所述第一子网排列索引的取值小于或等于设定的子网阈值的情况下,触发所述第一作为子单元执行所述将所述第一子网排列索引对应的子网作为待扫描子网的步骤;
51.所述第三作为单元,用于在所述第一子网排列索引的取值达到设定的子网阈值的情况下,在完成本次扫描之后,将所述第一序列中子网排列索引的初始值作为所述第一子网排列索引。
52.可选地,所述确定子单元用于从所述待扫描子网对应的所述第二序列中读取第一地址端口索引;依据所述第一地址端口索引对应的地址端口序号、所述第二序列包含的端口个数、所述待扫描子网对应的子网起始地址,确定出所述待扫描地址和所述待扫描端口。
53.可选地,还包括累加单元和发包数判断单元;
54.所述累加单元,用于每完成一次资源的扫描,将扫描数加一;
55.所述发包数判断单元,用于判断所述扫描数是否达到发包总数;其中,所述发包总数依据所述子网的总个数、每个所述子网下包含的地址个数和端口个数确定得到;在所述扫描数未达到发包总数的情况下,则触发所述第二作为子单元执行所述将与所述第一子网排列索引相邻的下一位子网排列索引作为最新的第一子网排列索引的步骤;在所述扫描数达到发包总数的情况下,则结束操作。
56.本技术实施例还提供了一种网络资产扫描设备,包括:
57.存储器,用于存储计算机程序;
58.处理器,用于执行所述计算机程序以实现如上述网络资产扫描方法的步骤。
59.本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述网络资产扫描方法的步骤。
60.由上述技术方案可以看出,按照设定的分割规则,将全网地址划分为多个子网;将多个子网进行随机排序,得到第一序列。将每个子网下包含的地址和端口进行随机排序,得到第二序列;对第一序列和第二序列执行循环遍历,以实现对多个子网下包含的所有地址和所有端口的随机扫描。在该技术方案中,通过随机排序可以打乱子网的顺序,以及每个子网下地址和端口的顺序,保证对子网以及子网下地址和端口的随机扫描。通过随机排序得到第一序列和第二序列,可以每次扫描一个子网下的某个地址和端口,下一次扫描时可以扫描第一序列中另一个子网下的某个地址和端口,有效的避免了对某一个子网进行频繁扫描,导致防火墙或入侵检测系统判定当前扫描行为为攻击行为,提高了扫描行为的隐蔽性。
附图说明
61.为了更清楚地说明本技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
62.图1为本技术实施例提供的一种网络资产扫描方法的流程图;
63.图2为本技术实施例提供的一种实现对多个子网下包含的所有地址和所有端口的随机扫描的方法的流程图;
64.图3为本技术实施例提供的一种网络资产扫描装置的结构示意图;
65.图4为本技术实施例提供的一种网络资产扫描设备的结构图。
具体实施方式
66.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本技术保护范围。
67.本技术的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
68.为了使本技术领域的人员更好地理解本技术方案,下面结合附图和具体实施方式对本技术作进一步的详细说明。
69.接下来,详细介绍本技术实施例所提供的一种网络资产扫描方法。图1为本技术实施例提供的一种网络资产扫描方法的流程图,该方法包括:
70.s101:按照设定的分割规则,将全网地址划分为多个子网。
71.为了避免网络扫描器对某个网段进行频繁的扫描,被误判为攻击行为。在本技术实施例中,可以将全网地址划分为多个子网。一个子网可以包括有多个ip,每个子网可以看作是一个ip网段。
72.分割规则用于指示全网地址的划分方式,在实际应用中,可以按照设定ip个数将全网地址进行划分,例如,可以将ip个数设置为256,每256个ip划分为一个子网。
73.s102:将多个子网进行随机排序,得到第一序列。
74.划分得到的多个子网包含的ip地址之间具有连贯性,为了实现多个子网的随机扫描,在本技术实施例中,可以将多个子网进行随机排序,得到第一序列。
75.在实际应用中,可以对多个子网的排列顺序进行有限元加密,以得到第一序列。除了采用有限元加密的方式实现子网的随机排列外,也可以采用基于循环乘法群的方式实现子网的随机排列。在本技术实施例中,对于实现子网的随机排列的方式不做限定。
76.第一序列可以包含有子网排列索引及其对应的子网。
77.子网排序索引可以采用从数字0开始的自然数表示,例如第一序列中第一位子网对应的子网排序索引为0,第一序列中第二位子网对应的子网排序索引为1,依次类推,第一序列中第n位子网对应的子网排序索引为n-1。
78.每个子网排序索引有其对应的子网,为了便于网络扫描器区分不同的子网,可以在第一序列中采用子网标识信息表示不同的子网。子网标识信息可以采用数字或字母的形式。
79.以不同的字母表征不同的子网为例,假设有5个子网,分别用字母a、b、c、d和e表示。初始状态下,划分得到的子网顺序为a、b、c、d和e。对子网进行随机排序之后得到的顺序为c、a、e、d、b。此时第一序列中包含的数据可以参见如下表1
80.子网排序索引子网标识信息0c1a2e3d4b
81.表1
82.表1中子网排序索引用于表示排列顺序,子网标识信息用于表征不同的子网,表1中子网排序索引和子网标识信息仅是举例说明,在本技术实施例中,对于子网排序索引和子网标识信息的具体形式不做限定。
83.s103:将每个子网下包含的地址和端口进行随机排序,得到第二序列。
84.每个子网下包含有多个ip,每个ip可以使用多个端口,为了实现对ip以及端口的随机扫描,有效的避免对同一个端口或者同一个ip频繁的扫描,可以对每个子网下包含的地址和端口进行随机排序,得到第二序列。其中,每个子网可以对应有一个第二序列。
85.每个子网的处理方式类似,以所有子网中的任意一个子网为例展开说明,可以将
该子网称作目标子网。
86.在具体实现中,可以将目标子网中包含的地址分别与目标子网包含的所有端口进行组合,得到初始序列。为了便于介绍,可以将一个地址和一个端口的组合简称为地址端口。
87.假设,目标子网中包含有n个ip,m个端口,则可以得到地址和端口的组合数为n*m,初始序列中包含有n*m个元素。
88.为了实现对子网下ip和端口的随机扫描,可以对初始序列中包含的地址端口的排列顺序进行有限元加密,以得到第二序列;其中,第二序列可以包含有地址端口排列索引及其对应的地址端口。
89.除了采用有限元加密的方式实现地址端口的随机排列外,也可以采用基于循环乘法群的方式实现地址端口的随机排列。在本技术实施例中,对于实现地址端口的随机排列的方式不做限定。
90.在实际应用中,为了便于网络扫描器的识别分析,可以采用不同的数字表示不同的地址和不同的端口组合得到的地址端口。例如,以包含两个ip,两个端口为例,子网中第一个ip和第一个端口组合用数字“0”表示,子网中第一个ip和第二个端口组合用数字“1”表示,子网中第二个ip和第一个端口组合用数字“2”表示,子网中第二个ip和第二个端口组合用数字“3”表示。
91.s104:对第一序列和第二序列执行循环遍历,以实现对多个子网下包含的所有地址和所有端口的随机扫描。
92.对第一序列和第二序列执行循环遍历指的是先从第一序列中选定一个子网,然后从该子网对应的第二序列中选定之前未扫描过的一个ip和端口,从而对该ip和端口进行扫描。下一次再从第一序列中选定另一个子网,然后从该子网对应的第二序列中选定之前未扫描过的一个ip和端口,从而对该ip和端口进行扫描。依次类推,直至完成对所有子网下所有地址和所有端口的随机扫描,则可以结束操作。
93.由上述技术方案可以看出,按照设定的分割规则,将全网地址划分为多个子网;将多个子网进行随机排序,得到第一序列。将每个子网下包含的地址和端口进行随机排序,得到第二序列;对第一序列和第二序列执行循环遍历,以实现对多个子网下包含的所有地址和所有端口的随机扫描。在该技术方案中,通过随机排序可以打乱子网的顺序,以及每个子网下地址和端口的顺序,保证对子网以及子网下地址和端口的随机扫描。通过随机排序得到第一序列和第二序列,可以每次扫描一个子网下的某个地址和端口,下一次扫描时可以扫描第一序列中另一个子网下的某个地址和端口,有效的避免了对某一个子网进行频繁扫描,导致防火墙或入侵检测系统判定当前扫描行为为攻击行为,提高了扫描行为的隐蔽性。
94.图2为本技术实施例提供的一种实现对多个子网下包含的所有地址和所有端口的随机扫描的方法的流程图,方法包括:
95.s201:读取第一序列中第一子网排列索引。
96.初始状态下,第一序列中第一子网排列索引可以是第一序列中排在第一位的子网排列索引。
97.第一序列中包含有多个子网,为了每次实现对不同子网的扫描,在本技术实施例中,第一序列中第一子网排列索引指的是第一序列中未扫描过的子网中排在第一位的子网
排列索引。当完成对第一序列对应的所有子网的一轮扫描之后,则可以重新开始从第一序列的第一位子网排序索引对应的子网开始扫描。
98.s202:将第一子网排列索引对应的子网作为待扫描子网。
99.每个子网排列索引对应有唯一的一个子网,根据第一子网排列索引可以确定出对应的子网,将该子网作为待扫描子网。
100.在实际应用中,子网排序索引一般采用从0开始的自然数表示,按照第一序列中子网排序索引依次增大的顺序依次对各子网进行扫描。
101.考虑到实际应用中,每次是对一个子网下对应的一个ip和端口进行扫描,一个子网对应的ip和端口有多个,因此会存在对第一序列中的所有子网排列索引对应的子网扫描一轮之后,每个子网下还存在未扫描的ip和端口,因此需要重新开始对第一序列中各子网排列索引对应的子网进行扫描。
102.因此在具体实现中,可以判断第一子网排列索引的取值是否达到设定的子网阈值。
103.子网阈值的取值可以依据子网排序索引和子网的总个数确定得到,假设以第一序列中子网排序索引采用从0开始的自然数表示,子网的总个数为z个,则子网排序索引为从0至z-1,此时子网阈值可以设置为z-1。
104.在第一子网排列索引的取值达到设定的子网阈值的情况下,在完成本次扫描之后,说明已经完成对第一序列中所有子网的一轮扫描,此时可以将第一序列中子网排列索引的初始值作为第一子网排列索引,从而开始新一轮的子网扫描。
105.结合上述举例,在具体实现中,当子网排序索引达到z-1时,在完成本地扫描之后,将子网排序索引设置为0,此时从0对应的子网进行扫描。
106.在第一子网排列索引的取值小于或等于设定的子网阈值的情况下,说明第一序列中还存在未扫描的子网对应的子网排列索引,此时可以执行将第一子网排列索引对应的子网作为待扫描子网的步骤。
107.s203:依据待扫描子网对应的第二序列,确定出待扫描地址和待扫描端口。
108.第二序列中包含有多个地址和多个端口所形成的地址端口组合。为了实现对所有地址端口组合的扫描,可以依次读取第二序列中记录的地址端口索引,从而完成对各地址端口索引对应的地址和端口的扫描。
109.因此在本技术实施例中,待扫描地址和待扫描端口可以为第二序列中未读取的地址端口索引中位于第一位的地址端口索引对应的地址和端口。为了便于描述,可以将未读取的地址端口索引中位于第一位的地址端口索引称作第一地址端口索引。
110.在具体实现中,可以从待扫描子网对应的第二序列中读取第一地址端口索引;依据第一地址端口索引对应的地址端口序号、第二序列包含的端口个数、待扫描子网对应的子网起始地址,确定出待扫描地址和待扫描端口。
111.由上述介绍可知,可以采用不同的数字表示不同的地址和不同的端口组合得到的地址端口,地址端口序号可以是该地址端口对应的数字。
112.举例说明,以子网中第一个ip和第一个端口组合用数字“0”表示,子网中第一个ip和第二个端口组合用数字“1”表示,子网中第二个ip和第一个端口组合用数字“2”表示,子网中第二个ip和第二个端口组合用数字“3”表示。通过随机排序,得到顺序依次为第二个ip
和第一个端口组合、第一个ip和第一个端口组合、第二个ip和第二个端口组合用、第一个ip和第二个端口组合,则可以得到如表2所示的地址端口索引和地址端口序号的对应关系。
113.地址端口索引地址端口序号02102331
114.表1
115.在本技术实施例中,可以按照如下公式确定出待扫描地址和待扫描端口,
116.待扫描地址=|x/m|+子网起始地址;
117.待扫描端口=[x%m]。
[0118]
其中,x表示第一地址端口索引对应的地址端口序号,m表示端口总数,|x/m|表示x除以m的整数部分的取值,[x%m]表示x除以m的余数。
[0119]
s204:依据待扫描地址和待扫描端口,实现对资源的扫描。
[0120]
在确定出待扫描地址和待扫描端口之后,网络扫描器便可以实现对该待扫描地址和待扫描端口所对应资源的扫描。
[0121]
s205:每完成一次资源的扫描,将扫描数加一。
[0122]
初始状态下,扫描数为零。每对一个子网下的一个ip和端口进行一次扫描,则可以将扫描数加一。
[0123]
s206:判断扫描数是否达到发包总数。
[0124]
其中,发包总数依据子网的总个数、每个子网下包含的地址个数和端口个数确定得到。
[0125]
以z个子网,每个子网中均包含n个ip和m个端口为例,发包总数可以为z*n*m。
[0126]
在扫描数未达到发包总数的情况下,说明还没有完成对所有子网下所有地址和端口的扫描,此时可以执行s207。
[0127]
在扫描数达到发包总数的情况下,说明已经完成对所有子网下所有地址和端口的扫描,此时可以结束操作。
[0128]
s207:,并返回s202。将与第一子网排列索引相邻的下一位子网排列索引作为最新的第一子网排列索引
[0129]
在扫描数未达到发包总数的情况下,可以将与第一子网排列索引相邻的下一位子网排列索引作为最新的第一子网排列索引,并返回s202。
[0130]
在本技术实施例中,通过设置第一序列可以实现每次对不同的子网进行扫描,通过设置第二序列可以实现每次对子网下不同的地址和端口进行扫描,保证了资源扫描的随机性。并且通过设置第一序列和第二序列可以涵盖所有所需扫描的资源所属的子网以及对应的地址和端口,有效的避免了资源扫描出现遗漏。
[0131]
图3为本技术实施例提供的一种网络资产扫描装置的结构示意图,包括划分单元31、第一排序单元32、第二排序单元33和遍历单元34;
[0132]
划分单元31,用于按照设定的分割规则,将全网地址划分为多个子网;
[0133]
第一排序单元32,用于将多个子网进行随机排序,得到第一序列;
[0134]
第二排序单元33,用于将每个子网下包含的地址和端口进行随机排序,得到第二序列;
[0135]
遍历单元34,用于对第一序列和第二序列执行循环遍历,以实现对多个子网下包含的所有地址和所有端口的随机扫描。
[0136]
可选地,第一排序单元用于对多个子网的排列顺序进行有限元加密,以得到第一序列;其中,第一序列包含有子网排列索引及其对应的子网。
[0137]
可选地,第二排序单元用于将目标子网中包含的地址分别与目标子网包含的所有端口进行组合,得到初始序列;其中,目标子网为所有子网中的任意一个子网;对初始序列中包含的地址端口的排列顺序进行有限元加密,以得到第二序列;其中,第二序列包含有地址端口排列索引及其对应的地址端口。
[0138]
可选地,遍历单元包括读取子单元、第一作为子单元、确定子单元、扫描子单元和第二作为子单元;
[0139]
读取子单元,用于读取第一序列中第一子网排列索引;
[0140]
第一作为子单元,用于将第一子网排列索引对应的子网作为待扫描子网;
[0141]
确定子单元,用于依据待扫描子网对应的第二序列,确定出待扫描地址和待扫描端口;其中,待扫描地址和待扫描端口为第二序列中未读取的第一地址端口索引对应的地址和端口;
[0142]
扫描子单元,用于依据待扫描地址和待扫描端口,实现对资源的扫描;
[0143]
第二作为子单元,用于在完成对资源的扫描之后,将与第一子网排列索引相邻的下一位子网排列索引作为最新的第一子网排列索引,返回将第一子网排列索引对应的子网作为待扫描子网的步骤,直至完成对多个子网下包含的所有地址和所有端口的扫描,则结束操作。
[0144]
可选地,在读取待扫描子网排列索引中第一子网排列索引之后还包括判断单元和第三作为单元;
[0145]
判断单元,用于判断第一子网排列索引的取值是否达到设定的子网阈值;在第一子网排列索引的取值小于或等于设定的子网阈值的情况下,触发第一作为子单元执行将第一子网排列索引对应的子网作为待扫描子网的步骤;
[0146]
第三作为单元,用于在第一子网排列索引的取值达到设定的子网阈值的情况下,在完成本次扫描之后,将第一序列中子网排列索引的初始值作为第一子网排列索引。
[0147]
可选地,确定子单元用于从待扫描子网对应的第二序列中读取第一地址端口索引;依据第一地址端口索引对应的地址端口序号、第二序列包含的端口个数、待扫描子网对应的子网起始地址,确定出待扫描地址和待扫描端口。
[0148]
可选地,还包括累加单元和发包数判断单元;
[0149]
累加单元,用于每完成一次资源的扫描,将扫描数加一;
[0150]
发包数判断单元,用于判断扫描数是否达到发包总数;其中,发包总数依据子网的总个数、每个子网下包含的地址个数和端口个数确定得到;在扫描数未达到发包总数的情况下,则触发第二作为子单元执行将与第一子网排列索引相邻的下一位子网排列索引作为最新的第一子网排列索引的步骤;在扫描数达到发包总数的情况下,则结束操作。
[0151]
图3所对应实施例中特征的说明可以参见图1和图2所对应实施例的相关说明,这
里不再一一赘述。
[0152]
由上述技术方案可以看出,按照设定的分割规则,将全网地址划分为多个子网;将多个子网进行随机排序,得到第一序列。将每个子网下包含的地址和端口进行随机排序,得到第二序列;对第一序列和第二序列执行循环遍历,以实现对多个子网下包含的所有地址和所有端口的随机扫描。在该技术方案中,通过随机排序可以打乱子网的顺序,以及每个子网下地址和端口的顺序,保证对子网以及子网下地址和端口的随机扫描。通过随机排序得到第一序列和第二序列,可以每次扫描一个子网下的某个地址和端口,下一次扫描时可以扫描第一序列中另一个子网下的某个地址和端口,有效的避免了对某一个子网进行频繁扫描,导致防火墙或入侵检测系统判定当前扫描行为为攻击行为,提高了扫描行为的隐蔽性。
[0153]
图4为本技术实施例提供的一种网络资产扫描设备的结构图,如图4所示,网络资产扫描设备包括:存储器20,用于存储计算机程序;
[0154]
处理器21,用于执行计算机程序时实现如上述实施例网络资产扫描方法的步骤。
[0155]
本实施例提供的网络资产扫描设备可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
[0156]
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0157]
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的网络资产扫描方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括windows、unix、linux等。数据203可以包括但不限于分割规则、第一序列、第二序列等。
[0158]
在一些实施例中,网络资产扫描设备还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
[0159]
本领域技术人员可以理解,图4中示出的结构并不构成对网络资产扫描设备的限定,可以包括比图示更多或更少的组件。
[0160]
可以理解的是,如果上述实施例中的网络资产扫描方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执
行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、磁碟或者光盘等各种可以存储程序代码的介质。
[0161]
基于此,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述网络资产扫描方法的步骤。
[0162]
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
[0163]
以上对本技术实施例所提供的一种网络资产扫描方法、装置、设备和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0164]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0165]
以上对本技术所提供的一种网络资产扫描方法、装置、设备和计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1