¿Cómo saber el rango de IPs de una gran compañía?
-
¡Hola!
O sea, www.google.com, www.microsoft.com, www.facebook.com …
con la finalidad de meterlo en un alias (Network) y poder tener reglas específicas...
Ya hemos hablado muchas veces de esto pero he encontrado un método bastante interesante:
1. Usar FireFox
2. Instalar el complemento http://www.asnumber.networx.ch/ para averiguar el AS de la compañía, http://es.wikipedia.org/wiki/Sistema_aut%C3%B3nomo
3. Ir a la web de la compañía para tener en la parte inferior derecha del navegador el número de AS.
4. Emplear una herramienta de BGP lookup. Por ejemplo: http://bgp.he.net/ (los rangos quedan en la pestaña Prefixes V4) o https://www.dan.me.uk/bgplookup
5. Y a escribir el alias.Recuerdo el método "tradicional", ya que no todas las compañías tienen AS. O puede que el AS sea para un proveedor de Internet que alberga muchas compañías y no sea adecuado emplearlo:
1. Ver la IP con el comando nslookup www.facebook.com
2. Ir a https://www.arin.net/ e introducir la IP en SEARCH Whois.
3. Si la compañía es norteamericana ya tendremos el rango. Si no lo es, nos enviará a la autoridad del continente que toque, donde tendremos que hacer un nuevo Whois. Por ejemplo: RIPE en Europa. Ya sé que hay webs por ahí que dan el servicio pero estas son las listas oficiales.Saludos,
Josep Pujadas
-
Actualizo esto con un script-ejemplo que genera un fichero-texto de rangos de IPs.
El resultado puede emplearse en pfSense como un alias-URL que contiene una tabla de subredes.
https://doc.pfsense.org/index.php/Aliases#URL_Table_AliasesEn el ejemplo se hacen los siguientes pasos:
1. Consulta de los "asnumbers" para "dropbox" "amazon" y "amazon." El caso de amazon se ha tenido que afinar, pues hay empresas llamadas amazonia, amazonas…
2. Consulta de rangos para los "asnumbers" encontrados.
3. Empaquetado de rangos, evitando duplicidades.
4. El resultado está en un servidor web al que el alias de pfSense accede. Por ejemplo www.midominio.tld/pf/dropbox.txtDebe probarse bien el filtrado de los "asnumbers", pues es fácil caer en situaciones como la de amazon. Ejemplo con errores para sony:
curl -s http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNum2.zip | gunzip | cut -d"," -f3 | sed 's/"//g' | sort -u | grep -i sony
Ejemplo completo (para dropbox), funcionando:
#!/bin/sh # /var/www/html/pf/dropbox.sh # Genera lista de subredes que pertenecen a Dropbox y a Amazon # Dropbox utiliza subredes de Amazon # Josep Pujadas-Jubany (10-mar-2017 - 11-mar-2017) # # https://superuser.com/a/978189 # https://www.quora.com/How-can-I-obtain-a-list-of-IP-addresses-owned-by-a-specific-company # http://www.radb.net/features/ rm -f dropbox_radb.txt touch dropbox_radb.txt chown www-data:www-data dropbox_radb.txt curl -s http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNum2.zip | gunzip | cut -d"," -f3 | sed 's/"//g' | sort -u | grep -i 'dropbox\|amazon\ \|amazon\.' | cut -d" " -f1 | while read asnumber; do echo $asnumber whois -h whois.radb.net -- "-i origin $asnumber" | grep -Eo "([0-9.]+){4}/[0-9]+" >> dropbox_radb.txt done # http://techdrip.blogspot.com.es/2011/06/shorty-aggregrate-cidr-blocks-with-perl.html # https://zwitterion.org/software/aggregate-cidr-addresses/ perl aggregate-cidr-addresses dropbox_radb.txt > dropbox.txt chown www-data:www-data dropbox.txt
El uso del alias nos permitirá asignar reglas el tráfico hacia los servicios de la correspondiente compañía.
-
Ahora me doy cuenta que @javcasta hizo algo similar, https://forum.pfsense.org/index.php?topic=111642.0
¡Dos mejor que uno!
;)