use Net::hostent; use Socket; use Data::Dumper::Simple; $IP='192.168.50.70'; $resolver='192.168.10.99'; Host_IP (); print "\n\n\n\n"; Host_Name ('garytest'); sub Host_IP () { $address=inet_aton($IP); if($hent = gethostbyaddr($address)) { $name = $hent->name; $aliases = $hent->aliases; $RESULT="NSLOOKUP by IP: $IP => $name"; print $RESULT; if (scalar(@{$aliases} > 1)) { $RESULT=" Multiple hostnames are being returned. Correct DNS\n"; $RESULT = $RESULT . " \taddress $IP has the following names:\n"; $RESULT = $RESULT . "\t$_\n" for ($name, @{$aliases}); print $RESULT; } }else { $RESULT= "NSLOOKUP by IP: $IP => #### UNRESOLVABLE ####"; print $RESULT; } } sub Host_Name () { $name=shift; if ($hent = gethostbyname($name)) { $name2 = $hent->name; # in case different $addr_ref = $hent->addr_list; @addresses = map { inet_ntoa($_) } @$addr_ref; push(@all_addresses,@addresses); $RESULT= "NSLOOKUP by Name: $name => $name2 => " . join(', ', sort(@addresses)) ; print $RESULT; if (scalar(@addresses) > 1) { $RESULT="\n Multiple IP Address being returned. Correct DNS"; print $RESULT; } } else{ $RESULT= "NSLOOKUP by Name: $name => #### UNRESOLVABLE ####"; print $RESULT; } }