从ip地址获取大学/大学

时间:2014-04-24 17:08:03

标签: geolocation ip ip-geolocation

我有一个ip地址列表,其中很多都来自大学网络。找出列表中哪些大学的最佳方法是什么?

2 个答案:

答案 0 :(得分:7)

您可以使用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"
}

注意组织领域," 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的更多详细信息。

答案 1 :(得分:0)

大学和学院曾经是他们自己的互联网服务提供商(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上。