Viewing file: user-agents.pl (930 B) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl # # John@MCC.ac.uk # John@Pharmweb.NET
require "getopts.pl"; &Getopts('FML:');
open (ACCESS, "/opt/Squid/logs/useragent.0");
while (<ACCESS>) { ($host, $timestamp, $agent) = /^(\S+) \[(.+)\] \"(.+)\"\s/; if ($agent ne '-') { if ($opt_M) { $agent =~ tr/\// /; $agent =~ tr/\(/ /; } if ($opt_F) { next unless $seen{$agent}++; } else { @inline=split(/ /, $agent); next unless $seen{$inline[0]}++; } } }
$total=0; if (!$opt_L) {$opt_L=0}
print "Summary of User-Agent Strings\n(greater than $opt_L percent)\n\n";
foreach $browser (keys(%seen)) { $total=$total+$seen{$browser}; }
foreach $browser (sort keys(%seen)) { $percent=$seen{$browser}/$total*100; if ($percent >= $opt_L) { write; } }
print "\n\nTotal entries in log = $total\n";
format STDOUT = @>>>>>>> :@##.####% : @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $seen{$browser}, $percent, $browser .
|