Don't mean to beat this horse, but I ran across an MX
script that really worked out for us at work. Here it
is. Hope it helps someone out there. Comments welcome,
as I've got a long way to go!! I think most of it
comes from the docs, though:
#!/usr/bin/perl -w
# This one compares mx data from 2 servers
use strict;
use Net::DNS;
#### Parse the file
open IN, "C:/Documents and
Settings/mcauthorn/Desktop/perl_crap/zones_final.txt"
|| die "can't open \n";
my (@lines,@domain_names);
@lines=(<IN>);
chomp @lines;
close IN;
my %name_servers=(
'xxx.xxx.xxx.xxx'=>'servera',
'xxx.xx.xxx.xxxj'=>'severb'
);
my $res = new Net::DNS::Resolver;
foreach my $zone (@lines){
foreach my $server(keys %name_servers){
$res->nameservers($server);
my $query = $res->query($zone);
sleep 1;
if (!$query){
print "Query error for $zone! \n";
next;
}
foreach my $rr ($query->answer) {
print "$server -->$zone : ", $rr->address ,"\n";
my @mx=mx($res, $zone);
if (@mx){
foreach $rr (@mx){
print "MX: ", $rr->preference, " ",$rr->exchange,
"\n";
}
} else {print "No mx data for $server \n";}
} } print "\n";
}#top foreach close ($zone)
# Sorry about the crappy copy / paste.
~Matt
__________________________________________________
Do You Yahoo!?
Yahoo! Auctions - buy the things you want at great prices
http://auctions.yahoo.com/