Hi, I'm writing a simple script to perform some periodical checks on dns blacklist, so I can be quickly informed when one of my mail servers gets blacklisted. What I want is a function to query in-addr.arpa DNS and return an IP address. I used Net::DNS::Resolver, but the output is too long, and I need something more easy to be parsed. In other words, I need only the ANSWER SECTION (which maybe an A resurce or a CNAME and A response).
Here's the code (it's a draft, don't blame me): ================================= #!/usr/bin/perl use strict; use warnings; use Net::DNS; my @servers = qw( 219.147.99.89 212.29.141.7 212.29.130.207 212.29.130.208 212.29.129.3 212.29.129.4 212.29.141.3 212.29.141.33 212.29.141.34 ); my @dnsbl = qw( dnsbl.njabl.org list.dsbl.org dnsbl.sorbs.net sbl.spamhaus.org opm.blitzed.org bl.spamcop.net dynablock.njabl.org rfc-ignorant.org blackholes.five-ten-sg.com cbl.abuseat.org ); my $res = Net::DNS::Resolver->new; foreach my $server (@servers) { my @octets =split(/\./,$server); my $prep_server = $octets[3].".".$octets[2].".".$octets[1].".".$octets[0]; foreach my $blacklist (@dnsbl) { my $inaddrarpa = "$prep_server.$blacklist"; my $answer = $res->query("$inaddrarpa", 'A'); next unless ($answer); $answer->print; } } } ================================= Questions: 1 - Is there a better module to performs easy DNS queries? 2 - Is there a function to invert items in an array? (IP octects must be inverted before submitting) 3 - Which is the best module to send the report directly from the script? TIA Mariano -- ----------------------------- Mariano Cunietti System Administrator Enter S.r.l. Via Stefanardo da Vimercate, 28 20128 - Milano - Italy Tel. +39 02 25514319 Fax +39 02 25514303 [EMAIL PROTECTED] www.enter.it - www.enterpoint.it ----------------------------- Gruppo Y2K - www.gruppoy2k.it -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>