雑記帳

#error_logを解析してipアドレスをdomainネームに変換
use Socket;
$filename="error_log.4";
open(FILE,$filename)or die "$!";
while(defined($line=<FILE>)){
	chomp($line);
	if($line=~/client ([^\]]*)/){
		my $ip=$1;
		my $hostname=&getIP($ip);
#		print "$line\n";
		if($line=~/^\[([^\]]*)/){
			$data=$1;
			print "$data\t$ip\t";
		}
		if(defined($hostname)){
			print "$hostname\n";
		}else{
			print "unKnown Host\n";
		}
	}
}
close(FILE);

sub getIP{
	my $ip=shift;
	my $iaddr = pack('C*', split(/\./, $ip));
	my $hostname = gethostbyaddr($iaddr, AF_INET);
	return $hostname;
}

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-02-01 (日) 14:38:23 (847d)