IP 地理定位 API 是如何制作的? [关闭]

Posted

技术标签:

【中文标题】IP 地理定位 API 是如何制作的? [关闭]【英文标题】:How are IP geolocation APIs made? [closed] 【发布时间】:2019-12-28 22:25:39 【问题描述】:

例如,WIPmania API 或任何其他开发人员 API。我想知道他们是如何获得这些信息的,如果我没记错的话,这些信息通常是保密的?互联网服务提供商是否开放了接受此类请求的网关,或者任何地理定位应用程序怎么可能跟踪我的 IP 到国家、城市级别并给出纬度和经度的估计值?

为了澄清,我更具体地谈论的是家用电脑,其中一个人的电脑中没有 GPS 设备,因此应用程序使用某种 API 进行这种 IP 地址到位置的转换。

【问题讨论】:

【参考方案1】:

首先用户必须同意共享他们的设备位置,然后客户端的设备通过 IP 地址或手机信号塔三角测量发送坐标,然后将坐标发送到需要该位置的应用程序。为了获得详细而准确的地图和位置信息,当今大多数服务都使用谷歌地图 API。

https://developers.google.com/maps/documentation

【讨论】:

但是,例如,我的 IP 地址在家用 PC 中会发生什么情况?我没有同意任何事情,当我向任何服务器发送 HTTP 请求时,人们可以收到我的 IP,例如 ***。我想知道 *** 怎么知道我住在我的城市和国家,以及这些 API 是如何构建的 您的 IP 地址类似于邮寄地址,但只能显示一般位置,如城市或城市的一部分以及有关您的互联网服务提供商的信息。此外,一些使用您的确切位置的应用程序和网站需要您的确认,以便为他们提供您的确切坐标。你想达到什么目的? 那么这个一般位置(城市/城市的一部分)如何出现在 IP 地址中?据我所知,IP 地址被随机分配给 ISP 客户或遵循他们的某种协议。但据我所知,IP 地址可以是动态的,并且可以从一天到另一天更改所有者,甚至是居住在不同城市或国家/地区的所有者 并非整个事情都是随机的lite.ip2location.com/ip-address-ranges-by-country 我明白了。那么这家公司(ip2location)怎么可能获得这些信息呢?通过与世界上所有 ISP 的合同?有什么我不知道的技巧吗?或许可以从全球DNS获取信息?...【参考方案2】:

我从https://www.iana.org(代表 Internet 号码分配机构)了解到,有一份 IP 地址的年度报告。

他们说 IPv4 和 IPv6 地址通常以分层方式分配。用户由 Internet 服务提供商 (ISP) 分配 IP 地址。 ISP 从本地互联网注册机构 (LIR) 或国家互联网注册机构 (NIR) 或相应的区域互联网注册机构 (RIR) 获取 IP 地址分配。在我的例子中,即欧洲,所有 ISP 都通过从事这项工作的公司 RIPE NCC 获得各自 IP 范围的分配。

但是,https://shodan.io 等公司利用实时信息,这意味着他们在某处查询以获取此信息。

【讨论】:

地理位置是出了名的不准确。几乎所有这样做的公司都会说我离我的实际位置超过 1000 英里,因为那是我的 ISP 的总部。这些公司只是开采许多不同的资源。每家公司都认为其算法和资源是专有的,因此任何答案都纯属猜测。

以上是关于IP 地理定位 API 是如何制作的? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

用于 IP 地理定位的 PHP 和 API

win32 api根据wifi和IP地址对笔记本电脑进行地理定位

如何利用 IP 归属地查询 API 精准锁定用户位置

存在哪些基于 IP 对人员进行地理定位的服务? [关闭]

什么是最准确(且价格合理)的 IP 地理位置数据库? [关闭]

用于Java代码的免费地理定位IP服务[关闭]