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

如果不使用其中一种服务,我如何亲自找出某个IP所属的位置?

有帮助吗?

解决方案

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

IANA 根据需要为每个地区互联网注册管理机构

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

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

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

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

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

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

其他提示

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

最重要的是要理解IP地址与世界任何地方之间存在没有直接关系。地址以大块的形式分配给大致地理的组织,而这些组织又分配较小的块,这可能发生在任何给定IP地址的几个级别上(Alnitak很好地解释了这个过程)。

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

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

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

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

请注意,数据通常很难更新,甚至更难复制。我的工作地点在几年前改变了ISP,我们被分配了一块以前的加拿大IP地址(我们位于美国),谷歌继续给我们google.ca作为我们的默认搜索引擎。大约1/2的时间我的家庭IP地址来自我的城镇,另外1/2来自另一个州的城镇。

杰森说这个过程是一样的,但更新速度更慢,数据准确性也不够准确。

Alnitak的回答非常重要。

作为旁注,如果你想使用.dll来确定用户的位置,那么你可以试试这个 CodePlex 上找到的IPAddressExtension 。它有一个ISP的位置内部数据库。如上所述,Alnitak,每个ISP都有IP块..所以这些信息都埋在.dll中:)

它非常易于使用。只需引用.dll,然后创建一个系统的实例。 Net.IpAddress 对象!扩展名列在其上。

我还需要声明我是该codeplex项目/产品的作者。

请查看:)

编辑:添加了有关我作为该产品作者的信息。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top