#!/usr/bin/perl use Socket; ##初期設定 $port = 5000; #ポート番号 $log = "./namaip.txt"; #ログファイル名 $server = "galgame.ac"; #自分のサーバー名 ##Socketのコネクションを張る。すべてお題目と思って頂いてOK socket( SOCK, PF_INET, SOCK_STREAM, getprotobyname('tcp')); setsockopt(SOCK,SOL_SOCKET,SO_REUSEADDR,1); bind( SOCK, pack_sockaddr_in($port, INADDR_ANY )); listen( SOCK, SOMAXCONN ); ##接続の準備が完了したら、htmlの表示 print "Content-type: text/html\n\n"; print ""; #表示部分のタグをprintさせる。 print ""; print "Location:telnet://$server:$port";#htmlのタグを送った後につける close(STDOUT); #Acceptで接続がくるまで待機します $paddr = accept( SOCK2, SOCK ); #バッファクリア select(SOCK2); $|=1;select( STDOUT ); # ホスト名、IPアドレス、クライアントのポート番号を取得 ($port,$ip) = unpack_sockaddr_in($paddr); $getserv = gethostbyaddr($ip,AF_INET); $getip = inet_ntoa($ip); ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =localtime(time); $date_now = "$year/$mon/$mday $hour:$min:$sec"; # ログに書き出し open(FILE,">>$log"); print FILE "[$date_now]$getserv($getip)\n";close(FILE); close(SOCK2);close(SOCK); exit;