tiger1974

DNS from stdin

Sep 13th, 2013
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.21 KB | None | 0 0
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. use Net::DNS;
  5. my $res = Net::DNS::Resolver->new;
  6. my $n1 = "\n";
  7. print "Please enter a domain name$n1";
  8. my $name = <>;
  9. chomp( $name );
  10. sub chckname {
  11.         my $query1 = $res->search($name);
  12.         my $query2 = $res->query($name, "NS");
  13.         my $query3 = $res->query($name, "SOA");
  14.         my $query4 = $res->query($name, "TXT");
  15.         my @mx = mx($res, $name);
  16.         if ($query1) {
  17.                 foreach my $rr ($query1->answer) {
  18.                         print $rr->address, $n1;
  19.                         }
  20.                 }
  21.         if ($query2) {
  22.                 foreach my $rr (grep { $_->type eq  'NS' } $query2->answer) {
  23.                         print $rr->nsdname, $n1;
  24.                         }
  25.                 }
  26.         if ($query3) {
  27.                 ($query3->answer)[0]->print;
  28.                 }
  29.         if ($query4) {
  30.                 ($query4->answer)[0]->print;
  31.                 }
  32.         if (@mx) {
  33.                 foreach my $rr (@mx) {
  34.                         print $rr->preference, " ", $rr->exchange, $n1;
  35.                         }
  36.                 }
  37.         else
  38.         { warn "Query failed: ", $res->errorstring, "\n"; }
  39. }
  40. chckname;
Advertisement
Add Comment
Please, Sign In to add comment