2011-01-08  yumi-ii/tools IPアドレス確認/接続元の地域を調べる

姉妹サイトのyumi-ii/toolsに,「IPアドレス確認」と「接続元の地域を調べる」を公開しました。

http://www2s.biglobe.ne.jp/~yumi-ii/tools/kakunin/

「IPアドレス確認」の説明

IPアドレス確認」は,接続元のIPアドレスやブラウザ情報を表示します。いわゆる「確認君」と呼ばれているサイト相当の動作をします。

この手のページは,本来PROXYサーバを経由したときに,元のIPアドレスが漏洩していないか確認するために使います。しかし,今となってはPROXYを通してサイトにアクセスしようとする人は,稀かもしれません。

「接続元の地域を調べる」の説明

接続元の地域を調べる」は, IPアドレスやホスト名がどの地域に関連付けられているかを判別します。対象は日本国内のみです。海外からの接続は解析できません。

詳しい人なら気づくと思いますが,IPアドレスやホスト名は地域と関係があったり,なかったりします。また,ホスト名の決まりは,接続業者ごとにばらばらです。ローマ字表記の地域名がそのまま入っているホスト名もあれば,ランダムな数値の羅列にしか見えないホスト名もあります。

このため,正確に判別したい場合は,接続業者ごとにホスト名と地域との関係を調べなければならないのですが,今回は機械的に解いてみることにしました。

具体的には,24万件のホスト名の標本からN-gramモデルと統計手法を用いて,下のような表を作りました。(下表はOCNの例。)

OCNの表

表はドメインごとに作成してあります。地域を判別するときは,ドメインごとに表を取り出して,与えられたホスト名の断片から地域の確率を計算していきます。(単純な四則演算で地域を判別できます。間違えることもありますが。)

「こんなことをして,何の役に立つの?」と思った人がいるかもしれません。

地域の判別は,裏方の処理なのです。アプリケーションは別にあって,その背後で動くものなのです。よって,ただの実装例です。