Chcę wiedzieć, jakie zakresy adresów IP należą na przykład do AS714.
Jak uzyskać te informacje?
Wiem, jak to zrobić odwrotnie, co jest łatwe w Whois. Ale druga droga nie wydaje się taka łatwa.
Chcę wiedzieć, jakie zakresy adresów IP należą na przykład do AS714.
Jak uzyskać te informacje?
Wiem, jak to zrobić odwrotnie, co jest łatwe w Whois. Ale druga droga nie wydaje się taka łatwa.
Odpowiedzi:
Są one wymienione online wraz z powiązanymi szczegółami na stronie http://ipinfo.io/AS714 (zastąp ASN, aby uzyskać równoważne szczegóły dla każdego innego ASN).
Jeśli zamiast przeglądać je wolisz programowo, możesz użyć serwera 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, właśnie znalazłem jeden prosty sposób. Po prostu umieść ten http://bgp.he.net/[ASXXX]#_prefixes w swojej przeglądarce, gdzie [ASXXX] jest pewnym AS i liczbą taką jak http://bgp.he.net/AS714#_prefixes .
Dla każdego, kto to znajdzie - bardzo podobała mi się odpowiedź Bena Dowlinga . Jednak zgodnie z:
http://www.radb.net/support/query2.php
Istnieje inny sposób, który daje również bardzo różne wyniki! Testowałem adres IP na Facebooku, który nie pojawił się w Bens '| wyniki głowy. Zgodnie z powyższym linkiem poprawnym sposobem zapytania o adresy IP4 byłoby:
whois -h whois.radb.net '!gas714'
Równie fajny jest fakt, że możesz teraz znaleźć wszystkie adresy IP6 za pomocą:
whois -h whois.radb.net '!6as714'
Jak mówię - kiedy uruchomiłem to dla ASN na Facebooku, znalazłem mój brakujący adres IP.
Późniejsza aktualizacja
Niestety Radb.net nie podaje poprawnych danych !! Spróbuj ASN 19281
na przykład, a zobaczysz podane wyniki, ale jeśli po prostu whois radb.net bez parametrów, powie „Nie znaleziono rekordów”. IMHO nie wydaje się wystarczająco dokładne.
whois -h whois.radb.net -- '!6as32934'
który zostaje „przycięty” nowym wierszem pośrodku adresów
echo '!6as32934'|nc whois.radb.net 43
Odkryłem, że tak naprawdę nie można zautomatyzować zapytań do bgp.he.net, ciągle otrzymywałem 403 odpowiedzi, a potem, gdy sfałszowałem klienta, próbowałem zweryfikować, czy rzeczywiście jestem prawdziwą przeglądarką. Z bgp.he.net poniekąd mi się nie udało (nawet skontaktowałem się z witryną).
To, co zadziałało dla mnie, to zapytanie http://ipinfo.io, jak powiedział Ben Dowling w innej odpowiedzi.
Zrobiłem skrypt Pythona, aby uzyskać każdy blok IP na ASN. Miałem listę każdego numeru AS w pliku csv. tutaj jest:
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'
To powiedziawszy, możesz także używać curl w ipinfo.io. Po prostu bądź uprzejmy i nie rób absurdalnie dużych zapytań do serwerów.