CN112215358B - 一种基于随机森林的ip定位方法及*** - Google Patents
一种基于随机森林的ip定位方法及*** Download PDFInfo
- Publication number
- CN112215358B CN112215358B CN202011424851.0A CN202011424851A CN112215358B CN 112215358 B CN112215358 B CN 112215358B CN 202011424851 A CN202011424851 A CN 202011424851A CN 112215358 B CN112215358 B CN 112215358B
- Authority
- CN
- China
- Prior art keywords
- landmark
- landmarks
- overtime
- random forest
- address
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- 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/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- 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/69—Types of network addresses using geographic information, e.g. room number
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种基于随机森林的IP定位方法及***,解决了现有的IP定位中IP地址数据库准确性不足,无法满足安全领域对IP定位的精度要求。方法包括:设置至少两个探测服务器作为锚点;通过比对至少两个IP地址数据库,获取至少两个地标;对所有锚点和所有地标间进行网络探测,获取所有锚点和所有地标间的时间延迟信息;根据时间延迟信息进行随机森林训练,得到基于随机森林的IP定位模型;将待查询IP地址输入基于随机森林的IP定位模型,得到待查询IP地址的IP地理位置。
Description
技术领域
本发明涉及网络领域,特别是涉及一种基于随机森林的IP定位方法及***。
背景技术
IP定位是根据网络设备的IP地址确定设备的具体地理位置,IP定位功能在定位目标、网络安全领域有着至关重要的作用。在网络安全领域中,发起攻击行为计算机的IP地址应的地理位置是安全态势感知非常重要的信息,需要IP定位来发挥作用。
IP定位最常见的方法是查询IP地址数据库,数据库为用户提供了国家、省、市等相关信息,可以通过现有的几个数据库进行比对,寻找出正确的IP定位信息,常见的IP地址数据库是Maxmind GeoIP2和IP2location。
但是,现有的IP地址数据库虽然为用户提供了相关信息,但是IP地址数据库的准确性不足,没有办法满足安全领域对IP定位的精度要求。
发明内容
本发明的目的是提供一种基于随机森林的IP定位方法及***,利用时间延迟和距离正相关的原理,通过锚点和地标的网络探测得到的每个锚点对地标的时间延迟信息,将时间延迟信息进行随机森林训练得到基于随机森林的IP定位模型,使用基于随机森林的IP定位模型就能通过待查询IP地址定位出IP地理位置,解决了现有的IP定位中IP地址数据库准确性不足,无法满足安全领域对IP定位的精度要求。
本发明第一方面提供一种基于随机森林的IP定位方法,包括:
设置至少两个探测服务器作为锚点,每个锚点具有对应的IP地址及IP地理位置;
通过比对至少两个IP地址数据库,获取至少两个地标,每个地标具有对应的IP地址及IP地理位置;
对所有锚点和所有地标间进行网络探测,获取所有锚点和所有地标间的时间延迟信息;
根据时间延迟信息进行随机森林训练,得到基于随机森林的IP定位模型;
将待查询IP地址输入基于随机森林的IP定位模型,得到待查询IP地址的IP地理位置。
进一步的,对所有锚点和所有地标间进行网络探测,获取所有锚点和所有地标间的时间延迟信息,包括:
对每一个锚点和所有地标间进行网络探测,得到所有锚点到所有地标间的探测时间;
根据探测时间判断是否存在超时回应的超时地标;
若不存在超时地标,则根据探测时间,得到所有锚点和所有地标间的时间延迟信息;
若存在超时地标,则判断超时地标的超时回应次数是否超过第一预置次数;
若未超过第一预置次数,则确定超时地标所处预置区域范围内的区域地标,计算区域地标的探测时间的平均值,将平均值替换为超时地标和对应锚点的探测时间,得到所有锚点和所有地标间的时间延迟信息;
若超过预置次数,通过路由跟踪技术,确定超时地标和对应锚点之间的路由跟踪路径上的路由器,路由器至少为一个;
将路由器代替超时地标进行网络探测,得到所有锚点和所有地标间的时间延迟信息。
进一步的,将所述路由器代替超时地标进行网络探测,得到所有锚点和所有地标间的时间延迟信息,包括:
从路由器中选择距离路由跟踪路径上锚点最近的最近一跳路由器,最近一跳路由器距离超时地标不超过预置跳数;
判断最近一跳路由器与锚点是否能够进行网络探测;
若不能,则将超时地标丢弃,得到所有锚点和超时地标之外的所有地标间的时间延迟信息;
若能,将最近一跳路由器代替超时地标与对应锚点进行网络探测,得到路由器探测时间;
根据路由器探测时间判断是否存在超时回应;
若不存在超时回应,则将路由器探测时间替换为超时地标对应的探测时间,得到所有锚点和所有地标间的时间延迟信息;
若存在超时回应,则判断最近一跳路由器的超时回应次数是否超过第二预置次数;
若未超过第二预置次数,则将路由器探测时间替换为超时地标对应的探测时间,得到所有锚点和所有地标间的时间延迟信息;
若超过第二预置次数,则将超时地标丢弃,得到所有锚点和超时地标之外的所有地标间的时间延迟信息。
进一步的,通过比对至少两个IP地址数据库,获取至少两个地标,包括:
查找至少两个IP地址数据库,得到至少两个IP数据集,每个IP数据集具有相同数量的IP数据,IP数据包括IP地址及IP地理位置;
将所有的IP数据集进行比对,选择出IP地址及IP地理位置相同的一致IP数据,一致IP数据包括至少两个;
根据一致IP数据得到地标集,并地标集中一个地标对应一个一致IP数据。
进一步的,方法还包括:
将地标集分为地标训练集和地标测试集,地标训练集具有N个地标,N为不小于2的正整数,地标测试集包括至少两个测试地标。
进一步的,锚点数量为M,M为不小于2的正整数,
根据时间延迟信息进行随机森林训练,得到基于随机森林的IP定位模型之前,还包括:
根据M个锚点和地标训练集中N个地标,形成N*M的特征矩阵,特征矩阵具有M个特征维度,一个特征维度为一个锚点和N个地标间的时间延迟信息。
进一步的,根据时间延迟信息进行随机森林训练,得到基于随机森林的IP定位模型,包括:
将每一个锚点和N个地标间的时间延迟信息,作为一个特征维度,得到M个特征维度;
根据M个特征维度,得到N*M的特征矩阵;
根据N*M的特征矩阵进行随机森林训练,得到基于随机森林的IP定位模型。
进一步的,根据N*M的特征矩阵进行随机森林训练,得到基于随机森林的IP定位模型之后,还包括:
获取地标测试集中测试地标的测试IP数据,解析测试IP数据得到测试IP地址及测试IP地理位置;
将测试IP地址输入基于随机森林的IP定位模型,得到定位IP地理位置;
根据测试IP地理位置与定位IP地理位置,统计出测试正确率;
若测试正确率未达到阈值,则重新训练基于随机森林的IP定位模型;
若测试正确率达到阈值,则保留基于随机森林的IP定位模型。
进一步的,IP地理位置包括国家、省及城市信息;超时地标所处预置区域范围为超时地标所处的城市。
本发明第二方面提供一种基于随机森林的IP定位***,包括:
锚点设置模块、地标获取模块、网络探测模块、模型训练模块及定位模块
锚点设置模块执行以上第一方面中基于随机森林的IP定位方法设置至少两个探测服务器作为锚点,每个锚点具有对应的IP地址及IP地理位置;
地标获取模块执行以上第一方面中基于随机森林的IP定位方法获取至少两个地标,每个地标具有对应的IP地址及IP地理位置;
网络探测模块执行以上第一方面中基于随机森林的IP定位方法探测所有锚点和所有地标间的时间延迟信息;
模型训练模块执行以上第一方面中基于随机森林的IP定位方法训练得到基于随机森林的IP定位模型;
定位模块执行以上第一方面中基于随机森林的IP定位方法通过基于随机森林的IP定位模型得到待查询IP地址的IP地理位置。
由上可见,本发明中基于随机森林的IP定位方法通过设置至少两个探测服务器作为锚点,每个锚点具有对应的IP地址及IP地理位置,通过比对至少两个IP地址数据库,获取至少两个地标,每个地标具有对应的IP地址及IP地理位置,对所有锚点和所有地标间进行网络探测,获取所有锚点和所有地标间的时间延迟信息,根据时间延迟信息进行随机森林训练,得到基于随机森林的IP定位模型,将待查询IP地址输入基于随机森林的IP定位模型,得到待查询IP地址的目标IP地理位置。利用时间延迟和距离正相关的原理,通过锚点和地标的网络探测得到的每个锚点对地标的时间延迟信息,将时间延迟信息进行随机森林训练得到基于随机森林的IP定位模型,使用基于随机森林的IP定位模型就能通过待查询IP地址定位出IP地理位置,解决了现有的IP定位中IP地址数据库准确性不足,无法满足安全领域对IP定位的精度要求。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的基于随机森林的IP定位方法的一个实施例的流程示意图;
图2为本发明提供的基于随机森林的IP定位方法的另一个实施例的流程示意图;
图3为本发明提供的锚点和地标的示意图;
图4为本发明提供的路由跟踪路径的路由器的示意图;
图5为本发明提供的基于随机森林的IP定位方法的又一个实施例的流程示意图;
图6为本发明提供的基于随机森林的IP定位***的一个实施例的结构示意图。
具体实施方式
本发明的核心是提供一种基于随机森林的IP定位方法及***,利用时间延迟和距离正相关的原理,通过锚点和地标的网络探测得到的每个锚点对地标的时间延迟信息,将时间延迟信息进行随机森林训练得到基于随机森林的IP定位模型,使用基于随机森林的IP定位模型就能通过待查询IP地址定位出IP地理位置,解决了现有的IP定位中IP地址数据库准确性不足,无法满足安全领域对IP定位的精度要求。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,当元件被称为“固定于”或“设置于”另一个元件上,它可以直接在另一个元件上或者间接设置在另一个元件上;当一个元件被称为是“连接于”另一个元件,它可以是直接连接到另一个元件或间接连接至另一个元件上。
需要理解的是,术语“长度”、“宽度”、“上”、下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”、“若干个”的含义是两个或两个以上,除非另有明确具体的限定。
须知,本说明书附图所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本申请可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本申请所能产生的功效及所能达成的目的下,均应仍落在本申请所揭示的技术内容得能涵盖的范围内。
本申请实施例采用递进的方式撰写。
请参阅图1,本发明实施例提供了一种基于随机森林的IP定位方法,包括:
101、设置至少两个探测服务器作为锚点,每个锚点具有对应的IP地址及IP地理位置;
本实施例中,探测服务器是具有真实有效的IP地址和IP地理位置的,并且可用于执行网络探测的服务器设备。探测服务器的数量至少为两个,例如,一般情况下,需要在在全国范围内部署M(M>=250)个探测服务器,我国有34个省级行政区(包括23个省、5个自治区、4个直辖市、2个特别行政区),在每个省的运营商的机房中(分别为***、中国电信、***),配置3个探测服务器,即每个省级行政区有9个探测服务器,因有的省级行政区不方便架设探测服务器,因此探测服务器的数量为M(M>=250)个。将这M个固定的探测服务器作为锚点。而每个锚点具有对应的IP地址及IP地理位置。
需要说明的是,IP地理位置具体可以包括国家、省及城市等信息。
102、通过比对至少两个IP地址数据库,获取至少两个地标,每个地标具有对应的IP地址及IP地理位置;
本实施例中,地标是通过IP地址数据库数据库获取到的真实有效IP地址和IP地理位置(国家、省、市等信息)的主机设备,常见的IP地址数据库有Maxmind GeoIP2和IP2location。
可选的,具体的地标获取方式为:
1、查找至少两个IP地址数据库,得到至少两个IP数据集,每个IP数据集具有相同数量的IP数据,IP数据包括IP地址及IP地理位置;
例如,选择Maxmind GeoIP2和IP2location两个进行比对,在两个数据库中随机选取两个IP数据集,每个IP数据集都具有500万个IP数据,IP数据包括IP地址及IP地理位置;
2、将所有的IP数据集进行比对,选择出IP地址及IP地理位置相同的一致IP数据,一致IP数据包括至少两个;
例如,将两个IP数据集中各500万个IP数据进行比对,选择出都具有的IP地址,并且IP地址对应的IP地理位置相同的一致IP数据,假设为50万个。
3、根据一致IP数据得到地标集,并地标集中一个地标对应一个一致IP数据。
例如,将50万个一致IP数据所对应的主机设备作为地标,即得到50万个地标的地标集,为了更好的获取全国范围内的数据,需要地标集中的地标是包含了34个省、自治区和200个城市的已获取的IP地址和真实IP地理位置。
可选的,为了模型训练的要求,还可以将地标集分为地标训练集和地标测试集,地标训练集具有N个地标,N为不小于2的正整数,地标测试集包括至少两个测试地标,例如,将地标集中70%的作为地标训练集,将地标集中的其他30%的作为地标测试集。
103、对所有锚点和所有地标间进行网络探测,获取所有锚点和所有地标间的时间延迟信息;
本实施例中,网络探测的具体含义是:数据通过Internet从探测服务器传输到目标主机,目标主机是想要通过IP定位方法得到其IP地理位置的主机设备,即地标。使用一个锚点对所有地标进行网络探测,得到该锚点与所有地标的时间延迟信息,根据距离的远近,网络质量等一系列原因,会影响网络探测的质量,因此,时间延迟信息可以表征该锚点与每一个地标的地理位置关系,将所有锚点都进行网络探测,即可得到所有锚点和所有地标间的时间延迟信息。
104、根据时间延迟信息进行随机森林训练,得到基于随机森林的IP定位模型;
本实施例中,随机森林是机器学***衡的数据比较稳健,可以很好地预测多达几千个解释变量的作用(Breiman 2001b),被誉为当前最好的算法之一。随机森林顾名思义,是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类(对于分类算法),然后看看哪一类被选择最多,就预测这个样本为那一类;
所有锚点和所有地标间的时间延迟信息作为输入样本,使用随机森林进行训练,得到基于随机森林的IP定位模型。
需要说明的是,在该步骤之前,还可以根据M个锚点和地标训练集中N个地标,形成N*M的特征矩阵,特征矩阵具有M个特征维度,一个特征维度为一个锚点和N个地标间的时间延迟信息。
可选的,该步骤104具体的实施过程如下:
(1)、将每一个锚点和N个地标间的时间延迟信息,作为一个特征维度,得到M个特征维度;
(2)根据M个特征维度,得到N*M的特征矩阵;
(3)根据N*M的特征矩阵进行随机森林训练,得到基于随机森林的IP定位模型;
(4)、得到基于随机森林的IP定位模型之后,获取地标测试集中测试地标的测试IP数据,解析测试IP数据得到测试IP地址及测试IP地理位置;
(5)、将测试IP地址输入基于随机森林的IP定位模型,得到定位IP地理位置;
(6)、根据测试IP地理位置与定位IP地理位置,统计出测试正确率;
(7)、若测试正确率未达到阈值,则重新训练基于随机森林的IP定位模型;
(8)、若测试正确率达到阈值,则保留基于随机森林的IP定位模型。
105、将待查询IP地址输入基于随机森林的IP定位模型,得到待查询IP地址的IP地理位置。
本实施例中,在得到了基于随机森林的IP定位模型之后,将待查询IP地址输入基于随机森林的IP定位模型,就能够输出IP定位结果,即待查询IP地址的IP地理位置。
本发明实施例中,利用时间延迟和距离正相关的原理,通过锚点和地标的网络探测得到的每个锚点对地标的时间延迟信息,将时间延迟信息进行随机森林训练得到基于随机森林的IP定位模型,使用基于随机森林的IP定位模型就能通过待查询IP地址定位出IP地理位置,解决了现有的IP定位中IP地址数据库准确性不足,无法满足安全领域对IP定位的精度要求。
在以上图1所示的实施例中,在使用网络探测功能时,根据距离的远近,网络质量等一系列原因,会影响网络探测的质量,也就是说会存在部分地标出现超时回应。超时回应对于时间延迟信息的准确性会产生一定的影响,因此,需要通过下面的实施例说明针对超时回应存在时的处理方式。
请参阅图2,本发明实施例提供一种基于随机森林的IP定位方法,包括:
201、设置至少两个探测服务器作为锚点,每个锚点具有对应的IP地址及IP地理位置;
详情请参考图1所示实施例的步骤101。
202、通过比对至少两个IP地址数据库,获取至少两个地标,每个地标具有对应的IP地址及IP地理位置;
详情请参考图1所示实施例的步骤102。
203、对每一个锚点和所有地标间进行网络探测,得到所有锚点到所有地标间的探测时间;
本实施例中,如图3所示,假设具有地标1、地标2、地标3、地标4、地标N,锚点具有锚点1和锚点2,分别对锚点1和所有地标间进行网络探测,锚点2和所有地标间进行网络探测,得到所有锚点到所有地标间的探测时间。
204、根据探测时间判断是否存在超时回应的超时地标;若不存在超时地标,执行步骤205;若存在超时地标,执行步骤206;
本实施例中,根据探测时间判断是否存在超时回应的超时地标,如果所有地标都没有超时回应,则确定不存在超时地标,执行步骤205;假设锚点1和地标1的探测时间存在超时,那么地标1就是存在超时回应的超时地标,执行步骤206。
205、根据探测时间,得到所有锚点和所有地标间的时间延迟信息;
本实施例中,在不存在超时地标的情况下,将所有锚点到所有地标间的探测时间进行集合,得到所有锚点和所有地标间的时间延迟信息。
206、判断超时地标的超时回应次数是否超过第一预置次数;若未超过第一预置次数,执行步骤207;若超过第一预置次数,执行步骤208;
本实施例中,如果地标1就是存在超时回应的超时地标,那么锚点1继续对地标1进行网络探测,多次之后,判断地标1的超时回应次数是否超过第一预置次数,一般第一预置次数设置为15次。如果是超时回应15次以下,那么地标1可能是受到网络影响导致超时,执行步骤207;如果是超时回应15次及以上,执行步骤208。
207、确定超时地标所处预置区域范围内的区域地标,计算区域地标的探测时间的平均值,将平均值替换为超时地标和对应锚点的探测时间,得到所有锚点和所有地标间的时间延迟信息;
本实施例中,预置区域范围具体可以是城市,如果地标1的超时回应15次以下,确定超时地标所处预置区域范围内的区域地标,例如,超时地标(地标1)的城市中,具有地标2、地标3和地标4,那么地标2、地标3和地标4就是区域地标,计算出锚点1和地标2、地标3和地标4的探测时间的平均值,将平均值替换为锚点1和地标1的探测时间,其他未超时回应的地标对应的探测时间不变,就能得到所有锚点和所有地标间的时间延迟信息。
208、通过路由跟踪技术,确定超时地标和对应锚点之间的路由跟踪路径上的路由器,路由器至少为一个;
本实施例中,如果地标1的超时回应15次及以上,那么可以通过路由跟踪技术,确定超时地标(地标1)和对应锚点(锚点1)之间的路由跟踪路径上的路由器,路由器至少为一个,例如,如图4所示,具体的路由跟踪路径上具有n个路由器。
209、将路由器代替超时地标进行网络探测,得到所有锚点和所有地标间的时间延迟信息;
本实施例中,从路由跟踪路径上选择路由器代替超时地标(地标1)进行与锚点1的网络探测之后,将探测时间替代地标1和锚点1的探测时间,其他未超时回应的地标对应的探测时间不变,就能得到所有锚点和所有地标间的时间延迟信息。
210、根据时间延迟信息进行随机森林训练,得到基于随机森林的IP定位模型;
详情请参考图1所示实施例的步骤104。
211、将待查询IP地址输入基于随机森林的IP定位模型,得到待查询IP地址的IP地理位置。
详情请参考图1所示实施例的步骤105。
本发明实施例中,在使用网络探测功能时,根据距离的远近,网络质量等一系列原因,会影响网络探测的质量,也就是说会存在部分地标出现超时回应。当没有超时地标时,无需处理;当出现了超时地标,并且超时回应次数没有超过预置次数时,可以将超时地标所处预置区域范围内的区域地标的探测时间的平均值替换为超时地标对应的探测时间,从而消除超时地标的超时问题;当出现了超时地标,并且超时回应次数超过预置次数时,可以使用超时地标和对应锚点之间的路由跟踪路径上的路由器进行网络探测,将路由器对应的探测时间替换为超时地标对应的探测时间,从而消除超时地标的超时问题。使得即使出现网络质量等一系列原因,影响网络探测的质量,导致部分地标超时的情况,也能消除超时问题。
在以上图2所示的实施例中,在步骤209中,在路由器替代超时地标时,由于路由器处于超时地标和锚点的路由跟踪路径上,同样会存在类似的超时问题,而且路由器还可能不具备网络探测功能,下面通过实施例进行详细说明。
请参阅图5,本发明实施例提供一种基于随机森林的IP定位方法,包括:
501、设置至少两个探测服务器作为锚点,每个锚点具有对应的IP地址及IP地理位置;
详情请参考图2所示实施例的步骤201。
502、通过比对至少两个IP地址数据库,获取至少两个地标,每个地标具有对应的IP地址及IP地理位置;
详情请参考图2所示实施例的步骤202。
503、对每一个锚点和所有地标间进行网络探测,得到所有锚点到所有地标间的探测时间;
详情请参考图2所示实施例的步骤203。
504、根据探测时间判断是否存在超时回应的超时地标;若不存在超时地标,执行步骤505;若存在超时地标,执行步骤506;
详情请参考图2所示实施例的步骤204。
505、根据探测时间,得到所有锚点和所有地标间的时间延迟信息;
详情请参考图2所示实施例的步骤205。
506、判断超时地标的超时回应次数是否超过第一预置次数;若未超过第一预置次数,执行步骤507;若超过第一预置次数,执行步骤508;
详情请参考图2所示实施例的步骤206。
507、确定超时地标所处预置区域范围内的区域地标,计算区域地标的探测时间的平均值,将平均值替换为超时地标和对应锚点的探测时间,得到所有锚点和所有地标间的时间延迟信息;
详情请参考图2所示实施例的步骤207。
508、通过路由跟踪技术,确定超时地标和对应锚点之间的路由跟踪路径上的路由器,路由器至少为一个;
详情请参考图2所示实施例的步骤208。
509、从路由器中选择距离路由跟踪路径上锚点最近的最近一跳路由器,最近一跳路由器距离超时地标不超过预置跳数;
本实施例中,结合图4所示,从路由器1-路由器n中选择距离锚点1最近的路由器n作为最近一跳路由器,需要说明的是,路由器n一般不会距离超时地标1超过预置跳数,预置跳数一般设置为4跳,因为超过跳数过多,会导致探测时间缩小很多,没有替代的意义。
510、判断最近一跳路由器与锚点是否能够进行网络探测;若不能,执行步骤执行步骤511;如果能够,执行步骤512
本实施例中,由于路由器可能不具有网络探测功能,因此,需要判断最近一跳路由器与锚点1是否能够进行网络探测,如果不能,执行步骤511;如果能够,执行步骤512。
511、将超时地标丢弃,得到所有锚点和超时地标之外的所有地标间的时间延迟信息;
本实施例中,如果最近一跳路由器与锚点1不能够进行网络探测,那么超时地标(地标1)将被丢弃,即在所有锚点和所有地标间的时间延迟信息中,超时地标将被删除。
512、将最近一跳路由器代替超时地标与对应锚点进行网络探测,得到路由器探测时间;
本实施例中,如果最近一跳路由器与锚点1能够进行网络探测,将最近一跳路由器代替超时地标与对应锚点进行网络探测,得到路由器探测时间。
513、根据路由器探测时间判断是否存在超时回应;若不存在超时回应,执行步骤514;若存在超时回应,执行步骤515;
514、将路由器探测时间替换为超时地标对应的探测时间,得到所有锚点和所有地标间的时间延迟信息;
本实施例中,不存在超时回应时,路由器探测时间替代地标1和锚点1的探测时间,其他未超时回应的地标对应的探测时间不变,就能得到所有锚点和所有地标间的时间延迟信息。
515、判断最近一跳路由器的超时回应次数是否超过第二预置次数;若未超过第二预置次数,执行步骤514;超过第二预置次数,执行步骤511;
516、根据时间延迟信息进行随机森林训练,得到基于随机森林的IP定位模型;
详情请参考图2所示实施例的步骤210。
517、将待查询IP地址输入基于随机森林的IP定位模型,得到待查询IP地址的IP地理位置。
详情请参考图2所示实施例的步骤211。
本发明实施例中,限定了超时地标和锚点的路由跟踪路径上,路由器选择距离锚点最近的最近一跳路由器替换为超时地标,而且最近一跳路由器距离超时地标不超过预置跳数,考虑了最近一跳路由器不具有网络探测功能的情况时,将超时地标丢弃;以及最近一跳路由器与锚点进行了网络探测之后,没有超时回应,则替换成功;存在超时回应,超时回应次数没有超过预置次数时,也替换成功;存在超时回应,超时回应次数超过预置次数时,将超时地标丢弃。
在以上的实施例中具体说明了基于随机森林的IP定位方法,下面通过实施例对基于随机森林的IP定位***进行说明。
请参阅图6,本发明实施例提供一种基于随机森林的IP定位***,包括:
锚点设置模块601、地标获取模块602、网络探测模块603、模型训练模块604及定位模块605;
锚点设置模块601,用于设置至少两个探测服务器作为锚点,每个锚点具有对应的IP地址及IP地理位置;
地标获取模块602,用于通过比对至少两个IP地址数据库,获取至少两个地标,每个地标具有对应的IP地址及IP地理位置;
网络探测模块603,用于对所有锚点和所有地标间进行网络探测,获取所有锚点和所有地标间的时间延迟信息;
模型训练模块604,用于根据时间延迟信息进行随机森林训练,得到基于随机森林的IP定位模型;
定位模块605,用于将待查询IP地址输入基于随机森林的IP定位模型,得到待查询IP地址的IP地理位置。
可选的,本发明的一些实施例中,
网络探测模块603,具体用于对每一个锚点和所有地标间进行网络探测,得到所有锚点到所有地标间的探测时间;
网络探测模块603,还用于根据探测时间判断是否存在超时回应的超时地标;
网络探测模块603,还用于若不存在超时地标,则根据探测时间,得到所有锚点和所有地标间的时间延迟信息;
网络探测模块603,还用于若存在超时地标,则判断超时地标的超时回应次数是否超过第一预置次数;
网络探测模块603,还用于若未超过第一预置次数,则确定超时地标所处预置区域范围内的区域地标,计算区域地标的探测时间的平均值,将平均值替换为超时地标和对应锚点的探测时间,得到所有锚点和所有地标间的时间延迟信息;
网络探测模块603,还用于若超过第一预置次数,通过路由跟踪技术,确定超时地标和对应锚点之间的路由跟踪路径上的路由器,路由器至少为一个;
网络探测模块603,还用于将路由器代替超时地标进行网络探测,得到所有锚点和所有地标间的时间延迟信息。
可选的,本发明的一些实施例中,
网络探测模块603,还用于从路由器中选择距离路由跟踪路径上锚点最近的最近一跳路由器,最近一跳路由器距离超时地标不超过预置跳数;
网络探测模块603,还用于判断最近一跳路由器与锚点是否能够进行网络探测;
网络探测模块603,还用于若不能,则将超时地标丢弃,得到所有锚点和超时地标之外的所有地标间的时间延迟信息;
网络探测模块603,还用于若能,将最近一跳路由器代替超时地标与对应锚点进行网络探测,得到路由器探测时间;
网络探测模块603,还用于根据路由器探测时间判断是否存在超时回应;
网络探测模块603,还用于若不存在超时回应,则将路由器探测时间替换为超时地标对应的探测时间,得到所有锚点和所有地标间的时间延迟信息;
网络探测模块603,还用于若存在超时回应,则判断最近一跳路由器的超时回应次数是否超过第二预置次数;
网络探测模块603,还用于若未超过第二预置次数,则将路由器探测时间替换为超时地标对应的探测时间,得到所有锚点和所有地标间的时间延迟信息;
网络探测模块603,还用于若超过第二预置次数,则将超时地标丢弃,得到所有锚点和超时地标之外的所有地标间的时间延迟信息。
可选的,本发明的一些实施例中,
地标获取模块602,具体用于查找至少两个IP地址数据库,得到至少两个IP数据集,每个IP数据集具有相同数量的IP数据,IP数据包括IP地址及IP地理位置;
地标获取模块602,还用于将所有的IP数据集进行比对,选择出IP地址及IP地理位置相同的一致IP数据,一致IP数据包括至少两个;
地标获取模块602,还用于根据一致IP数据得到地标集,并地标集中一个地标对应一个一致IP数据。
可选的,本发明的一些实施例中,
地标获取模块602,还用于将地标集分为地标训练集和地标测试集,地标训练集具有N个地标,N为不小于2的正整数,地标测试集包括至少两个测试地标。
可选的,本发明的一些实施例中,锚点数量为M,M为不小于2的正整数,
模型训练模块604,还用于根据M个锚点和地标训练集中N个地标,形成N*M的特征矩阵,特征矩阵具有M个特征维度,一个特征维度为一个锚点和N个地标间的时间延迟信息。
可选的,本发明的一些实施例中,
模型训练模块604,还用于将每一个锚点和N个地标间的时间延迟信息,作为一个特征维度,得到M个特征维度;
模型训练模块604,还用于根据M个特征维度,得到N*M的特征矩阵;
模型训练模块604,还用于根据N*M的特征矩阵进行随机森林训练,得到基于随机森林的IP定位模型。
可选的,本发明的一些实施例中,
模型训练模块604,还用于获取地标测试集中测试地标的测试IP数据,解析测试IP数据得到测试IP地址及测试IP地理位置;
模型训练模块604,还用于将测试IP地址输入基于随机森林的IP定位模型,得到定位IP地理位置;
模型训练模块604,还用于根据测试IP地理位置与定位IP地理位置,统计出测试正确率;
模型训练模块604,还用于若测试正确率未达到阈值,则重新训练基于随机森林的IP定位模型;
模型训练模块604,还用于若测试正确率达到阈值,则保留基于随机森林的IP定位模型。
可选的,本发明的一些实施例中,IP地理位置包括国家、省及城市信息;超时地标所处预置区域范围为超时地标所处的城市。
本发明实施例中,锚点设置模块601通过设置至少两个探测服务器作为锚点,每个锚点具有对应的IP地址及IP地理位置,地标获取模块602通过比对至少两个IP地址数据库,获取至少两个地标,每个地标具有对应的IP地址及IP地理位置,网络探测模块603对所有锚点和所有地标间进行网络探测,获取所有锚点和所有地标间的时间延迟信息,模型训练模块604根据时间延迟信息进行随机森林训练,得到基于随机森林的IP定位模型,定位模块605将待查询IP地址输入基于随机森林的IP定位模型,得到待查询IP地址的目标IP地理位置。利用时间延迟和距离正相关的原理,通过锚点和地标的网络探测得到的每个锚点对地标的时间延迟信息,将时间延迟信息进行随机森林训练得到基于随机森林的IP定位模型,使用基于随机森林的IP定位模型就能通过待查询IP地址定位出IP地理位置,解决了现有的IP定位中IP地址数据库准确性不足,无法满足安全领域对IP定位的精度要求。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围的情况下,都可利用上述揭示的技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种基于随机森林的IP定位方法,其特征在于,包括:
设置至少两个探测服务器作为锚点,每个锚点具有对应的IP地址及IP地理位置;
通过比对至少两个IP地址数据库,获取至少两个地标,每个地标具有对应的IP地址及IP地理位置;
对所有锚点和所有地标间进行网络探测,获取所有锚点和所有地标间的时间延迟信息;
根据所述时间延迟信息进行随机森林训练,得到基于随机森林的IP定位模型;
将待查询IP地址输入所述基于随机森林的IP定位模型,得到所述待查询IP地址的IP地理位置;
所述对所有锚点和所有地标间进行网络探测,获取所有锚点和所有地标间的时间延迟信息,包括:
对每一个锚点和所有地标间进行网络探测,得到所有锚点到所有地标间的探测时间;
根据所述探测时间判断是否存在超时回应的超时地标;
若不存在所述超时地标,则根据所述探测时间,得到所有锚点和所有地标间的时间延迟信息;
若存在所述超时地标,则判断所述超时地标的超时回应次数是否超过第一预置次数;
若未超过所述第一预置次数,则确定所述超时地标所处预置区域范围内的区域地标,计算所述区域地标的探测时间的平均值,将所述平均值替换为所述超时地标和对应锚点的探测时间,得到所有锚点和所有地标间的时间延迟信息;
若超过所述第一预置次数,通过路由跟踪技术,确定所述超时地标和对应锚点之间的路由跟踪路径上的路由器,所述路由器至少为一个;
将所述路由器代替所述超时地标进行网络探测,得到所有锚点和所有地标间的时间延迟信息。
2.根据权利要求1所述的方法,其特征在于,所述将所述路由器代替所述超时地标进行网络探测,得到所有锚点和所有地标间的时间延迟信息,包括:
从所述路由器中选择距离所述路由跟踪路径上锚点最近的最近一跳路由器,所述最近一跳路由器距离所述超时地标不超过预置跳数;
判断所述最近一跳路由器与所述锚点是否能够进行网络探测;
若不能,则将所述超时地标丢弃,得到所有锚点和所述超时地标之外的所有地标间的时间延迟信息;
若能,将所述最近一跳路由器代替所述超时地标与对应锚点进行网络探测,得到路由器探测时间;
根据所述路由器探测时间判断是否存在超时回应;
若不存在所述超时回应,则将所述路由器探测时间替换为所述超时地标对应的探测时间,得到所有锚点和所有地标间的时间延迟信息;
若存在所述超时回应,则判断所述最近一跳路由器的超时回应次数是否超过第二预置次数;
若未超过所述第二预置次数,则将所述路由器探测时间替换为所述超时地标对应的探测时间,得到所有锚点和所有地标间的时间延迟信息;
若超过所述第二预置次数,则将所述超时地标丢弃,得到所有锚点和所述超时地标之外的所有地标间的时间延迟信息。
3.根据权利要求1或2所述的方法,其特征在于,所述通过比对至少两个IP地址数据库,获取至少两个地标,包括:
查找至少两个IP地址数据库,得到至少两个IP数据集,每个IP数据集具有相同数量的IP数据,所述IP数据包括IP地址及IP地理位置;
将所有的IP数据集进行比对,选择出所述IP地址及所述IP地理位置相同的一致IP数据,所述一致IP数据包括至少两个;
根据所述一致IP数据得到地标集,所述地标集中一个地标对应一个一致IP数据。
4.根据根据权利要求3所述的方法,其特征在于,所述方法还包括:
将所述地标集分为地标训练集和地标测试集,所述地标训练集具有N个地标,所述N为不小于2的正整数,所述地标测试集包括至少两个测试地标。
5.根据权利要求4所述的方法,其特征在于,所述锚点数量为M,所述M为不小于2的正整数,
所述根据所述时间延迟信息进行随机森林训练,得到基于随机森林的IP定位模型之前,还包括:
根据M个所述锚点和所述地标训练集中N个地标,形成N*M的特征矩阵,所述特征矩阵具有M个特征维度,一个特征维度为一个锚点和N个地标间的时间延迟信息。
6.根据权利要求5所述的方法,其特征在于,所述根据所述时间延迟信息进行随机森林训练,得到基于随机森林的IP定位模型,包括:
将每一个锚点和N个地标间的时间延迟信息,作为一个特征维度,得到M个特征维度;
根据所述M个特征维度,得到N*M的特征矩阵;
根据所述N*M的特征矩阵进行随机森林训练,得到基于随机森林的IP定位模型。
7.根据权利要求6所述的方法,其特征在于,所述根据所述N*M的特征矩阵进行随机森林训练,得到基于随机森林的IP定位模型之后,还包括:
获取所述地标测试集中测试地标的测试IP数据,解析所述测试IP数据得到测试IP地址及测试IP地理位置;
将所述测试IP地址输入所述基于随机森林的IP定位模型,得到定位IP地理位置;
根据所述测试IP地理位置与所述定位IP地理位置,统计出测试正确率;
若所述测试正确率未达到阈值,则重新训练所述基于随机森林的IP定位模型;
若所述测试正确率达到阈值,则保留所述基于随机森林的IP定位模型。
8.根据权利要求1所述的方法,其特征在于,
所述IP地理位置包括国家、省及城市信息;
所述超时地标所处预置区域范围为所述超时地标所处的城市。
9.一种基于随机森林的IP定位***,其特征在于,包括:
锚点设置模块、地标获取模块、网络探测模块、模型训练模块及定位模块
所述锚点设置模块执行以上权利要求1-8中任一项所述的方法设置至少两个探测服务器作为锚点,每个锚点具有对应的IP地址及IP地理位置;
所述地标获取模块执行以上权利要求1-8中任一项所述的方法获取至少两个地标,每个地标具有对应的IP地址及IP地理位置;
所述网络探测模块执行以上权利要求1-8中任一项所述的方法探测所有锚点和所有地标间的时间延迟信息;
所述模型训练模块执行以上权利要求1-8中任一项所述的方法训练得到基于随机森林的IP定位模型;
所述定位模块执行以上权利要求1-8中任一项所述的方法通过所述基于随机森林的IP定位模型得到待查询IP地址的IP地理位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011424851.0A CN112215358B (zh) | 2020-12-09 | 2020-12-09 | 一种基于随机森林的ip定位方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011424851.0A CN112215358B (zh) | 2020-12-09 | 2020-12-09 | 一种基于随机森林的ip定位方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112215358A CN112215358A (zh) | 2021-01-12 |
CN112215358B true CN112215358B (zh) | 2021-03-05 |
Family
ID=74068160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011424851.0A Active CN112215358B (zh) | 2020-12-09 | 2020-12-09 | 一种基于随机森林的ip定位方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112215358B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109858508A (zh) * | 2018-10-23 | 2019-06-07 | 重庆邮电大学 | 基于贝叶斯和深度神经网络的ip定位方法 |
CN110012120A (zh) * | 2019-03-14 | 2019-07-12 | 罗向阳 | 一种基于PoP网络拓扑的IP城市级定位算法 |
CN111711707A (zh) * | 2020-04-30 | 2020-09-25 | 国家计算机网络与信息安全管理中心江苏分中心 | 基于邻居关系的ip地址定位方法 |
CN111753664A (zh) * | 2020-05-25 | 2020-10-09 | 西南石油大学 | 基于5g无线网络的嫌疑人识别与定位追踪***及方法 |
CN111818198A (zh) * | 2020-09-10 | 2020-10-23 | 腾讯科技(深圳)有限公司 | 域名检测方法、域名检测装置和设备以及介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2780206C (en) * | 2009-11-10 | 2018-05-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Handover delay optimization |
CA3099659A1 (en) * | 2018-05-07 | 2019-11-14 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for data collection, learning, and streaming of machine signals for analytics and maintenance using the industrial internet of things |
CN110474843B (zh) * | 2019-07-03 | 2021-07-06 | 上海交通大学 | 基于路由跳数的ip定位方法 |
CN110912756B (zh) * | 2019-12-13 | 2022-03-08 | 中国人民解放军战略支援部队信息工程大学 | 一种面向ip定位的网络拓扑边界路由ip识别算法 |
-
2020
- 2020-12-09 CN CN202011424851.0A patent/CN112215358B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109858508A (zh) * | 2018-10-23 | 2019-06-07 | 重庆邮电大学 | 基于贝叶斯和深度神经网络的ip定位方法 |
CN110012120A (zh) * | 2019-03-14 | 2019-07-12 | 罗向阳 | 一种基于PoP网络拓扑的IP城市级定位算法 |
CN111711707A (zh) * | 2020-04-30 | 2020-09-25 | 国家计算机网络与信息安全管理中心江苏分中心 | 基于邻居关系的ip地址定位方法 |
CN111753664A (zh) * | 2020-05-25 | 2020-10-09 | 西南石油大学 | 基于5g无线网络的嫌疑人识别与定位追踪***及方法 |
CN111818198A (zh) * | 2020-09-10 | 2020-10-23 | 腾讯科技(深圳)有限公司 | 域名检测方法、域名检测装置和设备以及介质 |
Non-Patent Citations (1)
Title |
---|
基于随机森林的IP城市级定位方法研究;雷雨晴;《中国优秀硕士学位论文全文数据库 信息科技辑》;20201015(第10期);第I139-29页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112215358A (zh) | 2021-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102307123B (zh) | 基于传输层流量特征的nat流量识别方法 | |
CN112104677A (zh) | 一种基于知识图谱的受控主机检测方法和装置 | |
CN109905288B (zh) | 一种应用服务分类方法及装置 | |
CN114374626B (zh) | 一种5g网络条件下的路由器性能检测方法 | |
CN109842588B (zh) | 网络数据检测方法及相关设备 | |
CN104899243A (zh) | 检测兴趣点poi数据准确性的方法及装置 | |
CN107145779B (zh) | 一种离线恶意软件日志的识别方法和装置 | |
CN107046586A (zh) | 一种基于类自然语言特征的算法生成域名检测方法 | |
CN113378899B (zh) | 非正常账号识别方法、装置、设备和存储介质 | |
CN110912756B (zh) | 一种面向ip定位的网络拓扑边界路由ip识别算法 | |
CN111064817B (zh) | 一种基于节点排序的城市级ip定位方法 | |
CN108055227B (zh) | 基于站点自学习的waf未知攻击防御方法 | |
CN109218184B (zh) | 基于端口和结构信息的路由器归属as识别方法 | |
CN110730128B (zh) | 信息传播路径的处理方法、装置、电子设备、存储介质 | |
Gharaibeh et al. | Assessing co-locality of IP blocks | |
CN112215358B (zh) | 一种基于随机森林的ip定位方法及*** | |
CN110012128A (zh) | 基于路由跳数的网络实体地标筛选方法 | |
Chandrasekaran et al. | Alidade: Ip geolocation without active probing | |
Li et al. | A complete evaluation of the Chinese IP geolocation databases | |
CN113395211B (zh) | 一种基于聚类思想的路由ip定位优化方法 | |
CN105812204A (zh) | 一种基于连接度估计的递归域名服务器在线识别方法 | |
CN111079044B (zh) | 一种共享检测方法和装置 | |
CN110311991B (zh) | 基于svm分类模型的街道级地标获取方法 | |
Yuan et al. | A Multi‐Granularity Backbone Network Extraction Method Based on the Topology Potential | |
CN113242332A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |