在这篇文章中,我们将讨论IP地址,当试图将IP地址绑定到一个位置时会有什么危险,以及确定地理区域的正确方法是什么。因为将真实世界的位置与IP地址绑定在一起,不仅几乎是不可能的,而且正如这篇Gizmodo文章中讨论的那样,这也是非常危险的。
IP2Geo提供者
IP2Geo提供商有一个数据库,其中包含一个IP地址的地理位置信息。有些人声称他们有非常准确的信息,但这有多可靠呢? 让我们来看看IP地址: 45.142.38.20。我们将使用网站resolve.rs【https://resolve.rs/ip/geolocation.html】,因为他们有超过20个IP2Geo提供商,他们查询一个给定的地址。我们运行一个查询,我们看到结果中有很多差异。在写这篇文章的时候,结果至少可以说是令人困惑的:
§ BigDataCloud【https://www.bigdatacloud.com/ip-geolocation-apis】告诉我们这个IP地址位于印度尼西亚的雅加达
§ IP-API【https://ip-api.com/】, ipdata【https://ipdata.co/】 甚至Maxmind【https://www.maxmind.com/en/geoip-demo】声称IP是基于圣彼得堡,俄罗斯
§ ipgeolocation【https://ipgeolocation.io/】和雷达。我说地点是英国伦敦
§ ipapi【https://ipapi.com/】和ipstack【https://ipstack.com/】更具体地指的是英国的伦敦伊斯灵顿区
§ IPinsight【https://ipinsight.io/】声称它在荷兰的阿姆斯特丹。
一个没有在网站上显示结果的服务是HostIP.info【http://www.hostip.info/use.php】。手动查询后,返回如下结果:
国家: 美国(美国)
城市: (未知的城市)
知识产权: 45.142.38.20
正如你所看到的,关于这个IP地址应该在哪里有很多不同的答案。这有几个原因,但他们通常回到IP2Geo提供商如何使用他们从Whois信息中获取的数据。他们有旧数据,他们处理结果不正确,或者他们没有考虑到IP地址是在多个国家有实体存在的公司。甚至有可能一家美国公司是一组IP地址的所有者,一家英国公司目前使用一些IP地址,但他们的网络运营中心在德国。这是可能的,这三个位置都提到了Whois的答案,从而使它很难刮和自动解析。
跟踪路由除了使用IP2Geo服务之外,还有一种不同的方法可以找到IP地址的可能位置,即运行traceroute。这是一种技术,几个数据包被发送到一个目标,同时映射该互联网通信所采用的路由。通过调查流量,关注它经过的IP地址,我们可以绘制出一条路线,甚至在地图上绘制出来。在Windows中有工具tracert【https://support.microsoft.com/en-us/topic/how-to-use-tracert-to-troubleshoot-tcp-ip-problems-in-windows-e643d72b-2f4f-cdd6-09a0-fd2989c7ca8e】,在Linux和macOS中可以运行工具traceroute【https://linux.die.net/man/8/traceroute】。当运行到该IP地址的traceroute时,我们得到如下结果:
$ traceroute 45.142.38.20
traceroute to 45.142.38.20 (45.142.38.20), 64 hops max, 52 byte packets
1 10.7.2.1 (10.7.2.1) 12.766 ms 5.771 ms 5.499 ms
2 193.228.193.1 (193.228.193.1) 102.204 ms 13.604 ms 7.352 ms
3 194.127.172.2 (194.127.172.2) 6.523 ms 5.682 ms 5.659 ms
4 adm-b1-link.ip.twelve99.net (62.115.191.88) 6.512 ms 6.189 ms 6.491 ms
5 adm-bb4-link.ip.twelve99.net (62.115.137.64) 13.187 ms
adm-bb3-link.ip.twelve99.net (62.115.136.194) 13.490 ms 15.009 ms
6 ffm-bb1-link.ip.twelve99.net (62.115.120.241) 13.627 ms
prs-bb2-link.ip.twelve99.net (62.115.137.5) 21.899 ms
ffm-bb2-link.ip.twelve99.net (62.115.122.201) 14.246 ms
7 ffm-b5-link.ip.twelve99.net (62.115.114.91) 14.189 ms
ffm-bb2-link.ip.twelve99.net (62.115.122.139) 20.464 ms
ffm-b5-link.ip.twelve99.net (62.115.114.89) 13.883 ms
8 ffm-b5-link.ip.twelve99.net (62.115.114.89) 19.559 ms
retn-svc072993-ic360713.ip.twelve99-cust.net (62.115.178.57) 16.676 ms 63.073 ms
9 ae0-2.rt.ir9.ams.nl.retn.net (87.245.232.123) 13.861 ms 12.296 ms 12.555 ms
10 gw-joyfortune.retn.net (87.245.236.213) 12.644 ms 14.030 ms 15.652 ms
11 45.142.38.20 (45.142.38.20) 12.685 ms 12.767 ms 13.054 ms
如果我们想知道IP地址在哪里,我们应该注意最后或第二最后一跳,或个别路由设备,在我们到达实际目的地之前。在第10行,我们看到IP地址87.245.236.213,名称表明,根据部分ams判断,这可能实际上是进入荷兰的一个小跳跃。nl '的名称,在它击中另一个设备,带我们到IP地址。这可能已经表明我们将在荷兰结束。
验证
为此,我将使用所谓的ping。ping只不过是一个向服务器发送一个小请求的工具,请求直接返回一个答案。在收到答案后,它会测量收到具体答案所需的时间,称为“往返时间”。这里有两个非常有用的在线工具可以帮助我们。第一个叫https://tools.keycdn.com/ping,第二个叫http://ping.pe。这两个站点都从多个位置发送ping请求,这可以帮助我们找出哪个地理位置响应最快。响应越快,我们就越接近实际的IP地址。
查看 ping.pe 请求的结果
如上所示,来自阿姆斯特丹的响应确实是响应最快的,这给了我们足够的信息来得出结论,它最有可能是位于阿姆斯特丹的IP地址。
结论
使用“traceroute”和“ping”是确定IP地址最可能位置的最可靠方法。就连亚太地区的区域互联网地址注册中心(APNIC)也在这篇文章中表示: “如果traceroute确认拓扑接近,则将IP与LG考虑在相同的经济环境中”。任何其他检查地点的方法似乎都不符合他们的标准。世界上没有一个IP2Geo数据库是可靠的,所以找到一个地理区域的唯一方法是使用基本的物理知识来确定电或光传输到一种叫做“网络电缆”的介质需要多长时间。
END
文章来源于公众号:情报分析站