Я хочу знать, какие диапазоны IP-адресов относятся, например, к AS714.
Как я могу получить эту информацию?
Я знаю, как сделать наоборот, что легко с whois. Но другой путь не кажется таким легким.
Я хочу знать, какие диапазоны IP-адресов относятся, например, к AS714.
Как я могу получить эту информацию?
Я знаю, как сделать наоборот, что легко с whois. Но другой путь не кажется таким легким.
Ответы:
Они перечислены онлайн с соответствующими деталями на 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
Хорошо, я только что нашел один простой способ. Вы просто помещаете эти http://bgp.he.net/[ASXXX]#_prefixes в свой браузер, где [ASXXX] - это определенная AS и число, подобное этому http://bgp.he.net/AS714#_prefixes .
Для всех, кто найдет это - мне очень понравился ответ Бена Доулинга . Однако согласно:
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 без параметров, он скажет «Записи не найдены». Это не кажется достаточно точным ИМХО.
whois -h whois.radb.net -- '!6as32934'
это "обрезается" с новой строкой в середине адресов
echo '!6as32934'|nc whois.radb.net 43
Я обнаружил, что вы не можете действительно автоматизировать запросы к 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. Просто будьте вежливы и не делайте нелепо больших запросов к серверам.