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.
c:\>ping -a 8.8.8.8
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
c:\>nslookup 8.8.8.8
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.
Comments