2014-04-24 12 views
5

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

+0

https://ipdata.co è una semplice API che è possibile utilizzare per questo, l'API è ospitata su https://api.ipdata.co – Jonathan

risposta

7

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.

0

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.