IP的地理查询如何运作?

Bri*_*ndy 25 ip dns ip-geolocation

是哪些IP分配给哪些ISP的公共信息?地理IP服务如何获取此信息并维护此信息?

如何在不使用其中一种服务的情况下亲自了解某个IP所属的位置?

Aln*_*tak 43

为了它的价值,我在ISP行业的高级工作了十多年,所以我对此有很多经验.

IANA根据需要向每个地区互联网注册机构分配大型IP范围.

这些地区的大小通常是欧洲大陆 - IP地址 不是按国家/地区分配的.

然后,RIR将IP地址分配给ISP,ISP又将其分配给最终用户.

每个RIR都维护一个whois服务器,可以查询该服务器,不仅可以找出哪个ISP已被分配任何网络块,而且在某种程度上找出哪个最终用户以及该最终用户的地址.

请注意,许多ISP不会为每个客户填写此信息.因此,如果您是DSL服务的住宅用户,则Geo记录可能会提供您的ISP的地址,而不是您自己的地址.

各种GeoLocation提供程序主要通过挖掘这些whois记录来工作.请注意,这样做的合法性是一个灰色区域 - RIPE的数据库版权声明在这里.

IANA还维护DNS的根区域,但这与任何IP分配功能完全分开.保持域名操作和IP地址之间的区别非常重要.


ben*_*enc 5

有很多库具有映射表以及可以合并到代码中的服务。

要了解的最重要的一点是,IP地址与世界任何地方之间都没有直接关系。将地址按大块分配给大致地理上的组织,这些组织依次分配较小的块,对于任何给定的IP地址,这可能会在多个级别发生(Alnitak很好地说明了此过程)。

事实是:WHOIS数据不必准确。如果我有一个地址块,我可以说它在火星上。即使缩小最终组织的位置(例如阿拉斯加的一个非常小的ISP),用户可能正在使用来自夏威夷的拨号,或者服务器可能正在托管来自关岛的公司。

因此,在将IP地址(或域名)映射到物理位置时始终存在风险/估计因素。这并不是说您永远都不要这样做,在许多应用程序中,粗略或不完美的信息非常有用。


bzl*_*zlm 5

回答关于“它是如何工作的”的具体问题:涉及大量的体力劳动,并且数据库在很大程度上是人工维护的。正如其他答案所指出的那样,IP 范围和国家/地区之间没有真正的相关性,更不用说特定区域了。最近 IP 地址空间分配系统更加分散,这意味着小型私人供应商可以获取 IPv4 地址范围,而不受地理区域的限制。这就是 Google 收购 Urchin 的原因,以便他们可以将他们的服务用于 Google Analytics,它提供非常准确的 IP 到地理区域的信息。

如果您不想使用MaxMind(个人免费使用,并且数据库在某种程度上是开放的)或Google Analytics(个人使用免费)之类的服务,则可以使用免费(因此总是稍微过时)的数据库,有时作为平面文件。