美国用户IP地址定位错误

fpg*_*503 8 ip geolocation ipv4

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

这是常规做法吗?这与IPcalypse 有关系吗?有没有更好的方法来获取用户的位置?

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

Mic*_*ton 21

Maxmind 是一项很好的服务,尽管偶尔会出现错误,因为我们现在处于 IPv4 块稀缺的时期,并且在灰色市场上进行交易和转售。如果您确实发现了实际错误,您可以向他们报告,尽管这似乎不是错误。

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

首先,我来看看 Maxmind 是怎么说的。他们的在线工具告诉我它在马来西亚并已在马来西亚理工大学注册。但真的是这样吗?

Maxmind GeoIP 结果为 161.139.224.31

其次,我将检查地址的 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:        hm-changed@apnic.net
changed:        hm-changed@apnic.net 20120907
source:         APNIC

irt:            IRT-UNITEKMY-NON-MY
address:        Center for Information and Communication Technology
e-mail:         jeff@utm.my
abuse-mailbox:  jeff@utm.my
admin-c:        UTM1-AP
tech-c:         UTM1-AP
auth:           # Filtered
mnt-by:         MAINT-MY-UNITEKMY
changed:        hm-changed@apnic.net 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:         jeff@utm.my
admin-c:        UTM1-AP
tech-c:         UTM1-AP
nic-hdl:        UTM1-AP
mnt-by:         MAINT-MY-UNITEKMY
changed:        hm-changed@apnic.net 20120906
source:         APNIC

% This query was served by the APNIC Whois Service version 1.69.1-APNICv1r0 (UNDEFINED)
Run Code Online (Sandbox Code Playgroud)

最后,我将执行 traceroute 并查看到达 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
Run Code Online (Sandbox Code Playgroud)

在这里,我们看到它从我在巴黎的位置开始,然后传递到阿姆斯特丹,然后传递到马来西亚电信,之后我们没有进一步的返回。当接受这些相同的检查时,要响应的最终 IP 地址也是马来西亚电信的 IP 地址。

在这一点上,这个 IP 地址看起来非常不可能是之前命名的马来西亚大学以外的任何地方。如果用户绝对确定这是错误的,他们可以尝试从他们的末端运行 traceroute(例如,为此目的使用 iOS 应用程序),您可以检查其结果以寻找任何可能的线索。

最后,用户可能连接到大学提供的 VPN。在这种情况下,无论他在世界上的位置如何,他都将始终被识别为在大学,如果他想被识别为他的实际位置,他应该关闭 VPN 并直接连接。