IP地址免费查询:IP数据云,每日最高2000次免费测试。那IP数据都是怎么收集的,下面对相关技术进行介绍。
● 基于DNS. Davis等人提出了一种基于DNS的方法。这种方法在资源记录(Resource Record)中增加位置字段。然而,这种方式实施起来仍有一定难度。这是因为管理员对于修改或者更新资源记录缺乏动力。此外,研究人员表明DNS的错误命名是具有普遍性的,这种错误有可能将互联网的拓扑映射毁掉。
● 基于Whois. Moore等人指出,地理位置定位也可以通过挖掘Whois数据库获得。然而,正如作者自己指出的那样,大型的机构可以把它们的机器分散在不同地点,但是却把这些机器的地理位置注册在公司的总部位置。举一个例子,许多现有使用此方法的IP地址定位数据库都把Google分布在世界各地的服务器错误的定位到了Mountain View,加州,美国。
● 基于主机. 路由器的主机名有时可以暗示出机器的地理信息。Padmanabhan和 Subramanian的GeoTrack首先找到离被探测目标最近的路由器,然后从这个路由器的主机名上来判断出该接入路由器的位置。最终,GeoTrack认为路由器的位置信息即是被探测目标的位置信息。然而,这种方法受到多种因素的影响。第一,并不是所有的机器名称中都包含地理位置信息。其次,管理员可以非常有创意地来命名他们的机器,因此,从技术上来说,解析全部命名格式是十分困难的。再次,由于最后一跳路由器可能和目标主机相差很远,因此用最后一跳路由器的位置来替代目标主机的位置可能带来很大的错误。
● 基于Web. Guo等人的Structon,从Web网页中挖掘地理位置信息。尤其是Structon建立了一个地理定位表,并在一个非常大的数据集的每个网页页面上使用正则表达式提取地理位置信息。由于Structon不把他们发掘的基准点与延迟测量向结合,它只实现了较粗颗粒度的定位精度,如城市级别。他们从网页上提取所有与地理位置有关的信息,而不仅仅是邮政地址信息,而且对于一个网站,他们考虑这个网站域名下的所有网页所提供的地理位置信息。事实上,这种办法很容易出错。此外,把一个/24的IP段都考虑为同一个城市忽略了在这一个网段中IP地址的更细颗粒度的特点。由于Hosting即数据中心、网页地址不正确、traceroute经过的路由未知等因素,会有很大一部分IP地址无法定位或者定位错误,该方法要达到一个较高的精准度是很困难的。
● 其他来源. Padmanabhan和Subramanian的GeoCluster使用在BGP路由表中IP地址的前缀把IP地址首先聚成集群。此外,通过一些私有的资源,GeoCluster找到集群中部分IP地址的地理位置信息。这些私有资源有很多种,其中一个例子是用户在使用Hotmail服务时,登记自己的地理位置信息。最终,根据这些部分IP地址的地理位置信息,GeoCluster推导出整个群集的所有IP地址的地理位置信息。该方法的正确性高度取决于用户的输入。并且这些私有的位置信息一般情况下是不公开的。