DNS MX Lookup

Mit dieser Anwendung können Sie die Mail Exchanger sowie Namensserver ermitteln.

Domain eingeben:   
EOFHTML # Hauptfunktion my $domain = param('domain'); if($domain) { if($domain =~ /^([a-zA-Z0-9]{1,}([\.]?|[-]?))*[a-zA-Z0-9]{1,}\.{1}[a-zA-Z]{2,6}$/) { my $res = new Net::DNS::Resolver; my @mx = mx($res,$domain); if(@mx) { print "

".scalar @mx." Mail Exchanger für Domain $domain gefunden.

\n\n"; print "\n\n\n\n\n\n\n"; foreach my $mxr(@mx) { my $server = $mxr->exchange; my $ip = get_ip($res,$server); my $host = gethostbyaddr(inet_aton($ip),AF_INET); my $pref = $mxr->preference; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; } print "
ServerIP-AdresseEchter HostnamePreference
".$server."".$ip."".$host."".$pref."
\n\n"; } else { print "

Für die Domain $domain wurden keine Mail Exchanger gefunden.
\n"; print "Grund: ".$res->errorstring."

\n\n"; } my $nsd = $res->query($domain,"NS"); if($nsd) { my @ns = $nsd->answer; @ns = reverse(@ns); print "

Namensserver der Domain $domain:

\n\n"; print "\n\n\n\n\n\n"; foreach my $nsr(@ns) { my $server = $nsr->nsdname; my $ip = get_ip($res,$server); my $host = gethostbyaddr(inet_aton($ip),AF_INET); print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; } print "
ServerIP-AdresseEchter Hostname
".$server."".$ip."".$host."
\n"; } else { print "

Für die Domain $domain konnten keine Namensserver ermittelt werden.
\n"; print "Grund: ".$res->errorstring."

\n"; } } else { print "

$domain ist kein gültiger Domainname!

\n"; } } else { print "

 

\n"; } print <<"EOFHTML";
EOFHTML print ""; # get_ip() # # Die zu einem Servernamen gehoerende IP-Adresse ermitteln # # Parameter: 1. Net::DNS::Resolver-Objekt # 2. Servername # # Rueckgabe: Je nach Kontext ein Skalar oder eine Liste mit # der oder den IP-Adressen, ansonsten false. sub get_ip { my ($res,$server) = @_; my @answer = $res->query($server,"A")->answer; if(@answer) { if(wantarray) { my @ips; foreach my $answers(@answer) { push(@ips,$answers->address); } return @ips; } return $answer[0]->address; } return; }