How can I find the full hostname (FQDN) of the system I am running on?



How can I find the full hostname (FQDN) of the system I am running on?..

Answer / chaitanya

Some systems set the hostname to the FQDN and others set it to just the unqualified host name. I know the current BIND FAQ recommends the FQDN, but most Solaris systems, for example, tend to use only the unqualified host name.

Regardless, the way around this is to first get the host's name (perhaps an FQDN, perhaps unaualified). Most systems support the Posix way to do this using uname(), but older BSD systems only provide gethostname(). Call gethostbyname() to find your IP address. Then take the IP address and call gethostbyaddr(). The h_name member of the hostent{} should then be your FQDN.

Is This Answer Correct ?    1 Yes 0 No

Post New Answer

More Unix Socket Programming Interview Questions

How can I put a timeout on connect()?

1 Answers  


How can I listen on more than one port at a time?

1 Answers  


How are unix domain sockets implemented?

0 Answers  


How can my client work through a firewall/proxy server?

1 Answers  


What is a socket api?

0 Answers  






Is socket a hardware or software?

0 Answers  


Why does connect() succeed even before my server did an accept()?

1 Answers  


Why do I get EPROTO from read()?

0 Answers  


How do I properly close a socket?

1 Answers  


How can I find the full hostname (FQDN) of the system I am running on?

1 Answers  


How would I put my socket in non-blocking mode?

1 Answers  


What is a deep well socket?

0 Answers  


Categories