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 是怎么说的。他们的在线工具告诉我它在马来西亚并已在马来西亚理工大学注册。但真的是这样吗?

其次,我将检查地址的 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 并直接连接。