WhereIP: IPアドレスから国を調べる

あるIPアドレスがどの国に割り当てられているのかを調べるには whois サービスを使うのが簡単だが、大量のIPアドレスについて調べたい時は whois ではちょっとつらい。そこで、IPアドレスの割り当てについて調べてみた。
IPアドレスは、IACNN(旧IANA)が RIR*1にアドレスを割り当てて、各 RIR は各国のNIR*2などの組織にアドレスを割り当てる、という仕組みになっている。
IPアドレスがどの国のものなのかは RIR での割り当て情報を調べれば良い。

ということで、割り当て情報ファイルを元にIPアドレスがどの国のものなのかを調べるツールを Ruby で書いてみた。

キャッシュの取り扱いをもう少し何とかしたい。

*1:Regional Internet Registry: 地域インターネットレジストリ。ARIN、APNIC、RIPE NCC、LACNIC、AfriNIC の5つ。

*2:National Internet Registry: 国別インターネットレジストリ。日本なら JPNIC