#! /usr/bin/perl

# CPAN module: Net-DNS-0.12
use Net::DNS;

$res = new Net::DNS::Resolver;

$IP = $ARGV[0];
if (!defined($IP)) {
    printf "rbl-check.pl: IP.ADDRESS.TO.LOOKUP\n";
    exit(64);
}

printf "Net::DNS version: %s; IP = %s\n", Net::DNS->version, $IP;

$revIP = $IP;
$revIP =~ s/^([0-9]*)\.([0-9]*)\.([0-9]*)\.([0-9]*)$/\4.\3.\2.\1/;

printf "IP = %s\n", $IP;

@ZONES = ('.rbl.maps.vix.com', '.dul.maps.vix.com',
	  '.ok.orbs.org',      '.relays.orbs.org',
	  '.rss.mail-abuse.net');

foreach $zone (@ZONES) {
    printf "query zone: '%s'\n", $revIP.$zone;

    $query = $res->query($revIP . $zone, "A");
    next unless (defined $query);
    foreach $rr ($query->answer) {
	$rr->print;
    }
    $query = $res->query($revIP . $zone, "TXT");
    next unless (defined $query);
    foreach $rr ($query->answer) {
	$rr->print;
    }
}

1;


syntax highlighted by Code2HTML, v. 0.9.1