로그파일(file)을 읽어서 분단위로 특정시간(time)부터 몇시간(until)까지 읽어 화면에 찍는다. 이를 엑셀로 확인하여 아파치 리쿼스트 갯수를 확인할 수 있다.

#!/usr/bin/perl

my $filename;
my $time;
my $until;

if($#ARGV < 0) {
    printUsage();
} else {
    while($#ARGV >= 0) {
        $filename = shift(@ARGV);
        $time = shift(@ARGV);
        $until = shift(@ARGV);
    }
}

sub printUsage() {
    print "Usage : getReqCount.pl filename time(hh:mm) until(until hour)\n";
    print "ex) getReqCount.pl access_https.log 1700 2\n";
    print "\n";
}

#print "filename : $filename\n";
#print "time : $time\n";
#print "until : $until\n";

$digits = $time;
@timeinfo = $digits =~ /(\d\d)/g;

for ($j = 0 ; $j < $until ; $j++) {
    $m = @timeinfo[0] + $j;
    for ($i = 0; $i < 60 ; $i++) {
        $i = @timeinfo[1] + $i;
        if ($i < 10) {
            $i = "0".$i;
        }
        print "$m:$i\t";
        print `grep "$m:$i" $filename | wc -l`
    }
}

'web' 카테고리의 다른 글

DDos 공격의 또 다른 패턴을 잡기.  (0) 2007.10.21
Apache request중 abusing IP 확인하기  (0) 2007.10.19
L4 이야기  (0) 2007.09.29
L4 사용여부.  (0) 2007.09.29
L7 스위치 개념 및 동작원리  (0) 2007.09.29
Posted by '김용환'
,