#!/usr/bin/perl $floodcnt = 0; $dupcnt = 0; $handcnt = 0; $sizecnt = 0; $dumbcnt = 0; $moroncnt = 0; $totalcnt = 0; $goodpct = 0; $badpct = 0; $now = `date`; open (LOG, "/home/alex/hostscache/hostcachelog"); while () { $data = $_; if ($data =~ /flood/) { $floodcnt++; $totalcnt++; } elsif ($data =~ /duplicate/) { $dupcnt++; $moroncnt++; $totalcnt++; } elsif ($data =~ /handshake/) { $handcnt++; $moroncnt++; $totalcnt++; } elsif ($data =~ /size/) { $sizecnt++; $moroncnt++; $totalcnt++; } # elsif ($data =~ /Pytecache/) { # $starttime = read($data, 5, 24); # print "Start time is $starttime"; # } else { $dumbcnt++; $moroncnt++; $totalcnt++; } } close LOG; $goodpct = ($floodcnt / $totalcnt) * 100; $badpct = ($moroncnt / $totalcnt) * 100; print "content-type: text/html\n\n"; print "\n"; print "\n"; print "
\n"; print "\n"; print "
Current HostsCache Stats for www.schnarff.com:


"; print "\n"; printf("Current time is: %s
\n", $now); print "Successful pong floods: $floodcnt
\n"; print "Requests rejected due to address duplication: $dupcnt
\n"; print "Requests rejected due to bad handshaking: $handcnt
\n"; print "Requests rejected due to improper ping sizes: $sizecnt
\n"; print "Requests rejected due to general stupidity: $dumbcnt
\n"; print "Total requests rejected: $moroncnt
\n"; print "Total actions processed: $totalcnt
\n"; printf("Percent of activity resulting in success: %.2f\%
\n", $goodpct); printf("Percent of activity resulting in failure: %.2f\%
\n", $badpct); print "
\n"; print "\n"; print "";