Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Compare Host Names

by pileofrogs (Priest)
on Dec 28, 2011 at 22:21 UTC ( #945426=perlquestion: print w/ replies, xml ) Need Help??
pileofrogs has asked for the wisdom of the Perl Monks concerning the following question:

Greeting Monks!

I'm sure this question has been asked and answered before but I can't find it. I apologize.

I want to compare two hostnames to see if they point to the same host/IP. I think I need to query DNS and follow any CNAMEs to get to an A record and an IP address.

This seems like something someone would have already written, but I haven't found it. I must be using the wrong search terms.

Because I rarely make sense, here's an example.

# pseudo code! Not perl! # # example.com = 192.168.0.10 # www.example.com = CNAME example.com # lungfish.example.com = 192.168.0.10 # fruitbat.example.com = 192.168.0.12 compare_host_names('example.com','example.com) == true compare_host_names('example.com','www.example.com) == true compare_host_names('example.com','lungfish.example.com) == true compare_host_names('example.com','fruitbat.example.com') == false

Someone has written something to do this, right? What is it called?

And for extra credit, what search terms should I have used?

Thanks!
--Pileofrogs

Comment on Compare Host Names
Download Code
Re: Compare Host Names
by Corion (Pope) on Dec 28, 2011 at 22:30 UTC

    If doing serial lookups is enough for you, simply checking the results of gethostbyname should work, except for the problem of round-robin DNS.

    As an alternative, the DNS modules (for example, AnyEvent::DNS) can do more lookups and in parallel. With those, you can possibly get all names for hostname entries, at least the synopsis of AnyEvent::DNS suggests so.

      Yeah, it just seems like my example compare_host_names() function would already exist. And it would probably handle round robin or other things I haven't thought of.

      If it doesn't exist, I'm gonna write it.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://945426]
Approved by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (9)
As of 2014-07-14 12:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (259 votes), past polls