基于 IP 的城市检测(和测试)

Posted

技术标签:

【中文标题】基于 IP 的城市检测(和测试)【英文标题】:IP-based city detection (and testing) 【发布时间】:2013-05-22 00:06:04 【问题描述】:

测试城市检测的最佳、最有效的方法是什么?我通过 www.maxmind.com 实现了基于 IP 的位置检测,但现在我想测试它的准确性。

我知道有各种代理服务,例如 https://www.geoedge.com/ 和各种类似的网站,但这些服务中的大多数代理服务器数量非常有限。如果有一个自动化的解决方案可以迭代数百甚至数千个代理服务器,点击测试页面并将结果制成表格,那就太好了。我敢肯定还有其他人不得不应对同样的挑战。测试这个的实际方法是什么?例如,是否有可能通过 cURL 来欺骗 IP 地址?

注意:由于 IP 地址缺乏可靠性,很多人认为在城市检测方面永远无法达到完美的准确性,我知道这一点 (http://www.maxmind.com/en/city_accuracy)。我仍然想要一种测试完整性/维护目的的方法。谢谢!

相关:How do sites like Groupon segment geolocation based on the cities they have deals in?

【问题讨论】:

【参考方案1】:

为了清楚起见,我将这个答案分为两部分。

IP 地理位置

除非您有非常充分的理由质疑 MaxMind 数据,否则您可能希望坚持使用 MaxMind。我建立了一项与您几年前所描述的服务非常相似的服务,并且和您一样,想要一种方法来验证 MaxMind 的准确性。我评估了 10 多个运行整个范围的 IP 地理定位解决方案;以企业为中心的数据库订阅的免费 JSON API。很快就会发现,大多数平台要么直接使用 MaxMind,要么将 MaxMind 数据与其他来源的元数据相结合。 ISP元数据的拼写、大小写和常用缩写

This paper虽然才几岁,但也很有说服力。作者通过将一些 IP 地理定位工具(包括 MaxMind)的结果与他们称为“ISP Groundtruth”的数据集(欧盟 ISP 路由器数据和路由器实际 GPS 坐标的混搭)进行比较来确定少数 IP 地理定位工具的准确性。论文对城市层面的地理定位数据不准确提出了技术解释。


代理扫描

关于自动代理扫描,我强烈建议您查看nmap 及其Lua-based scripting engine (NSE)。以下是一些您可能会觉得有用的脚本和库:

打开代理检测 HTTP proxies SOCKS proxies proxy testing ip 地理位置 MaxMind IPInfoDB geoPlugin 数据库支持 PostgreSQL mysql

【讨论】:

以上是关于基于 IP 的城市检测(和测试)的主要内容,如果未能解决你的问题,请参考以下文章

用于测试国家检测的固定全球 IP?

如何检测自己的cdn是不是配置成功

检测基于udp的服务端,在windows下,和linux各用啥命令??

IP功能检测城市

测试基于 IP 的地理位置[关闭]

PHP 按IP检测位置(城市,州)