How to get hostname from IP (Linux)?

LinuxHostname

Linux Problem Overview


I'd like to get remote machine/hostname through IP Address. I found lots of answer such as nslookup, host, resloveip, etc.. but I still can't get hostname from my target machine(cent OS, ubuntu etc...) It seems need to register to DNS server?

I have a machine named test and using IP 10.1.27.97

but I used the method above still can't not get "test"

Does anyone can help me to get the hostname form IP Address?

Linux Solutions


Solution 1 - Linux

To find a hostname in your local network by IP address you can use nmblookup from the samba suite:

nmblookup -A <ip>

To find a hostname on the internet you could use the host program:

host <ip>

Or you can install nbtscan by running:

sudo apt-get install nbtscan

And use:

nbtscan <ip>

*Adapted from https://askubuntu.com/questions/205063/command-to-get-the-hostname-of-remote-server-using-ip-address/205067#205067

Update 2018-05-13

You can query a name server with nslookup. It works both ways!

nslookup <IP>
nslookup <hostname>

Solution 2 - Linux

In order to use nslookup, host or gethostbyname() then the target's name will need to be registered with DNS or statically defined in the hosts file on the machine running your program. Yes, you could connect to the target with SSH or some other application and query it directly, but for a generic solution you'll need some sort of DNS entry for it.

Solution 3 - Linux

Another simple way I found for using in LAN is

ssh [username@ip] uname -n

If you need to login command line will be

sshpass -p "[password]" ssh [username@ip] uname -n

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionRoyHSIEHView Question on Stackoverflow
Solution 1 - LinuxHarlemSquirrelView Answer on Stackoverflow
Solution 2 - LinuxChris RydingView Answer on Stackoverflow
Solution 3 - LinuxМарк ПавловView Answer on Stackoverflow