新しいORCA FAQ


« ntpは気を付けよう | メイン | Windows95,98,Meの漢字のユーザ名でsambaに接続 »

自分のインターネット上の現在のグローバルIPを知る方法

LinuxのLAN内のコンピュータがルータにより
インターネットに繋がっている場合です。
外部ホームページサーバのperlの動く部分に置く
ip.cgi
--------------------------------------------------
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
$ip=$ENV{'REMOTE_ADDR'};
$ip=~/(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/;
$err=0;
if($1<0 || $1>255){$err=1;}
if($2<0 || $2>255){$err=1;}
if($3<0 || $3>255){$err=1;}
if($4<=0 || $4>=255){$err=1;}
if($err==0){print $ip;}
else {print "ERR";}
--------------------------------------------------

クライアントは、インターネット接続できればLAN内クライアントでもかまわない。
モジュール「libwww-perl」をインストール
qu.cgi
--------------------------------------------------
#!/usr/bin/perl
use LWP::UserAgent;
$webagent = new LWP::UserAgent;
#ip.cgiを置いた場所
$url="http://www2d.biglobe.ne.jp/~hasegawa/ip/ip.cgi";
$request = new HTTP::Request(GET => $url);
$response = $webagent->request( $request );
if ( $response->is_success ) {
$doc=$response->content;
print "$doc\n";
}
--------------------------------------------------

投稿者 hasegawa : 2005年06月26日 17:27

コメント