Get hostname from an IP in Windows
Method 1 - Using built-in ping. This only works if a working DNS server has reverse look-up configured.
The hostname for 8.8.8.8 was returned as
dns.google, below shows the output details.
Pinging dns.google [8.8.8.8] with 32 bytes of data:
Reply from 8.8.8.8: bytes=32 time=52ms TTL=112
Reply from 8.8.8.8: bytes=32 time=56ms TTL=112
Reply from 8.8.8.8: bytes=32 time=59ms TTL=112
Reply from 8.8.8.8: bytes=32 time=56ms TTL=112
Ping statistics for 8.8.8.8:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 52ms, Maximum = 59ms, Average = 55ms
Method 2 - Using nslookup
This is the same as method 1, it needs a working DNS to provide the information
Server: somedc.com
Address: some_ip_here
Name: dns.google
Address: 8.8.8.8
Method 3 - Using nbtstat
c:\>nbtstat -a 192.168.1.101
With the added bonus that it also shows the MAC address and name
M1. Limitiation is that this only works on network that supports NetBIOS and on the same collision domain.
vEthernet (nat):
Node IpAddress: [172.20.64.1] Scope Id: []
Host not found.
Ethernet:
Node IpAddress: [192.168.1.100] Scope Id: []
NetBIOS Remote Machine Name Table
Name Type Status
---------------------------------------------
WORKGROUP <00> GROUP Registered
M1 <00> UNIQUE Registered
M1 <20> UNIQUE Registered
MAC Address = 00-15-5D-0E-53-54
Method 4 - Using psexec
c:\>psexec \\192.168.1.101 -u administrator -p p@$$w0rd hostname
This is using
psexec to run
hostname command remotely. Note that it shows the hostname (
M1), IP, and exit code of the command
hostname.
PsExec v2.2 - Execute processes remotely
Copyright (C) 2001-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
M1
hostname exited on 192.168.1.101 with error code 0.