国別のIP取得状況 (APNIC)

APNICで管理しているIPアドレス一覧を取得し、アクセス制限などに活用したい。

http://openmya.hacker.jp/hiki/hiki.cgi?Openmya%C5%AA%A5%BD%A5%D5%A5%C8%A4%C7%CD%DF%A4%B7%A4%A4%A4%E2%A4%CE

(1) APNIC から "delegated-apnic-latest.txt" を取得

wget http://ftp.apnic.net/stats/apnic/delegated-apnic-latest
データフォーマットは、次の通り。
apnic|JP|ipv4|58.0.0.0|131072|20050106|allocated
	セパレータ "|"
	第 1 フィールド "apnic" 固定
	第 2 フィールド Country Code
	第 3 フィールド データタイプ (IPv4 アドレスの場合 "ipv4")
	第 4 フィールド 先頭アドレス
	第 5 フィールド 割り当て IP アドレス数 (10 進数)
	第 6 フィールド 割り当て日付
	第 7 フィールド 割り当て状態
ホスト数を下記のようにマスク値に変換すればフィルタリングリストと
して使用可能となる。(この部分がスクリプトの要)
サブネットマスク:
	ホスト数 マスク (マスクビット数)
	256 -> 255.255.255.0 (24)
	512 -> 255.255.254.0 (23)
	1024 -> 255.255.252.0 (22)
	2048 -> 255.255.248.0 (21)
	4096 -> 255.255.240.0 (20)
	8192 -> 255.255.224.0 (19)
	16384 -> 255.255.192.0 (18)
	32768 -> 255.255.128.0 (17)
	65536 -> 255.255.0.0 (16)
	131072 -> 255.254.0.0 (15)
	262144 -> 255.252.0.0 (14)
	524288 -> 255.248.0.0 (13)
	1048576 -> 255.240.0.0 (12)
	2097152 -> 255.224.0.0 (11)
	4194304 -> 255.192.0.0 (10)
	8388608 -> 255.128.0.0 (9)
	16777216 -> 255.0.0.0 (8)
	33554432 -> 254.0.0.0 (7)
	67108864 -> 252.0.0.0 (6)
	134217728 -> 248.0.0.0 (5)
	268435456 -> 240.0.0.0 (4)
	536870912 -> 224.0.0.0 (3)
	1073741824 -> 192.0.0.0 (2)
	2147483648 -> 128.0.0.0 (1)

ダウンロードするデータの書式の詳細はこちら↓
http://www.apnic.net/db/rir-stats-format.html