Ho una lista di indirizzi IP molti dei quali provengono da una rete universitaria. Qual è il modo migliore per scoprire quali sono le università in questa lista?Ottieni college/università dall'indirizzo IP
risposta
Per questo è possibile utilizzare http://ipinfo.io (un servizio che ho creato). Ecco alcuni esempio di output dal 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"
}
Avviso campo org, "AS25 Università della California a Berkeley". È possibile ottenere solo quei dettagli aggiungendo/org all'URL:
$ curl ipinfo.io/128.32.0.1/org
AS25 University of California at Berkeley
Si può fare una ricerca di massa di indirizzi IP mettendoli in un file ed eseguendo il comando seguente:
$ 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.
Puoi trovare ulteriori dettagli sull'API allo http://ipinfo.io/developers.
Università e college erano il proprio Internet Service Provider (ISP) e dovresti essere in grado di ottenere queste università.
Ho giocato con uno world uinversity names database collected from LinkedIn and Webometric e con un vecchio database IP-ISP che avevo sotto la mia mano (risalente al 2012) per ottenere un elenco di circa 5800 universities/colleges.
L'elenco probabilmente non è esaustivo perché il nome del database IP-ISP può differire dal database dei nomi universitari e perché il database IP-ISP potrebbe essere un po 'obsoleto.
Tuttavia, dovrebbe essere un buon inizio se non si desidera utilizzare alcuna API.
Poi, si dovrebbe essere in grado di fare qualcosa di simile a:
SELECT * FROM `isp_universities`
WHERE INET_ATON('192.16.181.4')
BETWEEN from_dec AND to_dec
di ottenere:
192.16.181.0 to 192.16.181.255
Massachusetts Institute of Technology
http://www.mit.edu/
Date un'occhiata here, ho spinto il database sul Bitbucket.
https://ipdata.co è una semplice API che è possibile utilizzare per questo, l'API è ospitata su https://api.ipdata.co – Jonathan