[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(DTPtechNote:999) [Server] access_log
#! /usr/bin/perl
#ApachのログのIPアドレスのうち、ホストネームのわかるものは変換する
#ver. 0.1 (c)2004.1.20 www.seuzo.jp ym3s-ickw@asahi-net.or.jp
#使い方
#perl ip2name.pl(スクリプト名) access_log(アクセスログ名) > (出力ファイル名)
#たぶん、うまく変換しないIPばっかり。もうすこしちゃんとしないと。いいんだ簡易版だから(笑)
#
use Socket;
foreach $i (@ARGV){
open(IN, "$i") || die "can't open $i \n";
while(<IN>){
s/^([\d\.]+)/$1 . ' (' . &gethostname($1) . ') '/e;
print;
}
close(IN);
}
sub gethostname {
my $address = shift(@_);
$name = gethostbyaddr(inet_aton($address), AF_INET) or return $address;#die "Can't resolve $address: $!\n";
return $name;
}