アジア太平洋地域の割り当て済みアドレス一覧

 ブッシュ大統領の公式サイト、米国外からの閲覧を拒否より、こんなものがあるのね。てことはこいつの更新をチェックして、

#!/usr/bin/perl

%mask = (
	2 => '255.255.255.254',
	4 => '255.255.255.252',
	8 => '255.255.255.248',
	16 => '255.255.255.240',
	32 => '255.255.255.224',
	64 => '255.255.255.192',
	128 => '255.255.255.128',
	256 => '255.255.255.0',
	512 => '255.255.254.0',
	1024 => '255.255.252.0',
	2048 => '255.255.248.0',
	4096 => '255.255.240.0',
	8192 => '255.255.224.0',
	16384 => '255.255.192.0',
	32768 => '255.255.128.0',
	65536 => '255.255.0.0',
	131072 => '255.254.0.0',
	262144 => '255.252.0.0',
	524288 => '255.248.0.0',
	1048576 => '255.240.0.0',
	2097152 => '255.224.0.0',
	4194304 => '255.192.0.0',
	8388608 => '255.128.0.0',
	16777216 => '255.0.0.0',
	33554432 => '254.0.0.0',
	67108864 => '252.0.0.0',
	134217728 => '248.0.0.0',
	268435456 => '240.0.0.0',
	536870912 => '224.0.0.0',
	1073741824 => '192.0.0.0',
	2147483648 => '128.0.0.0',
);

while (<>) {
	next unless (/^apnic\|(CN|KR)\|ipv4\|([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)\|([0-9]+)\|[0-9]+\|allocated$/);
	print "$1\t$mask{$2}\n";
}

てなフィルタ*1かましてやると、「鬱陶しいIPアドレスのリスト」ができあがるわけで、そこからさらにiptablesのルールを更新してやったりすると、面白いことができそう。

*1:本能で書いてます。デバッグしてません。