Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

国別 IP アドレス割り当てリスト

      2013/07/15

サーバを立てているとあちこちから不正アクセスがくるもので、特に不正アクセスが多い国はアクセス禁止にしているサイトもあると思います。

そこで、どの国がどの IPを使っているかは、IPを管理している組織 IANA(Internet Assigned Numbers Authority) で調べることができます。といっても、IANAは地域別に以下のように分かれているので、実際の国別のIPの管理はこれらの組織が行っていますが、どこにリストがあってどうやって見ればよいかよくわからなかったので、調べてみました。組織へのリンクと、割り当てのリストへのリンク(allocation and assignment reports)です。delegated-apnic-日付というファイル名でアップロードされています。

ファイルには、以下のようなリストが載っています。ipv4と書いてある行が調査の対象行です。

apnic|NZ|asn|2.102|1|20090305|allocated
apnic|NZ|asn|2.104|1|20090409|allocated
apnic|AU|asn|2.105|1|20090421|allocated
・・・
apnic|JP|ipv4|58.0.0.0|131072|20050106|allocated
apnic|IN|ipv4|58.2.0.0|65536|20050110|allocated
apnic|JP|ipv4|58.3.0.0|32768|20050304|allocated
・・・・

ヘッダにフォーマットの説明へのリンクが載っていましたので見てみたところ、以下のようなフォーマットらしいです。(サイトから引用)

registry|cc|type|start|value|date|status[|extensions...]
registry One value from the set of defined strings:

{afrinic,apnic,arin,iana,lacnic,ripencc};
cc ISO 3166 2-letter code of the organisation to which the allocation or assignment was made, and the enumerated variances of:

{AP,EU,UK}

These values are not defined in ISO 3166 but are widely used.

type Type of Internet number resource represented in this record. One value from the set of defined strings:{asn,ipv4,ipv6}
start In the case of records of type ‘ipv4’ or ‘ipv6’ this is the IPv4 or IPv6 ‘first address’ of the range.In the case of an 16 bit AS number the format is the integer value in the range 0 to 65535, in the case of a 32 bit ASN the value is in the range 0 to 4294967296. No distinction is drawn between 16 and 32 bit ASN values in the range 0 to 65535.
value In the case of IPv4 address the count of hosts for this range. This count does not have to represent a CIDR range.In the case of an IPv6 address the value will be the CIDR prefix length from the ‘first address’ value of <start>.In the case of records of type ‘asn’ the number is the count of AS from this start value.
status Type of allocation from the set:

{allocated, assigned}

This is the allocation or assignment made by the registry producing the file and not any sub-assignment by other agencies.

extensions Any extra data on a line is undefined, but should conform to use of the field separator used above.

説明を読む限り、startが割り当て開始のIPアドレス、valueがそのアドレスから割り当てられているIPアドレス数のようです。

つまり以下の行の場合、

apnic|JP|ipv4|58.65.32.0|8192|20060921|allocated

JP(日本)に、58.65.32.0から8192個のIPのIPが割り当てられているということになります。これをIPの範囲で計算すると、8192/256=32なので、

58.65.32.0 ~ 58.65.63.255

となります。 計算できなくIPの基本を知らない人は別途勉強してください。

下記参考ページに、これらの計算を処理してくれるperlのスクリプトを公開してくれていますので、リストを作成したい場合は参照してみてください。

参考
http://fetus.k-hsu.net/document/network/ipv4assign/

http://www.nminoru.jp/~nminoru/memo/ip-address/what_country_from.html

 - IT技術, ネットワーク

336px

Message

メールアドレスが公開されることはありません。

  関連記事

no image
USBハードディスクにWindows 7インストール

今あるPCのシステムを消したくなかったので、USBハードディスクにWindows …

no image
VMware 2.0 を専用クライアントで使う (msiからファイルの抽出)

VMware 2.0 は基本的にWebインタフェースしか使えないと思っていました …

no image
Amazonのタイムアウト

Amazon へアクセスすると、過去に利用したことがあると”こんにちは○○さん” …

no image
ディスクイメージをデバイスファイルとして扱う@CentOS5.4 + Xen

※ 2015/4/30追記 : mountオプションで直接マウントする方法を書き …

no image
パイプでつないだコマンドの戻り値を調べる@bash

シェルスクリプトで、実行したコマンドの戻り値を知る方法は有名ですよね。 以下のよ …

no image
NICに複数のIPを付与する方法@Linux

1つのNICに複数のIPをつける方法の覚え書き。eth0にもう一つIP(192. …

no image
ゲストOSの時刻同期@VMware + adjtimeでの調整

Windows上のVMware ServerでゲストOSとしてLinux (De …

no image
スペースの入ったディレクトリ名やファイル名をスクリプトで処理する@Linux

findコマンドでスペース入ったディレクトリやファイルを検索し、その結果をfor …

no image
マネージドBeanのスレッドセーフについて

サーブレットは、web.xmlのservlet要素毎にひとつつくられるため、複数 …

no image
DLNAサーバ TVersity

PS3はDLNAクライアント機能があるため、ネットワーク上にある音楽や動画を再生 …