美国用户的 IP 地址地理位置错误

美国用户的 IP 地址地理位置错误

为了向我的用户显示正确的内容,我根据他们的 IP 地址获取他们的国家/地区。我收到了几份来自美国用户的报告,称内容显示不正确。我总是检查他们的 IP 地址,我的国家/地区检测 API 是正确的,但出于某种原因,美国用户被分配了来自其他国家/地区的 IP 地址。

这是常规做法吗?这与网际网络灾难? 有没有更好的方法获取用户的位置?

编辑:我正在使用一个名为 MaxMind 的 API 根据 IP 获取位置,到目前为止,这个问题只发生在 IPv4 用户身上。我遇到的最后一个问题是一位美国用户,他的 IP 地址位置显示为马来西亚,他们的 IP 地址是 161.139.224.31,我只知道该用户使用的是 iOS 设备。

答案1

Maxmind 是一项很好的服务,尽管偶尔会出现错误,因为现在 IPv4 块非常稀缺,而且在灰色市场上被交易和转售。如果您确实发现了错误,您可以向他们报告,尽管这看起来不是一个错误。

这基本上就是我确认 IP 地址位置的方法:

首先,我来看看 Maxmind 对此有何看法。他们的在线工具告诉我它在马来西亚并注册到马来西亚理工大学。但真的是这样吗?

161.139.224.31 的 Maxmind GeoIP 结果

其次,我将检查该地址的 whois 记录。APNIC 还表示它已注册到 UTM。对于你所谓的美国人来说,这看起来不太好……

inetnum:        161.139.0.0 - 161.139.255.255
netname:        UTMNET
descr:          Universiti Teknologi Malaysia
country:        MY
admin-c:        UTM1-AP
tech-c:         UTM1-AP
status:         ALLOCATED PORTABLE
mnt-by:         MAINT-MY-UNITEKMY
mnt-irt:        IRT-UNITEKMY-NON-MY
changed:        [email protected]
changed:        [email protected] 20120907
source:         APNIC

irt:            IRT-UNITEKMY-NON-MY
address:        Center for Information and Communication Technology
e-mail:         [email protected]
abuse-mailbox:  [email protected]
admin-c:        UTM1-AP
tech-c:         UTM1-AP
auth:           # Filtered
mnt-by:         MAINT-MY-UNITEKMY
changed:        [email protected] 20120906
source:         APNIC

role:           Universiti Teknologi Malaysia
address:        Center for Information and Communication Technology
country:        MY
phone:          +607-5532470
fax-no:         +607-5566164
e-mail:         [email protected]
admin-c:        UTM1-AP
tech-c:         UTM1-AP
nic-hdl:        UTM1-AP
mnt-by:         MAINT-MY-UNITEKMY
changed:        [email protected] 20120906
source:         APNIC

% This query was served by the APNIC Whois Service version 1.69.1-APNICv1r0 (UNDEFINED)

最后,我将执行跟踪路由并查看到达 IP 地址的实际网络路径。在本例中...

$ traceroute 161.139.224.31
traceroute to 161.139.224.31 (161.139.224.31), 30 hops max, 60 byte packets
 1  172.28.5.1 (172.28.5.1)  0.181 ms  0.146 ms  0.127 ms
 2  62-210-251-1.rev.poneytelecom.eu (62.210.251.1)  1.317 ms  1.480 ms  1.611 ms
 3  195.154.1.170 (195.154.1.170)  1.011 ms  1.236 ms  1.300 ms
 4  prs-b7-link.telia.net (62.115.40.77)  0.956 ms  0.924 ms  0.917 ms
 5  prs-bb3-link.telia.net (213.155.132.192)  1.779 ms prs-bb3-link.telia.net (213.155.134.220)  1.652 ms prs-bb2-link.telia.net (213.155.134.228)  0.898 ms
 6  adm-bb4-link.telia.net (213.155.137.156)  15.224 ms adm-bb3-link.telia.net (62.115.135.62)  11.010 ms adm-bb4-link.telia.net (213.155.136.24)  13.345 ms
 7  adm-b2-link.telia.net (62.115.141.51)  12.709 ms adm-b2-link.telia.net (213.155.137.197)  12.043 ms adm-b2-link.telia.net (62.115.141.67)  12.702 ms
 8  telekommalaysia-ic-149786-adm-b2.c.telia.net (213.248.99.146)  11.203 ms telekommalaysia-ic-301284-adm-b2.c.telia.net (62.115.8.206)  11.131 ms  12.056 ms
 9  * * *
10  58.27.55.202 (58.27.55.202)  207.612 ms  202.755 ms  203.625 ms
11  * * *
12  * * *
13  * * *
14  * * *
15  *^C

我们在这里看到,它从我在巴黎的位置开始,然后被传递到阿姆斯特丹,然后到马来西亚电信,之后我们就没有得到进一步的回报了。经过同样的检查,最终响应的 IP 地址也是马来西亚电信的 IP 地址。

目前看来,这个 IP 地址不太可能位于之前提到的马来西亚大学以外的任何地方。如果用户完全确定这是错误的,他们可以尝试从他们的终端运行跟踪路由(例如使用用于此目的的 iOS 应用),您可以检查其结果以寻找任何可能的线索。

最后,用户可能连接到大学提供的 VPN。在这种情况下,无论用户身处世界何处,他都会被识别为在大学,如果他希望识别出他的实际位置,则应关闭 VPN 并直接连接。

答案2

不只是美国用户,其他国家的用户也有可能出现这种情况。
出现这种情况的原因有很多。

  • 在国外旅行并从那里登录的用户将被报告为来自该国的用户。
  • 跨国公司通常只拥有一个国家的 IP 块,并将这些地址分配给其所有办事处。
  • 显然,对于在多个国家运营的 ISP 来说也是如此
  • 如果您的域名/网站托管在其他国家/地区,您最终可能会获得该国家/地区的服务器 IP 范围,并且美国的主机通常比其他地方的主机更昂贵。

最后一种情况可能与您无关,但其他情况可能与您有关(是的,我曾经遇到过所有这些情况)。

相关内容