2012-10-28 9 views
8

特定のIPアドレスを対応するASN番号に簡単にマッピングする方法はありませんか?たとえば、次のようにIPからASNへのマッピングアルゴリズム

のIPアドレスを調べるためのping:ASN番号の

$ ping www.switch.ch 
PING aslan.switch.ch (130.59.108.36) 56(84) bytes of data. 

のwhois検索:

$ whois -h whois.cymru.com -v 130.59.108.36 
Warning: RIPE flags used with a traditional server. 
AS  | IP    | BGP Prefix   | CC | Registry | Allocated | AS Name 
559  | 130.59.108.36 | 130.59.0.0/16  | CH | ripencc | 1993-09-22 | SWITCH SWITCH, Swiss Education and Research Network 

をので、この場合のマッピングは130.59.108.36(IP)になります - >559(ASN)。簡単です。しかし、地域のインターネットレジストリから公開されている情報を使って自分のローカルマッピングサービスを作成したいのですが?したがって、上記の例では、このリストになります。

ftp://ftp.ripe.net/pub/stats/ripencc/delegated-ripencc-latest 

と一致するentrieを見つけることも問題ではありません。

ripencc|CH|ipv4|130.59.0.0|65536|19930922|assigned 

しかし、どのように私は、上記の行からASN番号を得るのですか?これら2つの情報はどのようにリンクされていますか?

ripencc|EU|asn|559|1|19930901|allocated 

お返事ありがとうございます!

答えて

2

実際のBGPスピーカーから収集したMRTダンプに基づいてこれを行うことを提案したいと思います。

このpythonライブラリf.eがあります。それは簡単にMRTを解析するために使用することができますダンプします。http://code.google.com/p/pyasn/

をあなた自身のBGPスピーカを実行することができないなら、あなたはあまりにも彼らの他のものをチェックアウトしていることを確認してくださいhttp://archive.routeviews.org/

でダンプをダウンロードすることができます。私はここにこれを行う方法について説明し

8

... http://archive.routeviews.org/dnszones/

私はあなたが開始されることを願っています:彼らはまた、このようなバインドやNSDなどの標準的なDNSサーバーを使用して、このような検索を行うことができますでしょうzonefilesをDNS提供します: https://www.quaxio.com/bgp/(旧:https://alokmenghrajani.github.io/bgp/

基本的には、ルータからダンプをダウンロードし、効率的なデータ表現を使用してIPアドレスをネットマスクにマッピングします。

+0

こんにちは。ですから、私の基本を正しく理解するために、あなたの方法はMaxmindから提供されたものと同じ情報を得る代わりの方法を提供しています(上記の答えを参照)。それとも質的には違うのでしょうか?ありがとう – sandyp

+0

基本的には、おそらく同じです。これはあまり魔法ではありません。生データを取得する方法を説明します。私はそれをどのように処理するか説明します。 – Alok

0

私はHTTPログラインにASNを追加するツールを作っています。 RIPEの生データからデータベースを構築し、バイナリ検索で使用する方法を説明します。また、Cコードは使用できる状態になっています。通常の仮想インスタンスで数秒で1.6Mルックアップ:

関連する問題