【发布时间】:2014-06-10 02:56:49
【问题描述】:
我有一个 IP 地址列表,其中许多来自大学网络。找出哪些大学在此列表中的最佳方法是什么?
【问题讨论】:
标签: geolocation ip ip-geolocation
我有一个 IP 地址列表,其中许多来自大学网络。找出哪些大学在此列表中的最佳方法是什么?
【问题讨论】:
标签: geolocation ip ip-geolocation
大学和学院曾经是他们自己的 Internet 服务提供商 (ISP),您应该能够获得这些大学。
我使用了world uinversity names database collected from LinkedIn and Webometric 和我手头的旧 IP-ISP 数据库(可追溯到 2012 年)以获得大约 5800 universities / colleges 的列表。
该列表可能并不详尽,因为 IP-ISP 数据库的名称可能与大学名称数据库不同,而且 IP-ISP 数据库可能有点过时。
但是,如果您不想使用任何 API,这应该是一个好的开始。
然后,您应该能够执行类似的操作:
SELECT * FROM `isp_universities`
WHERE INET_ATON('192.16.181.4')
BETWEEN from_dec AND to_dec
获得:
192.16.181.0 to 192.16.181.255
Massachusetts Institute of Technology
http://www.mit.edu/
看here,我在Bitbucket上推送了数据库。
【讨论】:
您可以为此使用http://ipinfo.io(我构建的服务)。以下是 API 的一些示例输出:
$ curl ipinfo.io/128.32.0.1
{
"ip": "128.32.0.1",
"hostname": "No Hostname",
"city": "Berkeley",
"region": "California",
"country": "US",
"loc": "37.8668,-122.2536",
"org": "AS25 University of California at Berkeley",
"postal": "94720"
}
请注意 org 字段“AS25 加州大学伯克利分校”。您可以通过将 /org 附加到 URL 来获取这些详细信息:
$ curl ipinfo.io/128.32.0.1/org
AS25 University of California at Berkeley
您可以通过将 IP 地址放入文件并运行以下命令来批量查找 IP 地址:
$ cat ips.txt | xargs -I% curl -s http://ipinfo.io/%/org | paste ips.txt -
128.32.0.1 AS25 University of California at Berkeley
128.62.76.244 AS18 University of Texas at Austin
24.32.142.2 AS7018 AT&T Services, Inc.
171.64.84.194 AS32 Stanford University
18.9.44.47 AS3 Massachusetts Institute of Technology
67.188.232.130 AS7922 Comcast Cable Communications, Inc.
您可以在http://ipinfo.io/developers 找到有关 API 的更多详细信息。
【讨论】: