Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
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 rifling through the Monastery: (10)
As of 2014-08-28 00:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (254 votes), past polls