除WHOIS信息外,GeoIP服务还使用哪些方法?[关闭]


11

除了查询IP地址WHOIS信息外,我还想知道GeoIP服务如何收集有关IP地理位置的数据。例如,我偶然发现了这个网站,说IP 74.207.244.221位于加利福尼亚的弗里蒙特:https://ipinfo.io/74.207.244.221

但是我在此IP whois信息上找不到此信息。ipinfo.io指出:

最初,我们的API使用的是MaxMind数据,但是我们一直在忙于创建自己的地理位置数据。我们已经取得了很大的进步,现在我们使用自己的数据为大约一半的请求提供服务。虽然我们仍然会退回到MaxMind数据

这引起了我的兴趣,ipinfo.io和MaxMind等服务收集GeoIP数据的方式是什么?

Answers:


11

此类服务通常使用3种方式来定位IP地址:

  1. 通过whois数据库搜索地址;
  2. 跟踪反向DNS查询以尝试根据域名记录查找线索,或者跟踪发送到目标的数据包的路径,这也可以提供线索(例如,使用traceroute)。
  3. 最后,他们使用RTT三角剖分。

往返时间(RTT)三角测量是一种用于通过测量来自三个不同位置的ping延迟来获取IP地址的近似地理位置的方法。

例如,如果您有三台服务器以三角形的形式分布在世界各地,并且您从这三台服务器ping一个IP地址并获得相同的延迟结果,那么这意味着该IP地址位于该三角形的中心。这是三角剖分的工作方式,但是,在这种情况下,它与ICMP ping一起使用。

您可以阅读的资源:
什么是ping?@ Wikipedia
SIGCOMM有关RTT三角剖分的论文


5
哇,我永远不会认为有基于RTT的三角剖分。有趣。因此,如果某些服务器希望避免进行地理位置定位,则可能会在ICMP响应中引入随机延迟。
学习者

我想补充一点,如在iplocation.net上写的那样,查看tracert / traceroute可能会有所帮助:“您可以使用'traceroute'命令来查找IP地址位置的线索。通过它们的路由器名称从主机流向目标主机的数据包可能会提示最终位置的地理位置。”
学习者

1
@Learner是一个很好的补充,但是,它已经以“跟踪反向DNS查询”的形式出现在我的答案中。尽管traceroute并未真正做到这一点,但它向您显示了查询通过的所有域/地址。尽管如此,我将添加注释以使其更加清晰:)
Fanatique

5

我是IPinfo的创始人,所以我绝对可以为此提供一些详细信息!我们不会使用一种方法或一个数据源来生成我们自己的地理位置数据库(或我们的任何其他数据集,例如IP到公司或IP到运营商)。它混合了许多不同的数据集,数据处理技术以及几年来的经验教训!

一些不常提及的数据源和技术包括:

  • 来自ISP的直接供稿。我们的服务每天处理大约5亿个API请求,并且已在许多流行的备受关注的网站上使用。因此,激励ISP为我们提供准确的最新地理位置数据,以便其客户在Web上获得丰富的经验。我们一直在与越来越多的ISP直接合作。

  • GPS位置数据。可以通过GPS在移动设备上收集精确的位置信息。您可以将其与IP地址和一些网络拓扑推断配对,以进行几次测量即可得出IP范围的位置。

  • 用户提交的更正。当我们确实发现位置错误(或更改后尚未更新)时,我们通常会迅速从用户那里获得反馈,并可以手动修复位置,或调整算法以确保在下一次运行时正确定位我们的数据处理管道。

对于我们公司的IP到公司数据集,我们实际上每个月都会抓取每个域名,然后将我们提取的数据与IP所有权信息,rwhois记录等进行交叉引用。然后,我们还使用域抓取数据来显示哪些域托管在哪些IP地址上,以及在IP类型分类器中以及其他许多数据源,以确定IP地址主要用作住宅ISP的可能性,业务或托管提供商。我们还将分析这些页面的链接结构,并在host.io上显示其中一些数据。


谢谢!我没想到这个网站的创建者会回答我的问题:)这很有趣。
学习者
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.