CN116366603A - 一种活跃IPv6地址的确定方法及装置 - Google Patents
一种活跃IPv6地址的确定方法及装置 Download PDFInfo
- Publication number
- CN116366603A CN116366603A CN202211623097.2A CN202211623097A CN116366603A CN 116366603 A CN116366603 A CN 116366603A CN 202211623097 A CN202211623097 A CN 202211623097A CN 116366603 A CN116366603 A CN 116366603A
- Authority
- CN
- China
- Prior art keywords
- value
- address
- nibbles
- vector
- determining
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种活跃IPv6地址的确定方法及装置,用以提升IPv6地址判活的效率和成功率。该方法包括:依次从多个IPv6地址前缀中提取位于第一位置上的半字节,根据多个半字节的熵值确定其所属的集合;集合包括的其他任一位置上的半字节的熵值与第一位置上半字节的熵值之间的差值小于第一预设值;基于确定的集合,分别将多个地址前缀表征为向量;其中,任一地址前缀的向量在任一位置上的取值用于表征任一地址前缀在对应位置上的半字节所属的集合;依次从多个向量中抽取位于第二位置上的取值,当任一向量在第二位置上的取值为第一值,且抽取得到的多个取值中第一值所占的比例大于第二预设值时,确定任一向量对应的地址为活跃地址。
Description
技术领域
本申请涉及网络安全领域,尤其涉及一种活跃IPv6地址的确定方法及装置。
背景技术
目前,为了保障网络的安全运行以及用户的信息和资产安全,需要各大网络安全公司及时掌握互联网整体的安全风险情况,并基于掌握的风险情况调整防护措施,以提升网络运行的安全性。为了掌握互联网的安全风险情况,相关技术中提出了通过检测安全漏洞等方式来发现非法活动的主机以及存在安全漏洞的设备等,为了准确定位存在安全漏洞的设备,首先需要尽可能全面地发现互联网中活跃的设备,也就是定位活跃设备的IP地址。
对于以往的IPv4地址的判活,相关技术中提出了通过穷举扫描的方式来确定地址是否活跃。但是针对目前的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为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本申请下述实施例中,“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。以及,除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。例如,第一任务执行设备和第二任务执行设备,只是为了区分不同的任务执行设备,而并不是表示这两种任务执行设备的优先级或者重要程度等的不同。在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
由于IPv6地址的数量庞大且一个IPv6地址包括32个半字节,所以应用于IPv4地址判活的穷举扫描方法对于IPv6地址并不适用,因此目前对于IPv6的活跃判断一直是个难题。然而,由于大量的IPv6地址前缀被分配给不同的互联网服务商,因此对于一个IPv6地址来说,其地址前缀可以表明该IPv6地址所属的服务商。比如,一个IPv6地址包括32个半字节,其地址前缀为前16位半字节,来源于同一服务商的IPv6地址的前缀相同或相似。基于此,本申请提出提取批量获取的多个IPv6地址的地址前缀,根据提取到的多个地址前缀之间的相似度来判断地址前缀所属的IPv6地址是否为活跃地址。在确定多个地址前缀之间的相似度时,本申请提出首先纵向获取每个地址前缀在同一位置上的半字节,根据每个位置上的多个半字节的熵值对多个地址前缀进行分段,并采用分段的结果将每个地址前缀简化表征为向量。再次纵向获取得到的每个向量在同一位置上的取值,当确定任一位置上得到的多个取值中某一个取值所占的比例较大时,则可以确定该取值所属向量对应的IPv6地址为活跃地址。本申请通过计算每个位置上的多个半字节的熵值来简化IPv6地址前缀,进而再通过简化得到的向量在每个位置上的实际取值来确定地址前缀的相似度,从而确定地址的活跃性。本申请的方案不仅能够提升IPv6地址判活的准确性,并且其中简化地址前缀的步骤还能够提高IPv6地址的判活过程的效率。
下面对本申请提出的方案进行具体介绍。参见图1,为本申请实施例提供的一种活跃IPv6地址的确定方法流程图。需要说明的是,本申请对于执行活跃IPv6地址确定方法的执行主体不作限定,比如可以由电脑、手机等终端设备来执行,也可以由服务器、服务器集群、处理芯片等具有计算功能的电子设备来执行,还可以由云端的计算平台来执行,本申请对此不作限定。图1所示的方法流程具体包括:
101,获取待判活的多个IPv6地址,提取每个IPv6地址的地址前缀得到多个地址前缀。
示例性地,一个IPv6地址可以为:FC00:0000:130F:0000:0000:09C0:876A:130B,那么该IPv6地址的地址前缀即为:FC00:0000:130F:0000。
102,依次提取多个地址前缀中位于第一位置上的半字节,根据提取的多个半字节的熵值确定第一位置上的多个半字节所属的集合。
其中,第一位置为一个地址前缀包括的16个位置中的任一位置。在第一位置所属的集合中,除第一位置外的其他任一位置上的多个半字节的熵值与第一位置上的多个半字节的熵值之间的差值小于第一预设值。比如,集合中包括位置A上的多个半字节A和位置B上的多个半字节B,其中,位置A和位置B相邻,多个半字节A的熵值为熵值A,多个半字节B的熵值为熵值B,熵值A和熵值B之间的差值小于第一预设值。即,本申请提出将熵值接近且相邻的位置的半字节划分到一个集合中。
举例来说,参见图2中的(a),示例性地展示了四个地址前缀。依次提取这四个地址前缀在同一位置上的半字节,比如可以参见图2中的(b),提取了位置1-位置16的半字节。进一步地,计算每个位置上半字节的熵值,若位置1、位置2和位置3分别对应的熵值相近(也就是说三个熵值中任意两个熵值之间的差值小于第一预设值)且这三个位置相邻,则可以将位置1-位置3上的半字节划分到一个集合(集合A)中,比如可以参见图2中的(c),从而确定了每个位置上的半字节所属的集合。
103,基于确定的至少一个集合,分别将多个地址前缀表征为向量。
其中,任一地址前缀的向量在任一位置上的取值用于表征该地址前缀在对应位置上的半字节所属的集合。继续上述图2的举例,参见图3,为图2所示的第一个地址前缀表征的向量。可以看出图3所示的向量在第一位置上的取值对应第一个地址前缀在位置1、位置2和位置3所属的集合。
104,依次从得到的多个向量中抽取位于第二位置上的取值,当任一向量在第二位置上的取值为第一值,且抽取得到的多个取值中第一值所占的比例大于第二预设值时,确定任一向量对应的地址前缀所属的IPv6地址为活跃地址。
其中,第二位置为所述任一向量的多个位置中的任一位置。可选地,可以获取多个向量在同一位置上的取值,在获取的多个取值中某一个取值占比大于第二预设值时,可以确定包含该取值的向量对应的地址前缀所属的IPv6地址为活跃地址。比如,参见图3所示的向量,若该向量中每一个位置上的取值在其他向量相同位置上的取值中所占的比例均大于第二预设值,则可以确定该向量对应的地址前缀所属的IPv6地址为活跃地址。
基于上述方案,本申请提出通过多个地址前缀在同一位置上的多个半字节的熵值,将多个地址前缀纵向分段,并基于分段的结果将地址前缀简化为向量,通过向量在每个位置上的取值来判断多个向量之间的相似度,从而确定多个地址前缀之间的相似度,进而确定活跃的IPv6地址。相较于目前穷举扫描的判活方法,本申请的方案通过判断地址前缀之间的相似度来判断IPv6地址是否活跃,便于实施且成功率更高,并且在判断地址前缀相似度之前还会通过每个位置上的半字节的熵值将地址前缀进行简化,进一步提升了地址判活的效率。
本申请提出的地址判活方案中,在获取到多个地址前缀之后,首先将地址前缀简化表征为向量,然后根据向量中每个位置的取值确定向量之间的相似度,从而对应确定地址前缀之间的相似度,进而判断地址是否为活跃地址。下面结合实施例对于本申请提出的简化表征向量和确定地址前缀之间的相似度的过程进行介绍。
在一种可能实现的方式中,在将多个地址前缀简化表征为向量时,可以根据多个地址前缀在任意一个位置上的多个半字节的熵值,确定任一位置上的多个半字节所属的集合。可选地,还可以根据任一集合中包括的半字节的取值,确定该集合中每个半字节所属的类别簇。最后,可以基于针对任一地址前缀,可以根据该地址前缀中每个半字节所属的集合以及所属的类别簇,将该地址前缀表征为向量。
下面对确定任一位置上的多个半字节所属的集合的过程进行介绍:
可选地,可以分别获取多个地址前缀在某一位置上的半字节,将每个位置上获取的半字节称为一组半字节。进一步地,可以计算每组半字节包括的多个半字节的熵值。比如可以采用如下公式(1)来计算任一位置上的半字节的熵值:
H(X)=-logkmaxP(Xi); 公式(1)
其中,H(X)表示任一位置上的多个半字节的熵值,k表示该任一位置上的半字节的数量,P(Xi)表示任一半字节X取值为Xi的概率。
可选地,还可以进一步确定每一组半字节的熵值大于第一预设熵值且小于第二预设熵值,即可以将无序程度过高和过低的一组半字节剔除。其中,无序程度过低则表示该组半字节基本相同,无序程度过高则表示该组半字节取值相差较大。比如计算得到的熵值Hx应:再进一步地,可以根据熵值确定每组半字节所属的集合,比如可以采用上述步骤102所介绍的方法确定每组半字节所属的集合,每个集合内的任意两组半字节的熵值之间的差值小于第一预设值。
在确定每组半字节所属的集合之后,下面对确定每个集合中包括的半字节所属的类别簇的过程进行介绍:
作为一种可选的方式,可以依据每个集合中包括的半字节的取值,将取值相近的半字节划分到一个类别簇中。可选地,还可以通过预先设定好的聚类算法对一个集合中的半字节进行聚类,确定每个半字节所属的类别簇。例如,可采用基于密度可达的空间聚类(Density-Based Spatial Clustering of Applications with Noise,DBSCAN)算法来对一个集合中的半字节进行聚类:第一步,可以根据该算法预设的邻域参数确定集合中所有可以作为核心点的半字节。第二步,可以从确定的核心点中随机选取一个作为对象,从剩余的核心点中确定该对象密度可达的核心点作为一个候选簇。第三步,重复随机选取对象的步骤,直至第一步中确定的所有核心点均有所属的候选簇,将这种情况下的候选簇作为聚类结果。
在确定任一地址前缀中的每一个半字节所属的集合和类别簇之后,即可以将该任一地址前缀表征为向量,具体的表征过程可以参见上述步骤103介绍的过程,表征结果可以参见图3。在将每个地址前缀均表征为向量之后,可以进一步根据向量在每个位置上的取值,确定向量对应的地址是否为活跃地址。下面,对于通过向量取值判断活跃地址的过程进行介绍。
在一些实施例中,可以从多个向量中以此抽取位于第二位置上的取值,在确定某一个向量在第二位置上的取值为第一值,且抽取得到的第二位置上的多个取值中第一值所占的比例大于第二预设值时,确定该向量对应的IPv6地址为活跃地址。在另一些实施例中,还可以从多个向量中识别出至少一个向量,其中至少一个向量在第二位置上的取值均为第一值。进一步地,可以依次抽取至少一个向量在第二位置的前一位置上的取值,确定某一个向量在第二位置的前一位置上的取值为第二值。再进一步地,可以在抽取到的至少一个取值中第二值所占比例大于第三预设值时,确定该向量对应的IPv6地址为活跃地址。需要说明的是,上述两个实施例可以分开单独实现地址的判活,也可以共同实现地址的判活,本申请对此不作限定。
示例性地,在根据向量在每个位置上的取值对地址进行判活时,还可以采用基于动态剪枝的关联规则算法(比如Apriori算法)来实现,比如,根据关联规则算法,可以计算向量每一个位置上的取值的支持度和置信度,将支持度和置信度均满足预设要求的向量对应的地址确定为活跃地址。可选地,为了进一步提升地址判活的效率,本申请还提出在判活的过程中进行动态剪枝,即若判断某一个向量的某一个位置上的取值的支持度不满足要求(或者置信度不满足要求),则可以直接删除该向量,从而提升判活的效率。下面,对于基于动态剪枝的关联规则算法来实现地址判活的过程进行具体介绍:
步骤一:生成结构树的根节点。
可选地,可以统计多个向量在第一个位置上的取值(value)和每个取值出现的次数(count),根据任一取值的value和count生成根节点。比如,第i个根节点可以表示为:node_ai=(value_ai,count_ai)。
步骤二:生成结构树的子节点。
以第二层子节点为例:可以统计多个向量在第二个位置上的取值(value)和每个取值出现的次数(count)以及其父节点(第二层子节点的父节点即为根节点)的取值。比如,第j个第二层子节点可以表示为:node_bi=(value_bi,count_bi),并记录在其父节点下。
步骤三:计算支持度以及剪枝。
可选地,可以采用如下公式(2)计算第i层节点p的支持度:
其中,supportp为第i层节点p的支持度,count_pi为第i层节点p的取值出现的次数,counti为第i层所有的取值出现的次数的总和。
可选地,在确定节点p的支持度小于第二预设值时,可以剪掉节点p所在的分支,即,将节点p的父节点、子节点均删除。
步骤四,计算置信度和剪枝。
可选地,可以采用如下公式(3)计算第y层节点i的置信度:
其中,confidence为第y层节点i的置信度,count_yi为在第y层的上一层取值为某一固定值的情况下第y层节点i的取值出现的次数,为第y层的上一层取值为某一固定值的情况下第y层所有取值出现的次数的总和。
可选地,在确定第y层节点i的置信度小于第三预设值时,可以剪掉节点i所在的分支,即,将节点i的父节点、子节点均删除。
通过上述步骤一—步骤四,对于每一条分支,在确定其中每个节点的支持度和置信度均满足阈值限制时,可以将该条分支对应的向量所表征的IPv6地址作为活跃地址。
基于与上述方法的同一构思,参见图4,为本申请实施例提供的一种活跃IPv6地址的确定装置400,装置400用于实现上述方法中的各个步骤,为了避免重复,此处不再进行赘述。装置400包括:
获取单元401,用于依次从多个IPv6地址的地址前缀中提取位于第一位置上的半字节;
处理单元402,用于根据提取出的多个半字节的熵值确定所述第一位置上的多个半字节所属的集合;所述集合包括的其他位置上的半字节的熵值与所述第一位置上的多个半字节的熵值之间的差值小于第一预设值;
所述处理单元402,还用于基于确定的至少一个集合,分别将多个地址前缀表征为向量;其中,任一地址前缀的向量在任一位置上的取值用于表征所述任一地址前缀在对应位置上的半字节所属的集合;
所述获取单元401,还用于依次从得到的多个向量中抽取位于第二位置上的取值;
所述处理单元402,还用于当任一向量在第二位置上的取值为第一值,且抽取得到的多个取值中所述第一值所占的比例大于第二预设值时,确定所述任一向量对应的地址前缀所属的IPv6地址为活跃地址。
在一些实施例中,所述处理单元402,还用于:
从所述多个向量中识别出至少一个向量;所述至少一个向量在所述第二位置上的取值为第一值;
指示所述获取单元401依次从所述至少一个向量中抽取位于第二位置的前一位置上的取值,确定所述任一向量在第二位置的前一位置的取值为第二值;
所述处理单元402,在确定所述任一向量对应的地址前缀所属的IPv6地址为活跃地址时,具体用于:
当抽取得到的多个取值中所述第一值所占的比例大于第二预设值,且抽取得到的至少一个取值中第二值所占的比例大于第三预设值时,确定所述任一向量对应的地址前缀所属的IPv6地址为活跃地址。
在一些实施例中,所述处理单元402,在根据提取出的多个半字节的熵值确定所述第一位置上的多个半字节所属的集合时,具体用于:
针对所述第一位置上的多个半字节的取值,计算所述第一位置上的多个半字节的熵值;
确定所述熵值大于第一预设熵值且小于第二预设熵值;
根据所述熵值,确定所述第一位置上的多个半字节所属的集合。
在一些实施例中,所述处理单元402,还用于:
根据所述集合中包括的半字节的取值,确定所述集合中每个半字节所属的类别簇;
所述处理单元402,在基于确定的至少一个集合,分别将多个地址前缀表征为向量时,具体用于:
根据所述任一地址前缀中每个位置上的半字节所属的集合,以及所述每个位置上的半字节所属的类别簇,将所述任一地址前缀表征为向量;
其中,所述任一地址前缀的向量在任一位置上的取值用于表征所述任一地址前缀在对应位置上的半字节所属的集合和类别簇。
图5示出了本申请实施例提供的电子设备500结构示意图。本申请实施例中的电子设备500还可以包括通信接口503,该通信接口503例如是网口,电子设备可以通过该通信接口503传输数据。
在本申请实施例中,存储器502存储有可被至少一个控制器501执行的指令。至少一个控制器501通过执行存储器502存储的指令,可以用于执行上述方法中的各个步骤,例如,控制器501可以实现上述图4中的获取单元401和处理单元402的功能。
其中,控制器501是电子设备的控制中心,可以利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器502内的指令以及调用存储在存储器502内的数据。可选的,控制器501可包括一个或多个处理单元,控制器501可集成应用控制器和调制解调控制器,其中,应用控制器主要处理操作系统和应用程序等,调制解调控制器主要处理无线通信。可以理解的是,上述调制解调控制器也可以不集成到控制器501中。在一些实施例中,控制器501和存储器502可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
控制器501可以是通用控制器,例如中央控制器(英文:Central ProcessingUnit,简称:CPU)、数字信号控制器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用控制器可以是微控制器或者任何常规的控制器等。结合本申请实施例所公开的数据统计平台所执行的步骤可以直接由硬件控制器执行完成,或者用控制器中的硬件及软件模块组合执行完成。
存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器502可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(英文:Random AccessMemory,简称:RAM)、静态随机访问存储器(英文:Static Random Access Memory,简称:SRAM)、可编程只读存储器(英文:Programmable Read Only Memory,简称:PROM)、只读存储器(英文:Read Only Memory,简称:ROM)、带电可擦除可编程只读存储器(英文:Electrically Erasable Programmable Read-Only Memory,简称:EEPROM)、磁性存储器、磁盘、光盘等等。存储器502是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过对控制器501进行设计编程,例如,可以将前述实施例中介绍的神经网络模型的训练方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行前述的神经网络模型训练方法的步骤,如何对控制器501进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的控制器以产生一个机器,使得通过计算机或其它可编程数据处理设备的控制器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种活跃IPv6地址的确定方法,其特征在于,所述方法包括:
依次从多个IPv6地址的地址前缀中提取位于第一位置上的半字节,根据提取出的多个半字节的熵值确定所述第一位置上的多个半字节所属的集合;所述集合包括的其他位置上的半字节的熵值与所述第一位置上的多个半字节的熵值之间的差值小于第一预设值;
基于确定的至少一个集合,分别将多个地址前缀表征为向量;其中,任一地址前缀的向量在任一位置上的取值用于表征所述任一地址前缀在对应位置上的半字节所属的集合;
依次从得到的多个向量中抽取位于第二位置上的取值,当任一向量在第二位置上的取值为第一值,且抽取得到的多个取值中所述第一值所占的比例大于第二预设值,确定所述任一向量对应的地址前缀所属的IPv6地址为活跃地址。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从所述多个向量中识别出至少一个向量;所述至少一个向量在所述第二位置上的取值为第一值;
依次从所述至少一个向量中抽取位于第二位置的前一位置上的取值,确定所述任一向量在第二位置的前一位置的取值为第二值;
所述当抽取得到的多个取值中所述第一值所占的比例大于第二预设值时,确定所述任一向量对应的地址前缀所属的IPv6地址为活跃地址,包括:
当抽取得到的多个取值中所述第一值所占的比例大于第二预设值,且抽取得到的至少一个取值中第二值所占的比例大于第三预设值时,确定所述任一向量对应的地址前缀所属的IPv6地址为活跃地址。
3.根据权利要求1或2所述的方法,其特征在于,所述根据提取出的多个半字节的熵值确定所述第一位置上的多个半字节所属的集合,包括:
针对所述第一位置上的多个半字节的取值,计算所述第一位置上的多个半字节的熵值;
确定所述熵值大于第一预设熵值且小于第二预设熵值;
根据所述熵值,确定所述第一位置上的多个半字节所属的集合。
4.根据权利要求1或2所述的方法,其特征在于,在根据提取出的多个半字节的熵值确定所述第一位置上的多个半字节所属的集合之后,所述方法还包括:
根据所述集合中包括的半字节的取值,确定所述集合中每个半字节所属的类别簇;
所述基于确定的至少一个集合,分别将多个地址前缀表征为向量,具体包括:
根据所述任一地址前缀中每个位置上的半字节所属的集合,以及所述每个位置上的半字节所属的类别簇,将所述任一地址前缀表征为向量;
其中,所述任一地址前缀的向量在任一位置上的取值用于表征所述任一地址前缀在对应位置上的半字节所属的集合和类别簇。
5.一种活跃IPv6地址的确定装置,其特征在于,所述装置包括:
获取单元,用于依次从多个IPv6地址的地址前缀中提取位于第一位置上的半字节;
处理单元,用于根据提取出的多个半字节的熵值确定所述第一位置上的多个半字节所属的集合;所述集合包括的其他位置上的半字节的熵值与所述第一位置上的多个半字节的熵值之间的差值小于第一预设值;
所述处理单元,还用于基于确定的至少一个集合,分别将多个地址前缀表征为向量;其中,任一地址前缀的向量在任一位置上的取值用于表征所述任一地址前缀在对应位置上的半字节所属的集合;
所述获取单元,还用于依次从得到的多个向量中抽取位于第二位置上的取值;
所述处理单元,还用于当任一向量在第二位置上的取值为第一值,且抽取得到的多个取值中所述第一值所占的比例大于第二预设值时,确定所述任一向量对应的地址前缀所属的IPv6地址为活跃地址。
6.根据权利要求5所述的装置,其特征在于,所述处理单元,还用于:
从所述多个向量中识别出至少一个向量;所述至少一个向量在所述第二位置上的取值为第一值;
指示所述获取单元依次从所述至少一个向量中抽取位于第二位置的前一位置上的取值,确定所述任一向量在第二位置的前一位置的取值为第二值;
所述处理单元,在确定所述任一向量对应的地址前缀所属的IPv6地址为活跃地址时,具体用于:
当抽取得到的多个取值中所述第一值所占的比例大于第二预设值,且抽取得到的至少一个取值中第二值所占的比例大于第三预设值时,确定所述任一向量对应的地址前缀所属的IPv6地址为活跃地址。
7.根据权利要求5或6所述的装置,其特征在于,所述处理单元,在根据提取出的多个半字节的熵值确定所述第一位置上的多个半字节所属的集合时,具体用于:
针对所述第一位置上的多个半字节的取值,计算所述第一位置上的多个半字节的熵值;
确定所述熵值大于第一预设熵值且小于第二预设熵值;
根据所述熵值,确定所述第一位置上的多个半字节所属的集合。
8.根据权利要求5或6所述的装置,其特征在于,所述处理单元,还用于:
根据所述集合中包括的半字节的取值,确定所述集合中每个半字节所属的类别簇;
所述处理单元,在基于确定的至少一个集合,分别将多个地址前缀表征为向量时,具体用于:
根据所述任一地址前缀中每个位置上的半字节所属的集合,以及所述每个位置上的半字节所属的类别簇,将所述任一地址前缀表征为向量;
其中,所述任一地址前缀的向量在任一位置上的取值用于表征所述任一地址前缀在对应位置上的半字节所属的集合和类别簇。
9.一种电子设备,其特征在于,包括:存储器以及控制器;
存储器,用于存储程序指令;
控制器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1-4中任一项所述的方法。
10.一种计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行如权利要求1-4中任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211623097.2A CN116366603A (zh) | 2022-12-16 | 2022-12-16 | 一种活跃IPv6地址的确定方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211623097.2A CN116366603A (zh) | 2022-12-16 | 2022-12-16 | 一种活跃IPv6地址的确定方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116366603A true CN116366603A (zh) | 2023-06-30 |
Family
ID=86910089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211623097.2A Pending CN116366603A (zh) | 2022-12-16 | 2022-12-16 | 一种活跃IPv6地址的确定方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116366603A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116827904A (zh) * | 2023-08-28 | 2023-09-29 | 明阳时创(北京)科技有限公司 | 一种IPv6地址搜索方法、系统、介质及设备 |
-
2022
- 2022-12-16 CN CN202211623097.2A patent/CN116366603A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116827904A (zh) * | 2023-08-28 | 2023-09-29 | 明阳时创(北京)科技有限公司 | 一种IPv6地址搜索方法、系统、介质及设备 |
CN116827904B (zh) * | 2023-08-28 | 2023-11-03 | 明阳时创(北京)科技有限公司 | 一种IPv6地址搜索方法、系统、介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109189991B (zh) | 重复视频识别方法、装置、终端及计算机可读存储介质 | |
CN111090807B (zh) | 一种基于知识图谱的用户识别方法及装置 | |
CN109918498B (zh) | 一种问题入库方法和装置 | |
CN110166344B (zh) | 一种身份标识识别方法、装置以及相关设备 | |
CN111260220B (zh) | 群控设备识别方法、装置、电子设备和存储介质 | |
CN110941424A (zh) | 编译参数优化方法、装置及电子设备 | |
CN111738351A (zh) | 模型训练方法、装置、存储介质及电子设备 | |
CN116366603A (zh) | 一种活跃IPv6地址的确定方法及装置 | |
CN106610977B (zh) | 一种数据聚类方法和装置 | |
CN113315851A (zh) | 域名检测方法、装置及存储介质 | |
Graham et al. | Finding and visualizing graph clusters using pagerank optimization | |
CN115189914A (zh) | 网络流量的应用程序编程接口api识别方法和装置 | |
CN109783805B (zh) | 一种网络社区用户识别方法、装置和可读存储介质 | |
CN107515876B (zh) | 一种特征模型的生成、应用方法及装置 | |
CN111491300A (zh) | 风险检测方法、装置、设备及存储介质 | |
CN108052864A (zh) | 人脸识别方法、应用服务器及计算机可读存储介质 | |
CN107577943A (zh) | 基于机器学习的样本预测方法、装置及服务器 | |
CN110851817A (zh) | 一种终端类型识别方法及装置 | |
CN112839055B (zh) | 面向tls加密流量的网络应用识别方法、装置及电子设备 | |
CN110880035B (zh) | 卷积神经网络的训练方法、装置及结节征象识别方法、装置 | |
CN111783088A (zh) | 一种恶意代码家族聚类方法、装置和计算机设备 | |
CN109992960B (zh) | 一种伪造参数检测方法、装置、电子设备及存储介质 | |
CN112100604A (zh) | 终端设备信息处理方法、装置 | |
CN114021112A (zh) | 密码算法能量分析方法及装置、存储介质及电子设备 | |
CN114329026A (zh) | 图像检索方法、装置、电子设备和计算机可读存储介质 |
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 |