ASN データベースは、自律システム番号(ASN)とIP アドレス範囲(IPv4 / IPv6)の対応関係を記録します。 これにより、特定の IP がどの通信事業者/クラウド事業者/機関に属するかを判定でき、プロキシ分流、ネットワーク分析、ルーティング最適化、セキュリティリスク管理などの用途に役立ちます。 ASN データは一般に BGP の経路アナウンスに基づいており、実際のネットワーク帰属に近い情報です。
ASN とは?
ASN(Autonomous System Number)は、独立した自律ネットワークに割り当てられる識別番号です。各 ASN は、組織により一元管理され、外部から到達可能なネットワークドメインを表します。 例:China Telecom(AS4134)、China Mobile(AS9808)、China Education and Research Network(AS4538)など。
ASN は「ネットワークの身分証」のようなものです。ASN により、IP の上位ネットワークや事業者、クラウド事業者の所属を迅速に特定できます。
ASN データベースでできること
- IP の所属ネットワーク/組織の判定(事業者・クラウド・学校などの識別)。
- ASN 単位での精密な分流(国内/海外、三大キャリア、特定クラウド事業者など)。
- ネットワーク最適化:ASN に基づく経路選好、ノードスケジューリング、QoS ポリシー。
- セキュリティ分析:異常アクセスの追跡、「クラウドプロキシ帯/IDC 帯/住宅帯」の識別。
データ構造(列の説明)
2 つのテーブルは同一スキーマです:
start_ip:開始 IP(IPv4 / IPv6)。end_ip:終了 IP(IPv4 / IPv6)。asn:自律システム番号(整数)。country_code:国・地域コード(例:US、CN)。organization:組織/企業/ネットワーク名。
テーブル名:asn_ipv4_prefixes、asn_ipv6_prefixes。
オンラインダウンロード
出力形式は JSON (.gz)、CSV (.gz)、SQL (.gz) の 3 種類(IPv4 / IPv6 をそれぞれ提供)。
| 提供元 | タイプ | 形式 | ダウンロード | 説明 |
|---|---|---|---|---|
| IPIN | IPv6 | JSON (.gz) | ASN → IPv6 プレフィックスの対応。JSON 配列で、プログラム処理に適しています。 | |
| IPIN | IPv6 | CSV (.gz) | 標準のカンマ区切り。ヘッダー付き。表計算/ETL に最適。 | |
| IPIN | IPv6 | SQL (.gz) | テーブル作成と INSERT 文を同梱。MySQL へ直接インポート可能。 | |
| IPIN | IPv4 | JSON (.gz) | ASN → IPv4 プレフィックスの対応。JSON 配列で、プログラム処理に適しています。 | |
| IPIN | IPv4 | CSV (.gz) | 標準のカンマ区切り。ヘッダー付き。表計算/ETL に最適。 | |
| IPIN | IPv4 | SQL (.gz) | テーブル作成と INSERT 文を同梱。MySQL へ直接インポート可能。 |
注:すべての配布物は .gz で圧縮済みです。ダウンロード後は gunzip で展開、またはストリームとして直接処理できます。
コマンドラインでの高速ダウンロード
curl
# IPv6 JSON
curl -fL -OJ 'https://ipin.io/download/export?type=ipv6&format=json'
# IPv6 CSV
curl -fL -OJ 'https://ipin.io/download/export?type=ipv6&format=csv'
# IPv6 SQL
curl -fL -OJ 'https://ipin.io/download/export?type=ipv6&format=sql'
# IPv4 JSON
curl -fL -OJ 'https://ipin.io/download/export?type=ipv4&format=json'
# IPv4 CSV
curl -fL -OJ 'https://ipin.io/download/export?type=ipv4&format=csv'
# IPv4 SQL
curl -fL -OJ 'https://ipin.io/download/export?type=ipv4&format=sql'
wget
# サーバーのファイル名を自動採用(--content-disposition)
# IPv6
wget --content-disposition 'https://ipin.io/download/export?type=ipv6&format=json'
wget --content-disposition 'https://ipin.io/download/export?type=ipv6&format=csv'
wget --content-disposition 'https://ipin.io/download/export?type=ipv6&format=sql'
# IPv4
wget --content-disposition 'https://ipin.io/download/export?type=ipv4&format=json'
wget --content-disposition 'https://ipin.io/download/export?type=ipv4&format=csv'
wget --content-disposition 'https://ipin.io/download/export?type=ipv4&format=sql'
# 保存名を指定 + レジューム
wget -c -O asn_ipv6_prefixes.json.gz 'https://ipin.io/download/export?type=ipv6&format=json'
wget -c -O asn_ipv6_prefixes.csv.gz 'https://ipin.io/download/export?type=ipv6&format=csv'
wget -c -O asn_ipv6_prefixes.sql.gz 'https://ipin.io/download/export?type=ipv6&format=sql'
wget -c -O asn_ipv4_prefixes.json.gz 'https://ipin.io/download/export?type=ipv4&format=json'
wget -c -O asn_ipv4_prefixes.csv.gz 'https://ipin.io/download/export?type=ipv4&format=csv'
wget -c -O asn_ipv4_prefixes.sql.gz 'https://ipin.io/download/export?type=ipv4&format=sql'
aria2c(マルチスレッド高速ダウンロード)
# IPv6
aria2c -x16 -s16 -k1M -o asn_ipv6_prefixes.json.gz 'https://ipin.io/download/export?type=ipv6&format=json'
aria2c -x16 -s16 -k1M -o asn_ipv6_prefixes.csv.gz 'https://ipin.io/download/export?type=ipv6&format=csv'
aria2c -x16 -s16 -k1M -o asn_ipv6_prefixes.sql.gz 'https://ipin.io/download/export?type=ipv6&format=sql'
# IPv4
aria2c -x16 -s16 -k1M -o asn_ipv4_prefixes.json.gz 'https://ipin.io/download/export?type=ipv4&format=json'
aria2c -x16 -s16 -k1M -o asn_ipv4_prefixes.csv.gz 'https://ipin.io/download/export?type=ipv4&format=csv'
aria2c -x16 -s16 -k1M -o asn_ipv4_prefixes.sql.gz 'https://ipin.io/download/export?type=ipv4&format=sql'
PowerShell
# IPv6
Invoke-WebRequest -Uri "https://ipin.io/download/export?type=ipv6&format=json" -OutFile "asn_ipv6_prefixes.json.gz"
Invoke-WebRequest -Uri "https://ipin.io/download/export?type=ipv6&format=csv" -OutFile "asn_ipv6_prefixes.csv.gz"
Invoke-WebRequest -Uri "https://ipin.io/download/export?type=ipv6&format=sql" -OutFile "asn_ipv6_prefixes.sql.gz"
# IPv4
Invoke-WebRequest -Uri "https://ipin.io/download/export?type=ipv4&format=json" -OutFile "asn_ipv4_prefixes.json.gz"
Invoke-WebRequest -Uri "https://ipin.io/download/export?type=ipv4&format=csv" -OutFile "asn_ipv4_prefixes.csv.gz"
Invoke-WebRequest -Uri "https://ipin.io/download/export?type=ipv4&format=sql" -OutFile "asn_ipv4_prefixes.sql.gz"
ヒント:取得ファイルは .gz 形式です。gunzip などで解凍するか、アプリ内でストリームとして直接処理できます。
使い方(クイックスタート)
- JSON / CSV / SQL ファイルをダウンロードして解凍(または解凍ストリームを直接処理)。
- データベースへインポート、またはアプリのインメモリモデルへ読み込み。
- ASN/組織/国別に、ルーティング優先やブラック/ホワイトリストなどの分流・セキュリティポリシーを定義。
- (日次/週次などの)定期ジョブを組み、継続的に更新。
形式の説明
JSON
配列形式。各要素は start_ip、end_ip、asn、country_code、organization を含みます。
CSV
先頭行はヘッダー。カンマや二重引用符を含むフィールドは RFC 4180 に準拠してエスケープ済みです。
SQL
テーブル作成と一括 INSERT 文を同梱。MySQL へそのまま取り込み可能です。
補足情報
データは BGP 経路および公開レジストリ情報を集約しています。中国本土の ASN のみが必要な場合は、 bgp.he.net/country/CN を参照してください。
よくある質問(FAQ)
- CSV が JSON より小さい/大きいのはなぜですか? 文字列エスケープやフィールド冗長性の影響です。情報量は同一なので、処理フローに合わせて選択してください。
- 増分更新は可能ですか? 現在はフルエクスポートのみです。上書きインポートする定期タスクの利用を推奨します。
- ダウンロードが失敗・タイムアウトします。 上記の curl / wget / aria2c を使用し、大容量ファイルのダウンロードが許可されたネットワークか確認してください。サーバー側はストリーム圧縮出力に対応しており、大規模テーブルでも効率的です。