我有一个ip地址列表,其中很多都来自大学网络。找出列表中哪些大学的最佳方法是什么?
答案 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上。