Como descobrir todos os intervalos de IP pertencentes a um determinado AS?

10

Eu quero saber quais intervalos de IP estão pertencendo, por exemplo, ao AS714.

Como obtenho esta informação?

Eu sei como fazer o caminho inverso, o que é fácil com whois. Mas o outro jeito não parece ser assim tão fácil.

    
por JohnnyFromBF 28.03.2012 / 11:39

4 respostas

12

Ok, acabei de encontrar uma maneira simples. Você acabou de colocar este link no seu navegador, onde [ASXXX] é um certo AS e um número como este < href="http://bgp.he.net/AS714#_prefixes"> link .

    
por 28.03.2012 / 11:45
11

Eles estão listados online com detalhes relacionados no link (substitua o ASN para obter os detalhes equivalentes para qualquer outro ASN).

Se, em vez de procurá-los, você preferir pegá-los programaticamente, poderá usar o servidor whois do 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
    
por 25.09.2015 / 18:59
1

Para qualquer um que encontre isso - eu realmente gostei da resposta de Ben Dowlings. No entanto, de acordo com:

link

Existe uma maneira diferente que também produz resultados muito diferentes ! Eu estava testando um IP do facebook que não aparecia no Bens '| resultados da cabeça. De acordo com o link acima, a maneira correta de consultar endereços IP4 seria:

whois -h whois.radb.net '!gas714'

Igualmente legal é o fato de que agora você pode encontrar todos os endereços IP6 com:

whois -h whois.radb.net '!6as714'

Como eu disse - quando eu corri isso para o ASN do facebook eu encontrei o meu endereço IP em falta.

Atualização posterior Infelizmente Radb.net não distribui os dados corretos !! Tente ASN 19281 por exemplo e você verá os resultados dados, mas se você simplesmente whois radb.net sem parâmetros, ele dirá Nenhum registro encontrado. Não parece IMHO suficientemente preciso.

    
por 18.11.2016 / 11:29
0

Descobri que você não pode realmente automatizar as consultas ao bgp.he.net, continuei obtendo 403 respostas e, quando falsifiquei um agente de usuário, ele tentou verificar se eu era realmente um navegador real. Eu meio que falhei em tudo com o bgp.he.net (mesmo contatando o site).

O que DID funcionou para mim foi consultar o link , como Ben Dowling disse em outra resposta.

Eu fiz um script python para obter cada bloco de IP por ASN. Eu tinha uma lista de todos os números AS em um arquivo csv. aqui 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'

Dito isto, você também pode usar o curl com ipinfo.io. Apenas tente ser educado e não faça consultas absurdamente grandes aos servidores.

    
por 03.05.2016 / 22:08