Quiero saber qué rangos de IP pertenecen, por ejemplo, al AS714.
¿Cómo obtengo esta información?
Sé hacer lo contrario, lo cual es fácil con whois. Pero la otra forma no parece ser tan fácil.
Quiero saber qué rangos de IP pertenecen, por ejemplo, al AS714.
¿Cómo obtengo esta información?
Sé hacer lo contrario, lo cual es fácil con whois. Pero la otra forma no parece ser tan fácil.
Respuestas:
Se enumeran en línea con detalles relacionados en http://ipinfo.io/AS714 (reemplace el ASN para obtener los detalles equivalentes para cualquier otro ASN).
Si, en lugar de buscarlos, prefiere tomarlos mediante programación, puede usar el servidor whois RADb:
$ whois -h whois.radb.net -- '-i origin AS714' | grep -Eo "([0-9.]+){4}/[0-9]+" | head
17.108.0.0/16
17.106.0.0/15
17.102.0.0/16
17.207.0.0/16
17.216.0.0/16
17.250.48.0/24
17.252.65.0/24
192.35.50.0/24
17.148.0.0/14
17.86.0.0/17
Ok, acabo de encontrar una manera simple. Simplemente coloque este http://bgp.he.net/[ASXXXfont>#_prefixes en su navegador, donde [ASXXX] es un cierto AS y un número como este http://bgp.he.net/AS714#_prefixes .
Para cualquiera que encuentre esto, me gustó mucho la respuesta de Ben Dowling . Sin embargo según:
http://www.radb.net/support/query2.php
¡Hay una forma diferente que también produce resultados muy diferentes ! Estaba probando una IP de Facebook que no apareció en Bens '| Resultados principales. Según el enlace anterior, la forma correcta de consultar las direcciones IP4 sería:
whois -h whois.radb.net '!gas714'
Igualmente agradable es el hecho de que ahora puede encontrar todas las direcciones IP6 con:
whois -h whois.radb.net '!6as714'
Como digo, cuando ejecuté esto para el ASN de Facebook, encontré mi dirección IP faltante.
Actualización posterior
¡Lamentablemente, Radb.net no da los datos correctos! Pruebe, ASN 19281
por ejemplo, y verá los resultados dados, pero si simplemente radica.net whois sin parámetros, dirá "No se encontraron registros". No parece lo suficientemente preciso en mi humilde opinión.
whois -h whois.radb.net -- '!6as32934'
que se "recorta" con una nueva línea en el medio de las direcciones
echo '!6as32934'|nc whois.radb.net 43
Descubrí que realmente no se pueden automatizar las consultas a bgp.he.net, seguí recibiendo 403 respuestas y luego, cuando fingí un agente de usuario, trató de verificar que realmente era un navegador real. Fallé en todo con bgp.he.net (incluso contactando el sitio).
Lo que sí funcionó para mí fue consultar http://ipinfo.io como dijo Ben Dowling en otra respuesta.
Hice un script de Python para obtener cada bloque de IP por ASN. Tenía una lista de cada número AS en un archivo csv. aquí está:
import requests
from bs4 import BeautifulSoup
import re
url_base = 'http://ipinfo.io/'
as_base = 'AS'
output = open('ip_per_asn.csv', 'w')
with open('chilean_asn.csv') as f:
lines = f.read().splitlines()
for asn in lines:
ASN = as_base + asn
page = requests.get(url_base+ASN)
html_doc = page.content
soup = BeautifulSoup(html_doc, 'html.parser')
for link in soup.find_all('a'):
if asn in link.get('href'):
auxstring = '/'+as_base+asn+'/'
line = re.sub(auxstring, '', link.get('href'))
printstring = asn+','+line+'\n'
if 'AS' not in printstring:
output.write(printstring)
print asn+'\n'
print 'script finished'
Dicho esto, también puedes usar curl con ipinfo.io. Solo trata de ser cortés y no hagas consultas absurdamente grandes a los servidores.