#/usr/bin/perl
require 'sys/socket.ph';
while (<>) {
if (/^datagram from/) {
split;
if ($_[4] == 53)
{
$nsqueriers{$_[2]}++;
}
else
{
$resqueriers{$_[2]}++;
}
}
}
print "Name server queriers\n\n";
while (($ip, $count) = each(%nsqueriers)) {
$addr = pack('C4', split(/\./, $ip));
($host, $rest) = gethostbyaddr($addr, &AF_INET);
if ($host eq "")
{
printf "unknown (%s): %d queries\n", $ip, $count;
} else {
printf "%s (%s): %d queries\n", $host, $ip, $count;
}
}
print "\nResolver queriers:\n\n";
while (($ip, $count) = each(%resqueriers)) {
$addr = pack('C4', split(/\./, $ip));
($host, $rest) = gethostbyaddr($addr, &AF_INET);
if ($host eq "")
{
printf "unknown (%s): %d queries\n", $ip, $count;
} else {
printf "%s (%s): %d queries\n", $host, $ip, $count;
}
}