CN112398969B - IPv6地址的动态探测方法、装置及计算机设备 - Google Patents
IPv6地址的动态探测方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN112398969B CN112398969B CN202110065886.8A CN202110065886A CN112398969B CN 112398969 B CN112398969 B CN 112398969B CN 202110065886 A CN202110065886 A CN 202110065886A CN 112398969 B CN112398969 B CN 112398969B
- Authority
- CN
- China
- Prior art keywords
- iteration
- detection
- address
- ipv6
- reward
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/659—Internet protocol version 6 [IPv6] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种IPv6地址的动态探测方法、装置及计算机设备。所述方法包括:获取预设IPv6种子地址,以此为依据,利用层次分裂聚类法构建空间树,空间树的一个叶子节点代表地址空间的一个区域。首次探测根据种子地址密度分配探测资源,并得到探测奖惩量和首次期望奖励。根据当前时刻的期望奖励和探测奖惩量,通过强化学习得到下一时刻的期望奖励,根据其得到下一时刻的待测目标地址和探测资源;利用探测资源对待测目标地址进行探测,得到探测奖惩量和活跃IPv6地址,并记录该地址,直到探测资源耗尽,迭代停止。本方法引入期望奖励,通过强化学习的方法增加与真实环境之间的交互,提高IPv6地址空间命中率。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及一种IPv6地址的动态探测方法、装置及计算机设备。
背景技术
随着IPv4地址空间分配殆尽,互联网正在不可避免地向IPv6过渡。新互联网协议IPv6拥有巨大的地址空间,近年来得到了广泛的关注和迅速的普及。然而,IPv6其巨量的地址空间范围在互联网测量方面也提出了新的挑战。在IPv4网络,受益于现代硬件和计算能力的进步,使得互联网全网扫描成为可能。在网络拓扑探测方面,像ZMap和Masscan这样的异步扫描工具极大地增强了我们进行全网测量的能力。在网络资产扫描方面,Shodan、Censys等网络设备搜索引擎可以获取丰富的网络资产数据,用于评估网络安全状况、漏洞发现与修复等。然而,IPv6巨量的地址空间范围使得这些工具并不能直接应用。为此,行业内积极发展一种高效的互联网范围的IPv6地址空间探测方法。
现有的IPv6地址空间探测方法,如Entropy/IP、6Gen、6Tree等,在IPv6地址空间探测方面取得了一定的成绩,但是IPv6地址空间探测效率方面存在探测效率不高的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种通过增加迭代探测与真实环境之间的交互,提高IPv6地址空间命中率的IPv6地址的动态探测方法、装置及计算机设备。
一种IPv6地址的动态探测方法,所述方法包括:
获取预设IPv6种子地址以及预定的总资源阈值。
根据所述预设IPv6种子地址,利用层次分裂聚类算法,得到空间树;所述空间树的每一个叶子节点代表地址空间的一个区域。
根据所述区域中IPv6种子地址的密度进行首次探测资源分配,得到区域探测资源;根据所述区域探测资源对所述区域进行首次探测,得到活跃IPv6地址、探测奖惩量和首次的区域扫描期望奖励;所述首次的区域扫描期望奖励由所述探测奖惩量确定。
当所述资源数量满足预先设置的迭代输出条件时,迭代停止。
在其中一个实施例中,空间树的每一个叶子节点代表地址空间的一个区域;根据所述预设IPv6种子地址,利用层次分裂聚类算法,得到空间树,还包括:
根据所述预设IPv6种子地址生成一个包含整个IPv6地址空间的根节点。
从所述根节点开始向下进行节点分裂,得到分裂节点;所述分裂节点包含两个节点,其中一个节点为包含所有的种子地址的非叶子节点,另一个为R类型节点;所述R类型节点包含IPv6地址空间中剔除兄弟节点包含的地址空间后的剩余地址空间。
所述非叶子节点在节点熵值大于预设阈值的维度向下进行分裂,生成孩子节点,同时添加一个R类型节点作为兄弟节点,直至完成所述空间树的构建。
设置学习速率,所述学习速率是大于等于0小于等于1的实数。
在其中一个实施例中,根据所述预设IPv6种子地址,利用层次分裂聚类算法,得到空间树;所述空间树的每一个叶子节点代表地址空间的一个区域,还包括:
在空间树构建的同时计算区域的种子密度。
当所述区域的种子密度超过预定密度阈值,则扫描所述区域的所有地址,并将所述区域对应的所述叶子节点从所述空间树中移除。
在所述活跃IPv6地址表中随机选择预定数量的活跃IPv6地址,将所述IPv6地址的128位地址以半字节为单位进行划分,将所述活跃IPv6地址其定义为32维地址向量,将两个32维地址向量的低16维进行交叉互换得到新的IPv6地址,所述新的IPv6地址组成新IPv6种子地址。
根据所述新IPv6种子地址构建空间树。
在迭代过程中,对所述区域待测目标地址在高16维进行变异得到新的区域待测目标IPv6地址;利用分配到的探测资源对新的区域待测目标IPv6地址进行探测。
一种IPv6地址的动态探测装置,所述装置包括:
预设IPv6种子地址获取模块:用于获取预设IPv6种子地址以及预定的总资源阈值。
空间树构建模块:用于根据所述预设IPv6种子地址,利用层次分裂聚类算法,得到空间树;所述空间树的每一个叶子节点代表地址空间的一个区域。
首次探测模块:用于根据所述区域中IPv6种子地址的密度进行首次探测资源分配,得到区域探测资源;根据所述区域探测资源对所述区域进行首次探测,得到活跃IPv6地址、探测奖惩量和首次的区域扫描期望奖励;所述首次的区域扫描期望奖励由所述探测奖惩量确定。
探测迭代模块:用于在第次迭代时,将第次迭代活跃IPv6地址存储到预先建立的活跃IPv6地址表,更新所述活跃IPv6地址表;根据第次迭代的区域扫描期望奖励和第次迭代的探测奖惩量,通过强化学习得到第次迭代的区域扫描期望奖励;根据所述第次迭代的区域扫描期望奖励,生成第次迭代的区域待测目标IPv6地址,并分配第次迭代的区域探测资源;对所述第次迭代的区域待测目标IPv6地址,利用所述第次迭代的区域探测资源进行探测,得到第次迭代的探测奖惩量和第次迭代的活跃IPv6地址;根据所述第次迭代的区域探测资源,更新所述资源数量;当所述资源数量满足预先设置的迭代输出条件时,迭代停止。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取预设IPv6种子地址以及预定的总资源阈值。
根据所述预设IPv6种子地址,利用层次分裂聚类算法,得到空间树;所述空间树的每一个叶子节点代表地址空间的一个区域。
根据所述区域中IPv6种子地址的密度进行首次探测资源分配,得到区域探测资源;根据所述区域探测资源对所述区域进行首次探测,得到活跃IPv6地址、探测奖惩量和首次的区域扫描期望奖励;所述首次的区域扫描期望奖励由所述探测奖惩量确定。
当所述资源数量满足预先设置的迭代输出条件时,迭代停止。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取预设IPv6种子地址以及预定的总资源阈值。
根据所述预设IPv6种子地址,利用层次分裂聚类算法,得到空间树;所述空间树的每一个叶子节点代表地址空间的一个区域。
根据所述区域中IPv6种子地址的密度进行首次探测资源分配,得到区域探测资源;根据所述区域探测资源对所述区域进行首次探测,得到活跃IPv6地址、探测奖惩量和首次的区域扫描期望奖励;所述首次的区域扫描期望奖励由所述探测奖惩量确定。
当所述资源数量满足预先设置的迭代输出条件时,迭代停止。
上述IPv6地址的动态探测方法、装置及计算机设备。通过获取预设IPv6种子地址,以此为依据,利用层次分裂聚类法构建空间树,空间树的一个叶子节点代表地址空间的一个区域。首次探测根据种子地址密度分配探测资源,并探测得到探测奖惩量和首次期望奖励。根据当前时刻期望奖励和当前时刻探测奖惩量,通过强化学习得到下一时刻期望奖励,根据其得到下一时刻的待测目标地址和探测资源;利用探测资源对待测目标地址进行探测,得到探测奖惩量和活跃IPv6地址,并记录该地址,直到探测资源耗尽,迭代停止。本方法引入期望奖励,通过强化学习的方法增加与真实环境之间的交互,提高IPv6地址空间命中率。
附图说明
图1为一个实施例中IPv6地址的动态探测方法的流程示意图;
图2为一个实施例中空间树的构建示意图;
图3为一个实施例中地址交叉操作流程示意图;
图4为另一个实施例中IPv6地址的动态探测方法工作流程图;
图5为一个实施例中IPv6地址的动态探测装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种IPv6地址的动态探测方法,包括以下步骤:
步骤100,获取预设IPv6种子地址以及预定的总资源阈值。
预设IPv6种子地址是第三方机构给定的一组已知的活跃IPv6地址。
总资源阈值是IPv6地址的动态探测实验中设定的探测包的总数量。在一个实施例中预定总资源阈值为30000。
步骤102,根据预设IPv6种子地址,利用层次分裂聚类算法,得到空间树;空间树的每一个叶子节点代表地址空间的一个区域。
将整个IPv6地址空间作为根节点,把128位的IPv6地址看成32个半字节,每个字节为1维空间,整个IPv6地址空间就是32维IPv6地址空间,以预设IPv6种子地址的结构为依据,通过层次化的方式从根到叶构建的,通过自顶向下的方式分割32维IPv6地址空间,构建空间树。空间树的每一个叶子节点代表地址空间的一个区域。
步骤104,根据区域中IPv6种子地址的密度进行首次探测资源分配,得到区域探测资源;根据区域探测资源对区域进行首次探测,得到活跃IPv6地址、探测奖惩量和首次的区域扫描期望奖励;首次的区域扫描期望奖励由探测奖惩量确定。
根据区域IPv6种子地址密度进行最初的探测资源分配,并迭代地探索活跃地址。算法中定义了一个区域扫描期望奖励,每次扫描迭代后根据探测奖惩量和首次的区域扫描期望奖励更新区域扫描期望奖励,显然期望奖励越高,下一轮迭代,该区域分配的资源就越多(生成更多的待探测地址)。后续的探测过程也是根据每个区域的期望奖励进行相应的资源分配。
探测奖惩量是每次扫描迭代过程中探测到的区域内活动IPv6种子的数量。
区域扫描期望奖励是动态地址探测中生成区域待测目标IPv6地址和分配探测资源的依据。
设置迭代次数是为了方便在后边把迭代的流程表达的更加清楚。
资源数量表示剩余的探测资源的数量。
步骤108,在第次迭代时,将第次迭代活跃IPv6地址存储到预先建立的活跃IPv6地址表,更新活跃IPv6地址表;根据第次迭代的区域扫描期望奖励和第次迭代的探测奖惩量,通过强化学习得到第次迭代的区域扫描期望奖励;根据第次迭代的区域扫描期望奖励,生成第次迭代的区域待测目标IPv6地址,并分配第次迭代的区域探测资源;对第次迭代的区域待测目标IPv6地址,利用第次迭代的区域探测资源进行探测,得到第次迭代的探测奖惩量和第次迭代的活跃IPv6地址;根据第次迭代的区域探测资源,更新资源数量;当资源数量满足预先设置的迭代输出条件时,迭代停止。
第次迭代的区域扫描期望奖励是生成次迭代的区域待测目标IPv6地址和分配第次迭代的区域探测资源的依据,第次迭代的区域扫描期望奖励值越高,生成的次迭代的区域待测目标IPv6地址数量越多,分配的第次迭代的区域探测资源数量就越多。
区域探测资源是多个ICMPv6探测包。
利用区域探测资源进行探测的方法是:向区域待测目标IPv6地址发送探测包,判断该地址是否为活跃地址。如果探测地址为活跃地址则探测奖惩量加1,并且记录该活跃IPv6地址。
IPv6地址的动态探测方法的原理可以总结为:首先利用预设IPv6种子地址结合层次分裂聚类算法构造一个空间树,定义了一个区域扫描期望奖励,首次探测根据区域内IPv6种子地址的密度,分配探测资源进行活性探测,得到当前时刻探测奖惩量和区域扫描期望奖励,通过强化学习计算下一时刻迭代的区域扫描期望奖励,根据下一时刻迭代的区域扫描期望奖励探测方向和探测资源分配,直到所有的探测资源耗尽为止,探测程序结束。
上述IPv6地址的动态探测方法中,通过获取预设IPv6种子地址,以此为依据,利用层次分裂聚类法构建空间树,空间树的一个叶子节点代表地址空间的一个区域。首次探测根据种子地址密度分配探测资源,并探测得到探测奖惩量和首次期望奖励。根据当前时刻期望奖励和当前时刻探测奖惩量,通过强化学习得到下一时刻期望奖励,根据其得到下一时刻的待测目标地址和探测资源;利用探测资源对待测目标地址进行探测,得到探测奖惩量和活跃IPv6地址,并记录该地址,直到探测资源耗尽,迭代停止。本发明引入期望奖励,通过强化学习的方法增加与真实环境之间的交互,提高IPv6地址空间命中率。
在一个实施例中,步骤102,还包括:根据预设IPv6种子地址生成一个包含整个IPv6地址空间的根节点;从根节点开始向下进行节点分裂,得到分裂节点;分裂节点包含两个节点,其中一个节点为包含所有的种子地址的非叶子节点,另一个为R类型节点;R类型节点包含IPv6地址空间中剔除兄弟节点包含的地址空间后的剩余地址空间;非叶子节点在节点熵值大于预设阈值的维度向下进行分裂,生成孩子节点,同时添加一个R类型节点作为兄弟节点,直至完成空间树的构建。
R类型节点定义的是一种新型的叶子节点。为了克服分裂聚类过程中的空间损失问题,为每个非叶节点在分裂过程中添加一个“R节点”作为它的子节点,这就保证了IPv6地址动态探测可以覆盖整个IPv6地址空间。
在空间树数据结构中,兄弟结点是指同一双亲结点的子结点之间互为兄弟结点。在一颗树中选定根节点后,相邻的两点,靠近根节点的是双亲节点,远一点的是孩子节点。
在其中一个实施例中,如图2所示,提供了一种空间树生成实例,图2显示了用500个种子所构建“空间树”的示例。该空间树总共包含147个节点,为了便于说明,我们只画了部分节点。其中蓝色节点表示非叶节点,红色节点为叶子节点。可以看到,方法应用了自上而下的层次聚类方法。从根到叶节点,地址可变维度数的数量逐渐减少。与此同时,每个非叶子节点有一个R节点作为它的子节点,它覆盖了其他兄弟节点不包含的地址空间,这样就保证了“空间树”涵盖整个IPv6地址空间。
在一个实施例中,步骤102,还包括:在空间树构建的同时计算区域的种子密度;当区域的种子密度超过预定密度阈值,则扫描区域的所有地址,并将区域对应的叶子节点从空间树中移除。
随着算法的不断迭代,活跃地址密度较大的区域的期望奖励会越来越高,导致在这些区域分配更多探测资源,这将最终导致算法的收敛。然而,也有可能一些高密度区域一开始没有足够的机会进行探测,如果算法在其他区域上收敛过早,可能会错过这些高密度区域。这种现象称为算法早熟。
目标IPv6地址生成算法的实质是根据区域扫描期望奖励值动态调整生成的目标区域,因此资源总是被高活跃密度的区域所吸引。为了防止算法在开始执行时陷入局部最优,算法中在划分地址空间的同时就计算出每个区域的种子密度。如果某一区域的种子密度超过一定的阈值,则进行“减枝”,即扫描该区域的所有地址,并将该区域对应的叶节点从空间树中移除。
在一个实施例中,步骤108还包括,设置学习速率,学习速率是大于等于0小于等于1的实数;根据第次迭代的区域扫描期望奖励、第次迭代的探测奖惩量和学习速率,确定第次迭代的区域扫描期望奖励;第次迭代的区域扫描期望奖励的迭代公式如下式所示:
本发明中采用强化学习的方法来生成目标,其根据现有探测的反馈调整探索的方向,这体现在下一轮迭代探测包的分配。之所以采用基于强化学习的算法有以下考虑:
第一,一个地区的种子密度可能与该地区真实活跃的地址数目有很大差异,因此,我们不应该过度依赖种子密度大小进行探测资源的分配,而只是使用种子密度作为初始扫描中探测资源分配的依据。然后根据探测的结果,逐步修改各区域的期望奖励和探测资源分配。
第二,一个地区的活动密度可能随着时间的变化而变化。这是因为当一些地址在区域被检测到是活动的,这些活跃地址应该被记录下来并移出该地区以防止它们进行重复探测。为此,本发明中同时使用了一个探测奖惩量来惩罚所生成的重复的目标地址,以减少对一些区域的过度探索。
在一个实施例中,步骤108还包括,根据第次迭代的区域扫描期望奖励,利用soft-max算法,得到区域被探测的概率;根据区域中包含的预设IPv6种子地址和概率,生成第次迭代的区域待测IPv6地址;将区域待测IPv6地址与活跃IPv6地址表进行比对,当有重复IPv6地址时,则在区域待测IPv6地址中剔除重复的IPv6地址,得到第次迭代的区域待测目标IPv6地址;设置第次迭代的探测奖惩量为0;将第次迭代的探测奖惩量减去重复的IPv6地址的数量,更新第次迭代的探测奖惩量;根据概率,利用玻尔兹曼公式进行探测资源分配,得到第次迭代的区域探测资源。
利用种子地址信息所计算的每个地区的活动密度可能不准确。本发明中采用动态调整探测资源分配的策略来获得更好的命中率。本发明使用soft-max算法来增加探索未知区域的机率,探索未知区域的机率的计算公式为:
获得探索未知区域的机率根据玻尔兹曼公式来进行探测资源的分配。
在其中一个实施例中,步骤108还包括,对第次迭代的区域待测目标IPv6地址发送ICMPv6探测包,判断该地址是否为活跃地址,得到判断结果;当判断结果为活跃IPv6地址时,探测奖惩量自加1更新探测奖惩量,区域待测目标地址为活跃IPv6地址,得到第次迭代的探测奖惩量和第次迭代的活跃IPv6地址。
在一个实施例中,步骤108还包括,统计第次迭代的区域待测目标IPv6地址的区域数量,当区域数量小于预定区域数量阈值时,迭代停止;在活跃IPv6地址表中随机选择预定数量的活跃IPv6地址,将IPv6地址的128位地址以半字节为单位进行划分,将活跃IPv6地址其定义为32维地址向量,将两个32维地址向量的低16维进行交叉互换得到新的IPv6地址,新的IPv6地址组成新IPv6种子地址;根据新IPv6种子地址构建空间树;在迭代过程中,对区域待测目标地址在高16维进行变异得到新的区域待测目标IPv6地址;利用分配到的探测资源对新的区域待测目标IPv6地址进行探测。
当发现算法早熟时,即在当前迭代中产生目标的区域数量小于一个阈值,根据经验,阈值一般设为区域总数的1/20。空间重划分过程利用从检测到的活跃地址中随机选择的地址重新构建空间树,然后进行后续扫描以对空间进行更广泛的探索。空间重划分分为以下三个步骤:(1)选择。从目前已知的所有可用活跃地址中形成新种子。(2)交叉。该步骤为了改变搜索区间,进行更多探索。交叉步骤集中在处理地址向量的低维区间,一般选取地址的低16维度进行交叉,主要是为了重新划分区域。(3)变异。该步骤也是为了改变搜索区间,进行更多探索。但是该步骤集中在处理地址向量的高维区间,一般选取高16位进行变异,主要是为了探索未知区域。
如图3所示是一个地址交叉操作的实例。该步骤是一个概率过程,它在两个“父”地址之间交换信息,以生成两个“子”种子。对于“父”地址,在较低维的区间内生成一个随机整数,称为交叉点(交叉点的选取位置一般在[17,32]维度)。位于交叉点右侧的部分数值互换以生成两个新的后代。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,IPv6地址的动态探测方法的工作流程:首先将根据种子IPv6地址划分候选扫描区间,并利用现有区域IPv6种子地址密度进行最初的探测资源分配。然后迭代地探索活跃地址。同时,定义了一个区域扫描期望奖励(即Q-value)用于记录区域的探测回报。每次扫描迭代后根据探测结果更新区域Q-value。在后续的探测过程中根据每个区域的Q-value进行相应的资源分配。其活性探测过程可简单归纳为:地址扫描—更新Q-value—调整探测资源分配,该探测过程持续进行直到探测量达到预算限制。
通过利用扫描结果的实时反馈,动态调整搜索方向,使其指向包含更活跃地址的区域,将探测资源向活动密度较高的区域倾斜。这种特性使得它在地址探测中效率更高,并且大大降低了对初始种子质量的依赖程度。在实网测试中,方法在命中率上比已有方法(Entropy/IP,6Gen和6Tree)的命中率更高。
在一个实施例中,如图5所示,提供了一种IPv6地址的动态探测装置,包括:预设IPv6种子地址获取模块、空间树构建模块、首次探测模块、迭代探测前准备模块以及探测迭代模块,其中:
预设IPv6种子地址获取模块:用于获取预设IPv6种子地址以及预定的总资源阈值。
空间树构建模块:用于根据预设IPv6种子地址,利用层次分裂聚类算法,得到空间树;空间树的每一个叶子节点代表地址空间的一个区域。
首次探测模块:用于根据区域中IPv6种子地址的密度进行首次探测资源分配,得到区域探测资源;根据区域探测资源对区域进行首次探测,得到活跃IPv6地址、探测奖惩量和首次的区域扫描期望奖励;首次的区域扫描期望奖励由探测奖惩量确定;
探测迭代模块:用于在第次迭代时,将第次迭代活跃IPv6地址存储到预先建立的活跃IPv6地址表,更新活跃IPv6地址表;根据第次迭代的区域扫描期望奖励和第次迭代的探测奖惩量,通过强化学习得到第次迭代的区域扫描期望奖励;根据第次迭代的区域扫描期望奖励,生成第次迭代的区域待测目标IPv6地址,并分配第次迭代的区域探测资源;对第次迭代的区域待测目标IPv6地址,利用第次迭代的区域探测资源进行探测,得到第次迭代的探测奖惩量和第次迭代的活跃IPv6地址;根据第次迭代的区域探测资源,更新资源数量;当资源数量满足预先设置的迭代输出条件时,迭代停止。
在其中一个实施例中,空间树构建模块,还用于根据预设IPv6种子地址生成一个包含整个IPv6地址空间的根节点;从根节点开始向下进行节点分裂,得到分裂节点;分裂节点包含两个节点,其中一个节点为包含所有的种子地址的非叶子节点,另一个为R类型节点;R类型节点包含IPv6地址空间中剔除兄弟节点包含的地址空间后的剩余地址空间;非叶子节点在节点熵值大于预设阈值的维度向下进行分裂,生成孩子节点,同时添加一个R类型节点作为兄弟节点,直至完成空间树的构建。
在其中一个实施例中,空间树构建模块,还用于在空间树构建的同时计算区域的种子密度;当区域的种子密度超过预定密度阈值,则扫描区域的所有地址,并将区域对应的叶子节点从空间树中移除。
在其中一个实施例中,探测迭代模块,还用于
在其中一个实施例中,根据第次迭代的区域扫描期望奖励,利用soft-max算法,得到区域被探测的概率;根据区域中包含的预设IPv6种子地址和概率,生成第次迭代的区域待测IPv6地址;将区域待测IPv6地址与活跃IPv6地址表进行比对,当有重复IPv6地址时,则在区域待测IPv6地址中剔除重复的IPv6地址,得到第次迭代的区域待测目标IPv6地址;设置第次迭代的探测奖惩量为0;将第次迭代的探测奖惩量减去重复的IPv6地址的数量,更新第次迭代的探测奖惩量;根据概率,利用玻尔兹曼公式进行探测资源分配,得到第次迭代的区域探测资源。
在其中一个实施例中,探测迭代模块,对第次迭代的区域待测目标IPv6地址发送ICMPv6探测包,判断该地址是否为活跃地址,得到判断结果;当判断结果为活跃IPv6地址时,探测奖惩量自加1更新探测奖惩量,区域待测目标地址为活跃IPv6地址,得到第次迭代的探测奖惩量和第次迭代的活跃IPv6地址。
在其中一个实施例中,探测迭代模块,统计第次迭代的区域待测目标IPv6地址的区域数量,当区域数量小于预定区域数量阈值时,迭代停止;在活跃IPv6地址表中随机选择预定数量的活跃IPv6地址,将IPv6地址的128位地址以半字节为单位进行划分,将活跃IPv6地址其定义为32维地址向量,将两个32维地址向量的低16维进行交叉互换得到新的IPv6地址,新的IPv6地址组成新IPv6种子地址;根据新IPv6种子地址构建空间树;在迭代过程中,对区域待测目标地址在高16维进行变异得到新的区域待测目标IPv6地址;利用分配到的探测资源对新的区域待测目标IPv6地址进行探测。
关于IPv6地址的动态探测装置的具体限定可以参见上文中对于IPv6地址的动态探测方法的限定,在此不再赘述。上述IPv6地址的动态探测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种IPv6地址的动态探测方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取预设IPv6种子地址以及预定的总资源阈值。
根据预设IPv6种子地址,利用层次分裂聚类算法,得到空间树;空间树的每一个叶子节点代表地址空间的一个区域。
根据区域中IPv6种子地址的密度进行首次探测资源分配,得到区域探测资源;根据区域探测资源对区域进行首次探测,得到活跃IPv6地址、探测奖惩量和首次的区域扫描期望奖励;首次的区域扫描期望奖励由探测奖惩量确定。
当资源数量满足预先设置的迭代输出条件时,迭代停止。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据预设IPv6种子地址生成一个包含整个IPv6地址空间的根节点;从根节点开始向下进行节点分裂,得到分裂节点;分裂节点包含两个节点,其中一个节点为包含所有的种子地址的非叶子节点,另一个为R类型节点;R类型节点包含IPv6地址空间中剔除兄弟节点包含的地址空间后的剩余地址空间;非叶子节点在节点熵值大于预设阈值的维度向下进行分裂,生成孩子节点,同时添加一个R类型节点作为兄弟节点,直至完成空间树的构建。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据第次迭代的区域扫描期望奖励,利用soft-max算法,得到区域被探测的概率;根据区域中包含的预设IPv6种子地址和概率,生成第次迭代的区域待测IPv6地址;将区域待测IPv6地址与活跃IPv6地址表进行比对,当有重复IPv6地址时,则在区域待测IPv6地址中剔除重复的IPv6地址,得到第次迭代的区域待测目标IPv6地址;设置第次迭代的探测奖惩量为0;将第次迭代的探测奖惩量减去重复的IPv6地址的数量,更新第次迭代的探测奖惩量;根据概率,利用玻尔兹曼公式进行探测资源分配,得到第次迭代的区域探测资源。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对第次迭代的区域待测目标IPv6地址发送ICMPv6探测包,判断该地址是否为活跃地址,得到判断结果;当判断结果为活跃IPv6地址时,探测奖惩量自加1更新探测奖惩量,区域待测目标地址为活跃IPv6地址,得到第次迭代的探测奖惩量和第次迭代的活跃IPv6地址。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在空间树构建的同时计算区域的种子密度;当区域的种子密度超过预定密度阈值,则扫描区域的所有地址,并将区域对应的叶子节点从空间树中移除。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
统计第次迭代的区域待测目标IPv6地址的区域数量,当区域数量小于预定区域数量阈值时,迭代停止;在活跃IPv6地址表中随机选择预定数量的活跃IPv6地址,将IPv6地址的128位地址以半字节为单位进行划分,将活跃IPv6地址其定义为32维地址向量,将两个32维地址向量的低16维进行交叉互换得到新的IPv6地址,新的IPv6地址组成新IPv6种子地址;根据新IPv6种子地址构建空间树;在迭代过程中,对区域待测目标地址在高16维进行变异得到新的区域待测目标IPv6地址;利用分配到的探测资源对新的区域待测目标IPv6地址进行探测。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取预设IPv6种子地址以及预定的总资源阈值。
根据预设IPv6种子地址,利用层次分裂聚类算法,得到空间树;空间树的每一个叶子节点代表地址空间的一个区域。
根据区域中IPv6种子地址的密度进行首次探测资源分配,得到区域探测资源;根据区域探测资源对区域进行首次探测,得到活跃IPv6地址、探测奖惩量和首次的区域扫描期望奖励;首次的区域扫描期望奖励由探测奖惩量确定。
当资源数量满足预先设置的迭代输出条件时,迭代停止。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据预设IPv6种子地址生成一个包含整个IPv6地址空间的根节点;从根节点开始向下进行节点分裂,得到分裂节点;分裂节点包含两个节点,其中一个节点为包含所有的种子地址的非叶子节点,另一个为R类型节点;R类型节点包含IPv6地址空间中剔除兄弟节点包含的地址空间后的剩余地址空间;非叶子节点在节点熵值大于预设阈值的维度向下进行分裂,生成孩子节点,同时添加一个R类型节点作为兄弟节点,直至完成空间树的构建。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据第次迭代的区域扫描期望奖励,利用soft-max算法,得到区域被探测的概率;根据区域中包含的预设IPv6种子地址和概率,生成第次迭代的区域待测IPv6地址;将区域待测IPv6地址与活跃IPv6地址表进行比对,当有重复IPv6地址时,则在区域待测IPv6地址中剔除重复的IPv6地址,得到第次迭代的区域待测目标IPv6地址;设置第次迭代的探测奖惩量为0;将第次迭代的探测奖惩量减去重复的IPv6地址的数量,更新第次迭代的探测奖惩量;根据概率,利用玻尔兹曼公式进行探测资源分配,得到第次迭代的区域探测资源。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对第次迭代的区域待测目标IPv6地址发送ICMPv6探测包,判断该地址是否为活跃地址,得到判断结果;当判断结果为活跃IPv6地址时,探测奖惩量自加1更新探测奖惩量,区域待测目标地址为活跃IPv6地址,得到第次迭代的探测奖惩量和第次迭代的活跃IPv6地址
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在空间树构建的同时计算区域的种子密度;当区域的种子密度超过预定密度阈值,则扫描区域的所有地址,并将区域对应的叶子节点从空间树中移除。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
统计第次迭代的区域待测目标IPv6地址的区域数量,当区域数量小于预定区域数量阈值时,迭代停止;在活跃IPv6地址表中随机选择预定数量的活跃IPv6地址,将IPv6地址的128位地址以半字节为单位进行划分,将活跃IPv6地址其定义为32维地址向量,将两个32维地址向量的低16维进行交叉互换得到新的IPv6地址,新的IPv6地址组成新IPv6种子地址;根据新IPv6种子地址构建空间树;在迭代过程中,对区域待测目标地址在高16维进行变异得到新的区域待测目标IPv6地址;利用分配到的探测资源对新的区域待测目标IPv6地址进行探测。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种IPv6地址的动态探测方法,其特征在于,所述方法包括:
获取预设IPv6种子地址以及预定的总资源阈值;
根据所述预设IPv6种子地址,利用层次分裂聚类算法,得到空间树;所述空间树的每一个叶子节点代表地址空间的一个区域;
根据所述区域中IPv6种子地址的密度进行首次探测资源分配,得到区域探测资源;根据所述区域探测资源对所述区域进行首次探测,得到活跃IPv6地址、探测奖惩量和首次的区域扫描期望奖励;所述首次的区域扫描期望奖励由所述探测奖惩量确定;
当所述资源数量满足预先设置的迭代输出条件时,迭代停止。
2.根据权利要求1所述的方法,其特征在于,空间树的每一个叶子节点代表地址空间的一个区域;根据所述预设IPv6种子地址,利用层次分裂聚类算法,得到空间树,包括:
根据所述预设IPv6种子地址生成一个包含整个IPv6地址空间的根节点;
从所述根节点开始向下进行节点分裂,得到分裂节点;所述分裂节点包含两个节点,其中一个节点为包含所有的种子地址的非叶子节点,另一个为R类型节点;所述R类型节点包含IPv6地址空间中剔除兄弟节点包含的地址空间后的剩余地址空间;
所述非叶子节点在节点熵值大于预设阈值的维度向下进行分裂,生成孩子节点,同时添加一个R类型节点作为兄弟节点,直至完成所述空间树的构建。
6.根据权利要求1所述的方法,其特征在于,根据所述预设IPv6种子地址,利用层次分裂聚类算法,得到空间树;所述空间树的每一个叶子节点代表地址空间的一个区域,还包括:
在空间树构建的同时计算区域的种子密度;
当所述区域的种子密度超过预定密度阈值,则扫描所述区域的所有地址,并将所述区域对应的所述叶子节点从所述空间树中移除。
在所述活跃IPv6地址表中随机选择预定数量的活跃IPv6地址,将所述IPv6地址的128位地址以半字节为单位进行划分,将所述活跃IPv6地址其定义为32维地址向量,将两个32维地址向量的低16维进行交叉互换得到新的IPv6地址,所述新的IPv6地址组成新IPv6种子地址;
根据所述新IPv6种子地址构建空间树;
在迭代过程中,对所述区域待测目标地址在高16维进行变异得到新的区域待测目标IPv6地址;利用分配到的探测资源对新的区域待测目标IPv6地址进行探测。
8.一种IPv6地址的动态探测装置,其特征在于,所述装置包括:
预设IPv6种子地址获取模块:用于获取预设IPv6种子地址以及预定的总资源阈值;
空间树构建模块:用于根据所述预设IPv6种子地址,利用层次分裂聚类算法,得到空间树;所述空间树的每一个叶子节点代表地址空间的一个区域;
首次探测模块:用于根据所述区域中IPv6种子地址的密度进行首次探测资源分配,得到区域探测资源;根据所述区域探测资源对所述区域进行首次探测,得到活跃IPv6地址、探测奖惩量和首次的区域扫描期望奖励;所述首次的区域扫描期望奖励由所述探测奖惩量确定;
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110065886.8A CN112398969B (zh) | 2021-01-19 | 2021-01-19 | IPv6地址的动态探测方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110065886.8A CN112398969B (zh) | 2021-01-19 | 2021-01-19 | IPv6地址的动态探测方法、装置及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112398969A CN112398969A (zh) | 2021-02-23 |
CN112398969B true CN112398969B (zh) | 2021-03-19 |
Family
ID=74625311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110065886.8A Active CN112398969B (zh) | 2021-01-19 | 2021-01-19 | IPv6地址的动态探测方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112398969B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282805B (zh) * | 2021-06-24 | 2022-04-22 | 中国人民解放军国防科技大学 | IPv6地址模式挖掘方法、装置、电子设备及存储介质 |
CN113746947B (zh) * | 2021-07-15 | 2022-05-06 | 清华大学 | 基于强化学习的IPv6活跃地址探测方法和装置 |
CN115102922A (zh) * | 2022-04-25 | 2022-09-23 | 国家计算机网络与信息安全管理中心山东分中心 | 一种基于多地址比对结果扩展的IPv6活跃地址探测方法 |
CN115208800B (zh) * | 2022-09-16 | 2023-01-03 | 清华大学 | 基于强化学习的全互联网端口扫描方法及装置 |
CN118381821B (zh) * | 2024-06-26 | 2024-08-16 | 中国人民解放军国防科技大学 | IPv6网络边缘探测方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108924012A (zh) * | 2018-08-24 | 2018-11-30 | 赛尔网络有限公司 | IPv6域名服务器活跃度检测的方法、设备、系统及介质 |
CN109150655A (zh) * | 2018-07-25 | 2019-01-04 | 赛尔网络有限公司 | 一种IPv4防火墙IPv6绕过的检测方法 |
CN109905497A (zh) * | 2019-03-05 | 2019-06-18 | 长沙学院 | 一种IPv6活跃地址动态发现方法 |
CN111432043A (zh) * | 2020-03-09 | 2020-07-17 | 清华大学 | 基于密度的动态IPv6地址探测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9436917B2 (en) * | 2013-02-05 | 2016-09-06 | Cisco Technology, Inc. | Accelerating learning by sharing information between multiple learning machines |
-
2021
- 2021-01-19 CN CN202110065886.8A patent/CN112398969B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109150655A (zh) * | 2018-07-25 | 2019-01-04 | 赛尔网络有限公司 | 一种IPv4防火墙IPv6绕过的检测方法 |
CN108924012A (zh) * | 2018-08-24 | 2018-11-30 | 赛尔网络有限公司 | IPv6域名服务器活跃度检测的方法、设备、系统及介质 |
CN109905497A (zh) * | 2019-03-05 | 2019-06-18 | 长沙学院 | 一种IPv6活跃地址动态发现方法 |
CN111432043A (zh) * | 2020-03-09 | 2020-07-17 | 清华大学 | 基于密度的动态IPv6地址探测方法 |
Non-Patent Citations (2)
Title |
---|
《Towards the Construction of Global IPv6 Hitlist and Efficient Probing of IPv6 Address Space》;Guanglei Song,et al.;《 2020 IEEE/ACM 28th International Symposium on Quality of Service (IWQoS)》;20201006;全文 * |
《基于种子地址的IPv6地址探测技术综述》;李果等;《电信科学》;20201123;第35卷(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112398969A (zh) | 2021-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112398969B (zh) | IPv6地址的动态探测方法、装置及计算机设备 | |
CN111432043B (zh) | 基于密度的动态IPv6地址探测方法 | |
Hou et al. | 6Hit: A reinforcement learning-based approach to target generation for Internet-wide IPv6 scanning | |
Feige et al. | Learning and inference in the presence of corrupted inputs | |
Rahwan et al. | A hybrid algorithm for coalition structure generation | |
CN113077097A (zh) | 一种基于深度时空相似性的空气质量预测方法 | |
CN113282805B (zh) | IPv6地址模式挖掘方法、装置、电子设备及存储介质 | |
Ribeiro et al. | Efficient parallel subgraph counting using g-tries | |
CN111416797A (zh) | 改进天牛群算法优化正则化极限学习机的入侵检测方法 | |
Li et al. | Dynamic community detection algorithm based on incremental identification | |
CN115755954A (zh) | 巡检路径规划方法、系统、计算机设备及存储介质 | |
CN107240028B (zh) | 一种Fedora系统组件复杂网络中的重叠社区检测方法 | |
Edunov et al. | Generating synthetic social graphs with darwini | |
Hart | Evolutionary pattern search algorithms for unconstrained and linearly constrained optimization | |
Pavlidis et al. | Intelligent Client Selection for Federated Learning using Cellular Automata | |
CN115730723A (zh) | 一种波浪能场选址的综合评价方法 | |
CN115237797A (zh) | 一种基于覆盖率制导的模糊测试方法和装置 | |
Zhang et al. | Surrogate-assisted memetic algorithm with adaptive patience criterion for computationally expensive optimization | |
Martín et al. | Approximating nondominated sets in continuous multiobjective optimization problems | |
Elsässer et al. | A simple graph-theoretic model for selfish restricted scheduling | |
Lin et al. | Computing the diameters of huge social networks | |
Schmidt et al. | A depth-first approach to target-value search | |
CN114157637B (zh) | IPv6地址扫描方法、装置、计算机设备及存储介质 | |
Spall et al. | Some theoretical comparisons of stochastic optimization approaches | |
PERON | An experimental evaluation of triangle counting algorithms with random graphs in hierarchical memory architectures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |