I want to get the hostname of a remote server using the IP address using my Ubuntu.

In Windows we can get using NBTSTAT but this doesn't work in Linux.

Does anyone know how to do that?



Windows (and Linux devices with Samba) use NetBIOS to 'publish' their addresses. This is what NBTSTAT uses to look up the IP address.

To find a hostname in your local network by IP address you can use:

nmblookup -A <ip>

Or you can install nbtscan by running:

sudo apt-get install nbtscan

And use:

nbtscan <ip>

Multicast DNS

If systems publish their address via Multicast DNS (OS X, Windows 10 and Linux devices with a running avahi-daemon do this), do a lookup using avahi-resolve (requires installing avahi-utils):

avahi-resolve -a <ip>

Reverse DNS

If the host has a public IP-address and a working reverse DNS entry, use the dig (requires installing dnsutils) or host (requires installing bind9-host) programs:

dig -x <ip>
host <ip>
  • 2
    it said no reply from xxx.xx.xx.xxx but ping is able to communicate with server – OmiPenguin Oct 23 '12 at 9:27
  • 2
    In that case, try host. – Silke Oct 23 '12 at 9:28
  • 2
    ok now i used host ipaddress, It replied Host xxx.xx.xx.xxx.in-addr.arpa. not found: 3(NXDOMAIN) – OmiPenguin Oct 23 '12 at 9:35
  • 1
    Is the server in your local network or is it a public IP address? – Silke Oct 23 '12 at 9:37
  • 2
    Yes this is in our local Network. – OmiPenguin Oct 23 '12 at 9:54

Simply type the following command into the Linux/Ubuntu terminal:

host <ip>

Just another minor addition to others contribution, in case you don't know the IP.

If you don't know your then type:

sudo ifconfig -all

You may find the there. Then, all you need to do is use the:

 host <ip> 

command as mentioned before.

Although this is a already answered question, I may found useful add this simple hint to ubuntu-linux newcomers.

Not the answer you're looking for? Browse other questions tagged or ask your own question.