Как узнать все диапазоны IP-адресов, принадлежащих определенной AS?


13

Я хочу знать, какие диапазоны IP-адресов относятся, например, к AS714.

Как я могу получить эту информацию?

Я знаю, как сделать наоборот, что легко с whois. Но другой путь не кажется таким легким.


Хотите ли вы диапазоны IP-адресов, которые исходят из этой AS? (Прямые клиенты, у которых нет AS) Как насчет диапазонов IP-адресов, доступных только через эту AS? (Клиенты, которые имеют свою собственную AS). Как насчет диапазонов IP-адресов, доступных через эту AS, но также и другие AS провайдера? (Многосетевые клиенты.)
Дэвид Шварц

1
Цель состояла в том, чтобы выяснить все диапазоны IP-адресов, которыми владеет мой провайдер. Я получил эту информацию, посетив bgp.potaroo.net/as1221/asnames.txt для того, чтобы узнать номер AS и созревшей сети. диапазон через вкладку префиксов. Знаете ли вы другие возможности?
JohnnyFromBF

Ответы:


17

Они перечислены онлайн с соответствующими деталями на http://ipinfo.io/AS714 (замените ASN, чтобы получить эквивалентные данные для любого другого ASN).

Если вместо того, чтобы просматривать их, вы предпочитаете получать их программно, вы можете использовать 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

1
Спасибо за этот ответ. Теперь я могу легко создавать списки блокировки SMTP для провайдеров-нарушителей.
Яри ​​Туркиа

Для справки, эти другие реестры маршрутизации также должны работать.
JakeGould


3

Для всех, кто найдет это - мне очень понравился ответ Бена Доулинга . Однако согласно:

http://www.radb.net/support/query2.php

Существует другой способ, который также дает очень разные результаты! Я тестировал IP-адрес Facebook, который не появился в Bens '| Главный результат. Согласно приведенной выше ссылке, правильный способ запроса IP-адресов будет следующим:

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

Столь же приятным является тот факт, что теперь вы можете найти все IP6-адреса с помощью:

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

Как я уже сказал, когда я запустил это для ASN в Facebook, я нашел свой пропущенный IP-адрес.

Позднее обновление

К сожалению Radb.net не выдает правильные данные !! Попробуйте, ASN 19281например, и вы увидите результаты, но если вы просто whois radb.net без параметров, он скажет «Записи не найдены». Это не кажется достаточно точным ИМХО.


Этот метод имеет некоторые проблемы с длинными списками, например, Facebook. whois -h whois.radb.net -- '!6as32934'это "обрезается" с новой строкой в ​​середине адресов
Hvisage

что означает, что вы должны использовать nc, как в:echo '!6as32934'|nc whois.radb.net 43
Hvisage

1

Я обнаружил, что вы не можете действительно автоматизировать запросы к bgp.he.net, я продолжал получать 403 ответа, а затем, когда я подделал пользовательский агент, он попытался проверить, что я действительно являюсь настоящим браузером. Я вроде как потерпел неудачу во всем с bgp.he.net (даже связавшись с сайтом).

Что мне помогло, так это запросить http://ipinfo.io, как сказал Бен Даулинг в другом ответе.

Я сделал скрипт Python, чтобы получить каждый IP-блок на ASN. У меня был список каждого номера AS в файле CSV. вот:

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'

Тем не менее, вы также можете использовать curl с ipinfo.io. Просто будьте вежливы и не делайте нелепо больших запросов к серверам.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.