ipv6地址扫描方法、装置、计算机设备及存储介质
技术领域
1.本技术涉及互联网技术领域,特别是涉及一种ipv6地址扫描方法、装置、计算机设备及存储介质。
背景技术:
2.随着2011年inan分配了ipv4最后一块地址,宣布接下来互联网会无可避免的向ipv6的方向发展。在2019年十月份,数据表明30%的用户都是通过ipv6地址访问google,表明ipv6在未来的网络发展占据重要地位。
3.然而ipv6的发展却面临着一项巨大的挑战,就是网络扫描。通过网络扫描,我们可以对网络拓扑结构,ip地址分析,地理定位,还有网络安全等分析开展更全面的工作。在ipv4网络中,受益于现代硬件和计算能力的进步,使得暴力进行互联网全网扫描成为可能。但是不同于ipv4,ipv6庞大的地址空间使得以往的扫描工具耗费时间大大增加。因此我们更需要一种更高效,消耗时间更少的方式来获取更多的信息。
4.现有的一些ipv6扫描方法,如entropy/ip、6gen、6tree、6hit等,在ipv6地址空间扫描方面提出了一些方法,但是依然存在探测效率不高的问题。
技术实现要素:
5.基于此,有必要针对上述技术问题,提供一种ipv6地址扫描方法、装置、计算机设备及存储介质。
6.一种ipv6地址扫描方法,所述方法包括:获取ipv6种子地址和预定的总资源阈值。
7.根据所述ipv6种子地址,利用层次分裂聚类算法,得到空间树;所述空间树的每一个节点代表地址空间的一个待扫描地址区域。
8.将每个所述待扫描地址区域根据自由维度从低到高进行分类,并将自由维度最低的类设置为探测区域;设置资源数量和每个待扫描地址区域的活性计数器均为0。
9.在每轮迭代中,优先将探测区域中活性计数器最高的待扫描地址区域的所有地址生成为探测地址。
10.对所述探测地址采用rc5方式对探测地址的顺序进行随机化,根据得到的随机地址序列生成探针包并且发送,根据发送的探针包的数量更新所述资源数量;所述探针包的头部包括待扫描地址区域的区域编码和区域标识符。
11.接收并解码响应包,并根据得到的区域标识符更新相应区域的活性计数器。
12.将已探测的待扫描地址区域从空间树上删除,将下一轮探测区域的自由维度加1,进入下一轮迭代,直到所述资源数量达到预定的总资源阈值时,迭代停止。
13.在其中一个实施例中,根据所述ipv6种子地址,利用层次分裂聚类算法,得到空间树,包括:根据所述ipv6 种子地址生成一个包含所有种子集合的根节点,并将所述根节点
作为当前节点。
14.对于当前节点,遍历其包含的ipv6种子地址,找到第一个自由维度,在此维度分裂出子节点,并将子节点加入空间树;当一个子节点的自由维度为1或者只有1个ipv6种子地址时,停止进行分裂,得到空间树。
15.在其中一个实施例中,对所述探测地址采用rc5方式对探测地址的顺序进行随机化,根据得到的随机地址序列生成探针包并且发送,根据发送的探针包的数量更新所述资源数量,包括:对所述探测地址采用rc5方式对探测地址的顺序进行随机化;得到随机地址序列。
16.根据所述随机地址序列,在探针包的头部插入待扫描地址区域的区域编码和区域标识符,生成与随机地址序列中探测地址对应的探针包,并发送。
17.根据发送的探针包的数量更新所述资源数量。
18.在其中一个实施例中,接收并解码响应包,并根据得到的区域标识符更新相应区域的活性计数器,包括不断接收报文,并对接收到的报文进行解密,根据解密结果判断报文是否为正确的响应包。
19.当为正确的响应包时,记录响应结果和区域标识符,并且根据所述区域标识符更新相应区域的活性计数器,以便调整下一轮迭代探测方向。
20.在其中一个实施例中,所述方法中探针包的发送和响应包的接收是异步进行。
21.一种ipv6地址扫描装置,所述装置包括:ipv6 种子地址获取模块,用于获取ipv6种子地址和预定的总资源阈值。
22.地址空间划分模块,用于根据所述ipv6种子地址,利用层次分裂聚类算法,得到空间树;所述空间树的每一个节点代表地址空间的一个待扫描地址区域;将每个所述待扫描地址区域根据自由维度从低到高进行分类,并将自由维度最低的类设置为探测区域;设置资源数量和每个待扫描地址区域的活性计数器均为0。
23.迭代扫描模块,用于在每轮迭代中,优先将探测区域中活性计数器最高的待扫描地址区域的所有地址生成为探测地址;对所述探测地址采用rc5方式对探测地址的顺序进行随机化,根据得到的随机地址序列生成探针包并且发送,根据发送的探针包的数量更新所述资源数量;所述探针包的头部包括待扫描地址区域的区域编码和区域标识符;接收并解码响应包,并根据得到的区域标识符更新相应区域的活性计数器;将已探测的待扫描地址区域从空间树上删除,将下一轮探测区域的自由维度加1,进入下一轮迭代,直到所述资源数量达到预定的总资源阈值时,迭代停止。
24.在其中一个实施例中,空间树的每一个节点代表地址空间的一个待扫描地址区域。
25.所述地址空间划分模块,还用于根据所述ipv6 种子地址生成一个包含所有种子集合的根节点,并将所述根节点作为当前节点;对于当前节点,遍历其包含的ipv6种子地址,找到第一个自由维度,在此维度分裂出子节点,并将子节点加入空间树;当一个子节点的自由维度为1或者只有1个ipv6种子地址时,停止进行分裂,得到空间树。
26.在其中一个实施例中,迭代扫描模块,还用于对所述探测地址采用rc5方式对探测地址的顺序进行随机化;得到随机地址序列;根据所述随机地址序列,在探针包的头部插入
待扫描地址区域的区域编码和区域标识符,生成与随机地址序列中探测地址对应的探针包,并发送;根据发送的探针包的数量更新所述资源数量。
27.上述ipv6地址扫描方法、装置、计算机设备及存储介质,所述方法利用已知的ipv6种子地址来划分地址空间,并将每个待扫描地址区域根据自由维度数量从低到高进行分类,每轮迭代将优先将自由维度数量最低、活性计数器最高的区域的所有地址生成为探测地址;然后对探测地址空间使用rc5算法进行序列随机化,对于新的地址序列生成带有区域编码的探针并且发送;不断接受响应包,记录探测结果,并且根据区域标识符更新相应区域的活性计数器,以便调整下一轮迭代探测方向。本方法可在互联网范围内对ipv6地址进行扫描,与其他ipv6全网扫描方法相比,该方法具有更高的命中率和扫描效率。该方法用于互联网范围内的ipv6活性地址探测和挖掘。
附图说明
28.图1为一个实施例中ipv6地址扫描方法的流程示意图;图2为另一个实施例中待扫描地址区域示意图;图3为另一个实施例中空间划分示意图;图4为另一个实施例中一个区域生成探测地址示意图;图5为另一个实施例中探针结构示意图;图6为另一个实施例中探针发送顺序示意图;图7为一个实施例中ipv6地址扫描方法的工作流程图示意图;图8为一个实施例中ipv6地址扫描装置的结构框图;图9为一个实施例中计算机设备的内部结构图。
具体实施方式
29.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
30.通常将ipv6地址空间映射为32维度的高维向量,以每半个字节,即4位比特为一个维度,每一个维度取值范围为(0-15)的整数。
31.在一个实施例中,如图1所示,提供了一种ipv6地址扫描方法,该方法包括以下步骤:步骤100:获取ipv6种子地址和预定的总资源阈值。
32.具体的,ipv6种子地址,一组初始的已知的活性ipv6地址,这些地址通常可以通过网络流量收集,域名记录等获取。
33.预定的总资源阈值是预定的探针包的数量。
34.步骤102:根据ipv6种子地址,利用层次分裂聚类算法,得到空间树;空间树的每一个节点代表地址空间的一个待扫描地址区域。
35.具体的,地址控制经过区域划分后得到的待扫描地址区域至少包含1个ipv6种子地址。
36.待扫描地址区域生成示意图如图2所示。该待扫描地址区域由2个种子构成,两个
种子中前31维度相同,为固定维度;最后第32维度为自由维度。
37.自由维度和固定维度,对于一个32维度的待扫描地址区域,若在某一维度,种子在该维度的值均相同,则为固定维度,否则为自由维度。
38.地址空间的划分逻辑上利用种子集合结合层次分裂聚类算法构造一个树形结构,该树形结构命名为“空间树”。空间树是通过层次化的方式,从根到叶、自顶向下构建的,对于当前节点,根据其种子集进行分裂,得到子节点。空间树示意图如图3所示。
39.步骤104:将每个待扫描地址区域根据自由维度从低到高进行分类,并将自由维度最低的类设置为探测区域;设置资源数量和每个待扫描地址区域的活性计数器均为0。
40.具体的,对于空间树中每个节点对应一个活性计数器,根据每一个区域标识符会更新相应区域的活性计数器。
41.步骤106:在每轮迭代中,优先将探测区域中活性计数器最高的待扫描地址区域的所有地址生成为探测地址。
42.具体的,在探测地址生成的过程中,会利用上一轮探测所得结果,即更新每一区域内的活性计数器并且根据计数器大小进行排名。而在本轮迭代中,会针对当前自由维度的区域,根据区域排名,优先将排名高的区域的所有地址生成为探测地址。图4为图3中节点65生成的探测地址实例。
43.步骤108:对探测地址采用rc5方式对探测地址的顺序进行随机化,根据得到的随机地址序列生成探针包并且发送,根据发送的探针包的数量更新资源数量;探针包的头部包括待扫描地址区域的区域编码和区域标识符。
44.具体的,图6所示为根据确定的探测区域,对探针地址顺序进行随机化,保证探针分布的合理性。
45.对于同一轮迭代生成的随机顺序的探针包探针顺序,有效的保障了不会对某一个子空间进行过度的探测。
46.步骤110:接收并解码响应包,并根据得到的区域标识符更新相应区域的活性计数器;步骤112:将已探测的待扫描地址区域从空间树上删除,将下一轮探测区域的自由维度加1,进入下一轮迭代,直到资源数量达到预定的总资源阈值时,迭代停止。
47.上述ipv6地址扫描方法中,所述方法利用已知的ipv6种子地址来划分地址空间,并将每个待扫描地址区域根据自由维度数量从低到高进行分类,每轮迭代将优先将自由维度数量最低、活性计数器最高的区域的所有地址生成为探测地址;然后对探测地址空间使用rc5算法进行序列随机化,对于新的地址序列生成带有区域编码的探针并且发送;不断接受响应包,记录探测结果,并且根据区域标识符更新相应区域的活性计数器,以便调整下一轮迭代探测方向。本方法可在互联网范围内对ipv6地址进行扫描,与其他ipv6全网扫描方法相比,该方法具有更高的命中率和扫描效率。该方法用于互联网范围内的ipv6活性地址探测和挖掘。
48.在其中一个实施例中,步骤102包括:根据ipv6 种子地址生成一个包含所有种子集合的根节点,并将根节点作为当前节点;对于当前节点,遍历其包含的ipv6种子地址,找到第一个自由维度,在此维度分裂出子节点,并将子节点加入空间树;当一个子节点的自由维度为1或者只有1个ipv6种子地址时,停止进行分裂,得到空间树。
49.具体的,对于一个32维度的待扫描地址区域中按大小排列的种子地址,从左往右,首次出现两个相邻种子地址在相同维度上出现不同值时,即为第一自由维度,地址空间开始分裂。
50.在另一个实施例中,图3所示为一个空间划分的实例。注意该空间树仅为逻辑示意图,运行实例最终仅保留其中的叶子节点。对于当前节点,遍历其包含的种子,找到第一个自由维度,在此维度分裂出子节点;并且将子节点加入空间树;当一个区域自由维度为1或者只有1个种子时,停止进行分裂,此节点即为叶节点。循环停止后得到空间树。
51.区域自由维度为1或者只有1个种子的节点为叶节点。
52.在其中一个实施例中,步骤108包括:对探测地址采用rc5方式对探测地址的顺序进行随机化;得到随机地址序列;根据随机地址序列,在探针包的头部插入待扫描地址区域的区域编码和区域标识符,生成与随机地址序列中探测地址对应的探针包,并发送;根据发送的探针包的数量更新资源数量。
53.图5所示为探针包的结构示意图。在探针包的头部加入的有效载荷共有16个字节。其中4字节6scan指纹信息(6scan fingerprint)和1字节实例号(instance id)被用于确认此接收包是探针的响应包;1字节的生存时间(ttl)确定了到达目的地所经过的总跳数;2字节的校验码(checksum fudge)用于确保头部信息的正确性;4字节时间戳(timestamp)记录时间,用于计算rtt;4字节区域标识符(regional identifier)用于更新活性计数器。
54.在其中一个实施例中,步骤110包括不断接收报文,并对接收到的报文进行解密,根据解密结果判断报文是否为正确的响应包;当为正确的响应包时,记录响应结果和区域标识符,并且根据区域标识符更新相应区域的活性计数器,以便调整下一轮迭代探测方向。
55.在其中一个实施例中,方法中探针包的发送和响应包的接收是异步进行。
56.由于进行了区域编码,所以探针包的发送和响应包的接收可以异步进行,这样大大提高探针发送速率以及探测效率。
57.在另一个实施例中,如图7所示,提供一种ipv6地址扫描方法的工作流程图。首先将根据种子地址划分地址空间,得到待扫描地址区域,然后将每个区域根据自由维度从低到高进行分类,每轮迭代优先将自由维度最低、活性计数器最高的区域的所有地址生成为探测地址;然后对探测地址空间使用rc5算法进行序列随机化,对于新的地址序列生成带有区域编码的探针并且发送;不断接收报文,判断其合法性,对于正确的响应包,记录探测结果,并且根据区域标识符更新相应区域的活性计数器,以便调整下一轮迭代探测方向。
58.应该理解的是,虽然图1和图7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1和图7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
59.在一个实施例中,如图8所示,提供了一种ipv6地址扫描装置,包括:ipv6 种子地址获取模块、地址空间划分模块和迭代扫描模块,其中:ipv6 种子地址获取模块,用于获取ipv6种子地址和预定的总资源阈值。
60.地址空间划分模块,用于根据ipv6种子地址,利用层次分裂聚类算法,得到空间树;空间树的每一个节点代表地址空间的一个待扫描地址区域;将每个待扫描地址区域根据自由维度从低到高进行分类,并将自由维度最低的类设置为探测区域;设置资源数量和每个待扫描地址区域的活性计数器均为0。
61.迭代扫描模块,用于在每轮迭代中,优先将探测区域中活性计数器最高的待扫描地址区域的所有地址生成为探测地址;对探测地址采用rc5方式对探测地址的顺序进行随机化,根据得到的随机地址序列生成探针包并且发送,根据发送的探针包的数量更新资源数量;探针包的头部包括待扫描地址区域的区域编码和区域标识符;接收并解码响应包,并根据得到的区域标识符更新相应区域的活性计数器;将已探测的待扫描地址区域从空间树上删除,将下一轮探测区域的自由维度加1,进入下一轮迭代,直到资源数量达到预定的总资源阈值时,迭代停止。
62.在其中一个实施例中地址空间划分模块,还用于根据ipv6 种子地址生成一个包含所有种子集合的根节点,并将根节点作为当前节点;对于当前节点,遍历其包含的ipv6种子地址,找到第一个自由维度,在此维度分裂出子节点,并将子节点加入空间树;当一个子节点的自由维度为1或者只有1个ipv6种子地址时,停止进行分裂,得到空间树。
63.在其中一个实施例中迭代扫描模块,还用于对探测地址采用rc5方式对探测地址的顺序进行随机化;得到随机地址序列;根据随机地址序列,在探针包的头部插入待扫描地址区域的区域编码和区域标识符,生成与随机地址序列中探测地址对应的探针包,并发送;根据发送的探针包的数量更新资源数量。
64.在其中一个实施例中,迭代扫描模块,还用于不断接收报文,并对接收到的报文进行解密,根据解密结果判断报文是否为正确的响应包;当为正确的响应包时,记录响应结果和区域标识符,并且根据区域标识符更新相应区域的活性计数器,以便调整下一轮迭代探测方向。
65.在其中一个实施例中,迭代扫描模块中探针包的发送和响应包的接收是异步进行。
66.关于ipv6地址扫描装置的具体限定可以参见上文中对于ipv6地址扫描方法的限定,在此不再赘述。上述ipv6地址扫描装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
67.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种ipv6地址扫描方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
68.本领域技术人员可以理解,图9中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
69.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述实施例中方法的步骤。
70.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中方法的步骤。
71.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink) dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
72.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
73.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
技术特征:
1.一种ipv6地址扫描方法,其特征在于,所述方法包括:获取ipv6种子地址和预定的总资源阈值;根据所述ipv6种子地址,利用层次分裂聚类算法,得到空间树;所述空间树的每一个节点代表地址空间的一个待扫描地址区域;将每个所述待扫描地址区域根据自由维度从低到高进行分类,并将自由维度最低的类设置为探测区域;设置资源数量和每个待扫描地址区域的活性计数器均为0;在每轮迭代中,优先将探测区域中活性计数器最高的待扫描地址区域的所有地址生成为探测地址;对所述探测地址采用rc5方式对探测地址的顺序进行随机化,根据得到的随机地址序列生成探针包并且发送,根据发送的探针包的数量更新所述资源数量;所述探针包的头部包括待扫描地址区域的区域编码和区域标识符;接收并解码响应包,并根据得到的区域标识符更新相应区域的活性计数器;将已探测的待扫描地址区域从空间树上删除,将下一轮探测区域的自由维度加1,进入下一轮迭代,直到所述资源数量达到预定的总资源阈值时,迭代停止。2.根据权利要求1所述的方法,其特征在于,根据所述ipv6种子地址,利用层次分裂聚类算法,得到空间树,包括:根据所述ipv6 种子地址生成一个包含所有种子集合的根节点,并将所述根节点作为当前节点;对于当前节点,遍历其包含的ipv6种子地址,找到第一个自由维度,在此维度分裂出子节点,并将子节点加入空间树;当一个子节点的自由维度为1或者只有1个ipv6种子地址时,停止进行分裂,得到空间树。3.根据权利要求1所述的方法,其特征在于,对所述探测地址采用rc5方式对探测地址的顺序进行随机化,根据得到的随机地址序列生成探针包并且发送,根据发送的探针包的数量更新所述资源数量,包括:对所述探测地址采用rc5方式对探测地址的顺序进行随机化;得到随机地址序列;根据所述随机地址序列,在探针包的头部插入待扫描地址区域的区域编码和区域标识符,生成与随机地址序列中探测地址对应的探针包,并发送;根据发送的探针包的数量更新所述资源数量。4.根据权利要求1所述的方法,其特征在于,接收并解码响应包,并根据得到的区域标识符更新相应区域的活性计数器,包括不断接收报文,并对接收到的报文进行解密,根据解密结果判断报文是否为正确的响应包;当为正确的响应包时,记录响应结果和区域标识符,并且根据所述区域标识符更新相应区域的活性计数器,以便调整下一轮迭代探测方向。5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法中探针包的发送和响应包的接收是异步进行。6.一种ipv6地址扫描装置,其特征在于,所述装置包括:ipv6 种子地址获取模块,用于获取ipv6种子地址和预定的总资源阈值;地址空间划分模块,用于根据所述ipv6种子地址,利用层次分裂聚类算法,得到空间
树;所述空间树的每一个节点代表地址空间的一个待扫描地址区域;将每个所述待扫描地址区域根据自由维度从低到高进行分类,并将自由维度最低的类设置为探测区域;设置资源数量和每个待扫描地址区域的活性计数器均为0;迭代扫描模块,用于在每轮迭代中,优先将探测区域中活性计数器最高的待扫描地址区域的所有地址生成为探测地址;对所述探测地址采用rc5方式对探测地址的顺序进行随机化,根据得到的随机地址序列生成探针包并且发送,根据发送的探针包的数量更新所述资源数量;所述探针包的头部包括待扫描地址区域的区域编码和区域标识符;接收并解码响应包,并根据得到的区域标识符更新相应区域的活性计数器;将已探测的待扫描地址区域从空间树上删除,将下一轮探测区域的自由维度加1,进入下一轮迭代,直到所述资源数量达到预定的总资源阈值时,迭代停止。7.根据权利要求6所述的装置,其特征在于,所述地址空间划分模块,还用于根据所述ipv6 种子地址生成一个包含所有种子集合的根节点,并将所述根节点作为当前节点;对于当前节点,遍历其包含的ipv6种子地址,找到第一个自由维度,在此维度分裂出子节点,并将子节点加入空间树;当一个子节点的自由维度为1或者只有1个ipv6种子地址时,停止进行分裂,得到空间树。8.根据权利要求6所述的装置,其特征在于,迭代扫描模块,还用于对所述探测地址采用rc5方式对探测地址的顺序进行随机化;得到随机地址序列;根据所述随机地址序列,在探针包的头部插入待扫描地址区域的区域编码和区域标识符,生成与随机地址序列中探测地址对应的探针包,并发送;根据发送的探针包的数量更新所述资源数量。9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
技术总结
本申请涉及一种IPv6地址扫描方法、装置、计算机设备及存储介质。所述方法利用已知的IPv6种子地址来划分地址空间,并将每个待扫描地址区域根据自由维度数量从低到高进行分类,每轮迭代将优先将自由维度数量最低、活性计数器最高的区域的所有地址生成为探测地址;然后对探测地址空间使用RC5算法进行序列随机化,对于新的地址序列生成带有区域编码的探针并且发送;不断接受响应包,记录探测结果,并且根据区域标识符更新相应区域的活性计数器,以便调整下一轮迭代探测方向。本方法可在互联网范围内对IPV6地址进行扫描,与其他IPv6全网扫描方法相比,该方法具有更高的命中率和扫描效率。率。率。
技术研发人员:蔡志平 侯冰楠 黄峰元 杨涛 周桐庆 侯昌盛
受保护的技术使用者:中国人民解放军国防科技大学
技术研发日:2022.02.09
技术公布日:2022/3/8