#!/usr/bin/perl # Anapop - POP request analysis tool V1.0Beta # kyoorius@techfreakz.org # An idle mind is the devil's workshop $redsquare=""; $blacksquare=""; $date = `date`; &initialize; $anamonth="Jan"; &calc; &printout; $anamonth="Feb"; &calc; &printout; $anamonth="Mar"; &calc; &printout; &closing; exit(0); sub calc { $cmd="grep pop3d /var/log/messages | grep $anamonth|"; open (GETDATA,$cmd); @data=; close (GETDATA); for ($x=1;$x<32;$x++) { $daylog[$x]="000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; } for $temp (@data) { &xtract($temp); if ($minute < 15) {$q=0;} if ($minute > 14 && $minute < 30) {$q=1;} if ($minute > 29 && $minute < 45) {$q=2;} if ($minute > 44) {$q=3;} $loc=$hour*4+$q; substr ($daylog[$day],$loc,1) = "1"; } for ($x=1;$x<31;$x++) { for ($y=0;$y<96;$y++) { if (substr($daylog[$x],$y,1)) { $daystats[$y]++; }}} } sub xtract { local ($tmp) = @_; $day = substr($tmp,0,6); $day =~ s/\D//g; $hour = substr ($tmp,7,2); $minute = substr ($tmp,10,2); } sub initialize { print "Content-type: text/html\n\n"; print < Anapop v1.0 Anapop Net Activity Analyzer
(click here for description)

  EOT } sub printout { print < EOT for ($x=1;$x<32;$x++) { &createline($daylog[$x]); #$outline=$daylog[$x]; #$outline =~ s/1/$redsquare/g; #$outline =~ s/0/$blacksquare/g; print " $anamonth-$x<\/font> <\/td>$outline<\/td><\/tr>\n"; } print "<\/table>"; #print "<\/table>"; #for ($y=0;$y<96;$y++) { # $chartday=$y/4; # $outline="
$chartday<\/td>"; # for ($z=0;$z<$daystats[$y];$z++) {$outline.=$redsquare;} # $outline.="<\/td><\/tr>\n"; # print $outline; #} } sub closing { print < EOT } sub createline { local ($tmp) = @_; $outline="";$width=10; $last=substr($tmp,0,1); if (!$last) {$outline.=""; $width=10; if ($c==0) {$outline.=""; }