L'obtention de tous les noms d'hôte de l'adresse IP en Perl

J'essaie de trouver un moyen d'obtenir tous les noms d'hôtes qui permettent de résoudre une adresse IP.

La fonction gethostbyaddr s'affiche pour récupérer uniquement le premier enregistrement de DNS (peu importe si c'est dans scalaire ou de liste, contexte).

Exemple:

my $hostname = gethostbyaddr(inet_aton($ip_to_check), AF_INET);
$print($hostname); //output: joe.example.com

my @hostnames = gethostbyaddr(inet_aton($ip_to_check), AF_INET);
foreach my $hostname (@hostnames){
 print "(", join(',',@hostnames), ")"; //output: (joe.example.com,,2,4,?)
}

À partir du terminal:

$ host 192.168.1.5
5.1.168.192.in-addr.arpa domain name pointer joe.example.com.
5.1.168.192.in-addr.arpa domain name pointer john.example.com.

J'ai entendu dire que le Net::DNS est un peu plus robuste, mais je n'ai pas eu de chance pour vous que pour tirer toutes les entrées.

OriginalL'auteur arcdegree | 2011-04-15