in reply to Re: Retrieving all hostnames for an IP address...
in thread Retrieving all hostnames for an IP address...
There is one and only one PTR record for a given IP
Not on this planet.
use strict; use Socket; my $addr = shift || '172.17.0.1'; my ($name,$aliases) = gethostbyaddr(inet_aton($addr), AF_INET); print "address $addr has the following names:\n"; print "\t$_\n" for ($name, split / /, $aliases);
When run against my DNS server, produces:
address 172.17.0.1 has the following names: host1.example.com host2.example.com host3.example.com host4.example.com host5.example.com
In other words, a PTR lookup can return a result set of more than one record. Many buggy applications make the invalid assumption that no more than one result will be returned. But of course, no Perlmonk ever would :)
gethostbyaddr is a bit naughty by referring to one as the name, and the others, aliases. According the the RFC (if I remember correctly, it's been a while), they are all equally "at the same level". It's up to the application to sift through them and find the one that suits its needs.
• another intruder with the mooring in the heart of the Perl
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Retrieving all hostnames for an IP address...
by Fletch (Bishop) on Dec 13, 2006 at 20:07 UTC |