CountryCode IPList

グローバルIPv4アドレス、ユニキャストIPv6アドレスは、
5つの地域インターネットレジストリ(RIR:Regional Internet Registry)で管理を行っており、
RIRで国別に割り当てたIPアドレスリストは都度更新される形でインターネット公開されている。

 
国別IPアドレスリストが必要になりRIRの公開しているファイルを利用する事があるのだが、
セグメント情報がCIDR形式で記載されていない為、利用する際に工夫が必要となる。
これら配布ファイルをCIDR形式に修正して一般公開しているサイトは多数あるのだが、
ファイルをIPv4/IPv6両方生成しつつ、デュアルスタックで配布サイト運営している所が無かったのでやってみた。

注意事項

  1. ファイル利用による損益について、一切の責任を負いません
  2. 配布状況によって、ダウンロードURLの変更・ファイルの公開停止をする場合があります
  3. 毎日深夜1時頃にファイルを更新しますが、メンテナンスで更新が遅れる事もあります
  4. ファイルを自動取得する場合、負荷軽減の為に圧縮ファイルをご利用下さい

ファイル

FormatIPv4IPv6
texthoge.txthoge.txt
gziphoge.txthoge.txt
bzip2hoge.txthoge.txt
xzhoge.txthoge.txt
md5hoge.txthoge.txt

 



スクリプト

IPアドレスリストをCIDR形式に整形するスクリプトも、実際に利用している物を公開。
今回はLinuxでの実行を前提にPerlでスクリプトを作成してみました。
ライセンスについて、筆者が作成した整形スクリプトは好きに改変して大丈夫ですが、
外部ライブラリのライセンスについてはライブラリ配布元に帰属とします。

参考サイト

スクリプト

公開日ファイル名MD5
2017/12/15iplist_20151215.zipb1d878a9d2f8472891b0a24b6b779d25


初期設定

スクリプトにヘルプを埋め込んであるので「./script.pl --help」で内容を確認しつつ初期設定をして下さい。
ただし、スクリプト実行パス・ファイル保存先などは変数に直書きしている為、
下記解説に従ってヘルプ閲覧前に該当箇所を書き換えてください。
 

 make-country-iplist.pl
 make-country-getrir.pl
 make-country-modify.pl
 make-country-output.pl
 make-country-webdir.pl


実行コマンド

スクリプト変数を下記内容に設定し、未記載の変数をデフォルトとした場合の実行例。
CPU処理速度にも左右されますが処理完了まで5分かかります。