Blog トップページ

本コンテンツはBlogから切り離し、静的ページに移行しました

アジア・太平洋地域の国別 IPv6, IPv4 アドレスリスト(9/23/2018付け)

APNICが公開するIPv4及びIPv6アドレスを、国別に集計したものを公開する。

私がこのリストを作成し始めた動機は、IPv4アドレスの国別リストを提供するウェブサイトはいくつかあったが、IPv6アドレスが増えつつある今なお、IPv6アドレスの国別リストを提供してくれるウェブサイトがなかったからである。(今も存在しないかもしれない。)

リストの用途は、中国、韓国などの特定の国からのアクセスを、P2Pソフトやファイアウォール(ipfw, ip6fw 等)によって遮断(フィルタリング)することにある。尚、Mac OS X、及び、少なくともそれと同系統のFreeBSDにおいては、ipfwはIPv6アドレスを扱えず、代わりにip6fwを用いることに留意されたい。

ファイル中の改行コードは LF(Mac OS Xを含むUnix系システム向け)なので、Windowsで使用する場合は CR+LF に変換する必要がある。

表示形式は、IPv6については、IPアドレスの範囲で示すものと、CIDR形式の両方を用意した。IPv4のCIDR形式は、ここ「世界の国別 IPv4 アドレス割り当てリスト」を読んで、正しい変換を行うのが大変だと判明したので作成せず(注)、範囲表示のものだけを公開する。IPv6に関しては、APNICのデータが元々サブネットの単位で出来ているため、データの変換が単純であり、CIDR形式も簡単に作成できる。

プログラムはPerlで作成しており、アドレス形式の変換部分には、CPANの Net::IPモジュールを用いた。先の(注)の箇所に後日談として補足すると、Net::Netmaskモジュールの range2cidr() 関数を用いると、IPv4アドレスを範囲表示からCIDR形式に変換出来るようだ。もちろん、一つの範囲に複数のCIDRブロックがあっても、ということだ。

ダウンロード
APNIC IPv6国別IPリスト(範囲表示)apnic_ipv6.txt.gz (14KB)

APNIC IPv6国別IPリスト(CIDR)apnic_ipv6_CIDR.txt.gz (6KB)

APNIC IPv4国別IPリスト(範囲表示)apnic_ipv4.txt.gz (107KB)

対象は、APNIC(アジア・太平洋地域をカバーする)の管轄下にあるIPv6, IPv4アドレスで、ステイタスがallocatedとassignedのものを抽出した。
ftp://ftp.apnic.net/pub/apnic/stats/apnic/

プロトコルタイプ(IPv6, IPv4)別のファイルにした上で、中身を国別に並び替えた。国の変り目には、"## CN ##" のような区切りを入れた。

IPv6の例:

範囲で表示(都合によりゼロは省略せず):
2001:0250:0000:0000:0000:0000:0000:0000 - 2001:0250:1fff:ffff:ffff:ffff:ffff:ffff

CIDR形式(プリフィックス)で表示: 2001:250::/35

IPv4の例:

範囲で表示: 61.87.192.0 - 61.88.0.0


主な国のコードは次の通り。
KR:韓国
TW:台湾
CN:中国
HK:香港(中国)
MO: マカオ
KP:北朝鮮
SG:シンガポール
PH:フィリピン
TH:タイ
MY:マレーシア
ID:インドネシア
VN: ベトナム
IN:インド
AU:オーストラリア
NZ:ニュージーランド