結構お手軽に IP アドレスから国コードを検索 - にぽたん研究所

December 19, 2006

このエントリーをはてなブックマークに追加
ご無沙汰しています。
自宅サーバの HDD が異音と共にぶっ壊れてしまい、10 分で作る Sledge アプリの動画とかのサルベージが出来ず、すっかり意気消沈の今日この頃、皆様いかがお過ごしですか。

なんか先日、「誰が攻撃しているか突き止めたい」というネタがホッテントリになってて、それに合わせてIPひろばというサイトもホッテントリになってました。
空前の逆探知ブームなのでしょうか。

変なカップヌードルの食べかたをする半袖さんが、それを追うように、DNSBLスタイルのクエリーを利用してIPアドレスから国コードを検索というネタを書いていますが、IP アドレスを元に国コードを調べるコマンドラインには、こんな方法もあります。

Geography::Countries と、IP::Country という CPAN モジュールを入れると、ip2cc というコマンドラインツールもインストールされます。
半袖さんが host コマンドを利用して、www.livedoor.com の A レコードを引き、NetOp: IP geolocation via DNS を利用して、
country.netop.orgをsuffixとし、
prefixにはIPアドレスを4オクテット目から表記したクエリを投げる。
という方法で、下記のように行なってました。
$ host -t a www.livedoor.com
www.livedoor.com        A       203.131.197.197
$ host -t txt 197.197.131.203.country.netop.org
197.197.131.203.country.netop.org       TXT     "JP"
少々面倒な方法 (IP アドレスを 4 オクテット目からとかが若干面倒) ですが、これをもっとお手軽にするには、先程の IP::Country に同梱されている ip2cc を使って下記のように出来ます。
% host -t a www.livedoor.com
www.livedoor.com        A       203.131.197.197
% ip2cc 203.131.197.197

  IP::Country modules (v2.22)
  Copyright (c) 2002-05 Nigel Wetters Gourlay
  Database updated Sun Dec 17 12:20:26 2006

  Address: 203.131.197.197
  Country: JP (Japan)
ちなみに、Socket::inet_aton() から Socket::inet_ntoa() を通すと正引きも出来るので、host コマンドを使わなくとも、
% ip2cc www.livedoor.com

  IP::Country modules (v2.22)
  Copyright (c) 2002-05 Nigel Wetters Gourlay
  Database updated Sun Dec 17 12:20:26 2006

  Name: www.livedoor.com
  Address: 203.131.197.197
  Country: JP (Japan)
と、正引き→国コードも一括で出来、ip2cc コマンドで、結構お手軽に国コードがわかります。

nipotan at 14:55 | Comments(0) | TrackBack(1) | 技術 
このエントリーをはてなブックマークに追加

Trackback URL for this entry

Trackbacks

1. YAPC::Asia::2007をiPodで(聞く|見る)  [ ネットPR.JP - netpr.jp - ]   April 23, 2007 14:06
<a href="http://tokyo2007.yapcasia.org/blog/ja/">YAPC::Asia 2007 Tokyo</a>が、先日開催されました。YAPCは、アプリケーションを作る時に使用するPerlというプログラミング言語を使用しているユーザが集まり、普段のノウハウをプレゼンしあうイベントです。 イベントは、...

Post a comment

Name:
URL:
  Remember info?: Rate: Face    Star