Warning: Cannot modify header information - headers already sent by (output started at /home/destefa1/public_html/nf/function.php:1) in /home/destefa1/public_html/nf/function.php on line 215
Warning: Cannot modify header information - headers already sent by (output started at /home/destefa1/public_html/nf/function.php:1) in /home/destefa1/public_html/nf/function.php on line 216
Warning: Cannot modify header information - headers already sent by (output started at /home/destefa1/public_html/nf/function.php:1) in /home/destefa1/public_html/nf/function.php on line 217
Warning: Cannot modify header information - headers already sent by (output started at /home/destefa1/public_html/nf/function.php:1) in /home/destefa1/public_html/nf/function.php on line 218
Warning: Cannot modify header information - headers already sent by (output started at /home/destefa1/public_html/nf/function.php:1) in /home/destefa1/public_html/nf/function.php on line 219
Warning: Cannot modify header information - headers already sent by (output started at /home/destefa1/public_html/nf/function.php:1) in /home/destefa1/public_html/nf/function.php on line 220
#!/usr/local/bin/perl -w
# $Id: perldig 264 2005-04-06 09:16:15Z olaf $
=head1 NAME
perldig - Perl script to perform DNS queries
=head1 SYNOPSIS
C [ C<@>I ] I [ I [ I ] ]
=head1 DESCRIPTION
Performs a DNS query on the given name. The record type
and class can also be specified; if left blank they default
to A and IN.
=head1 AUTHOR
Michael Fuhr
=head1 SEE ALSO
L, L, L, L, L, L,
L
=cut
use strict;
use File::Basename;
use Net::DNS;
my $res = Net::DNS::Resolver->new;
if (@ARGV && ($ARGV[0] =~ /^@/)) {
my $nameserver = shift;
$nameserver =~ s/^@//;
$res->nameservers($nameserver);
}
die "Usage: ", basename($0), " [ \@nameserver ] name [ type [ class ] ]\n"
unless (@ARGV >= 1) && (@ARGV <= 3);
my ($name, $type, $class) = @ARGV;
$type ||= "A";
$class ||= "IN";
if (uc($type) eq "AXFR") {
my @rrs = $res->axfr($name, $class);
if (@rrs) {
foreach my $rr (@rrs) {
$rr->print;
}
} else {
die "zone transfer failed: ", $res->errorstring, "\n";
}
} else {
my $answer = $res->send($name, $type, $class);
if ($answer) {
$answer->print;
} else {
die "query failed: ", $res->errorstring, "\n";
}
}