特定のASに属するすべてのIP範囲を見つける方法は?


13

たとえばAS714に属するIP範囲を知りたい。

この情報を取得するにはどうすればよいですか?

私は逆の方法を知っています。これはwhoisで簡単です。しかし、他の方法はそれほど簡単ではないようです。


このASから発信されるIPアドレス範囲が必要ですか?(ASを持たない直接顧客)このASを介してのみ到達可能なIPアドレス範囲はどうですか?(独自のASを持っているお客様。)このASだけでなく、他のプロバイダーASからも到達可能なIPアドレス範囲はどうですか?(マルチホームのお客様。)
デビッドシュワルツ

1
目的は、プロバイダーが所有するすべてのIP範囲を見つけることでした。私が訪問して、この情報を得たbgp.potaroo.net/as1221/asnames.txtを AS番号とアウト見つけるためにripe.net/data-tools/stats/ris/routing-information-serviceをすべてのIPを取得するために、プレフィックスタブを介して範囲。他の可能性を知っていますか?
-JohnnyFromBF

回答:


17

これらは、http://ipinfo.io/AS714に関連する詳細とともにオンラインでリストされています(ASNを置き換えて、他のASNと同等の詳細を取得します)。

それらをブラウジングする代わりに、プログラムで取得する場合は、RADb whoisサーバーを使用できます。

$ 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ブロックリストを簡単に作成できるようになりました。
ヤリトゥルキア



3

これを見つけた他の人のために-私は本当にベン・ダウリングの答えが好きだった。ただし:

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

まったく異なる結果が得られる別の方法があります!Bensで出てこなかったFacebook IPをテストしていました。ヘッド結果。上記のリンクによると、IP4アドレスを照会する正しい方法は次のとおりです。

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

同様に素晴らしいのは、次のコマンドですべてのIP6アドレスを見つけることができるということです。

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

私が言うように-これをFacebook ASNで実行すると、IPアドレスが見つからないことがわかりました。

後で更新

残念ながら、Radb.netは正しいデータを提供しません!! ASN 19281たとえば、試してみると結果が表示されますが、パラメータなしで単にwhois radb.netを実行すると、「レコードが見つかりません」と表示されます。私見では十分に正確ではないようです。


この方法は、FacebookのIEのような長いリストでは問題があります。whois -h whois.radb.net -- '!6as32934'アドレスの途中で改行で「クリップ」される
-Hvisage

つまり、次のようにncを使用する必要がありますecho '!6as32934'|nc whois.radb.net 43
。– Hvisage

1

bgp.he.netへのクエリを実際に自動化できないことを発見し、403の応答を取得し続け、ユーザーエージェントを偽装したときに、実際のブラウザであることを確認しようとしました。私はbgp.he.netですべてに失敗しました(サイトに連絡することさえ)。

私にとってDIDが機能するのは、Ben Dowlingが別の回答で述べたように、http://ipinfo.ioを照会することでした。

ASNごとにすべてのIPブロックを取得するためにPythonスクリプトを実行しました。csvファイルにすべてのAS番号のリストがありました。ここにあります:

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'

つまり、ipinfo.ioでcurlを使用することもできます。丁寧にしようとし、サーバーに不当に大きなクエリを実行しないでください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.