[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;
}