从IP地址解析主机名


Answers:


121

您正在寻找的命令称为nslookup,可以很好地用于反向查找。如果有人配置了反向区域文件,那么他们并不总是这样做,因为IFF可以这样做。


89

如果以上所有方法均失败,并且您正在寻找Windows计算机,则可以使用

nbtstat -a 192.168.1.50

返回的数据将是计算机拥有的所有NetBIOS记录。记录类型为<20h>的通常是机器的名称。


3
通过开放的VPN连接不工作时
Alexander.Iljushkin

@Flextra-您将需要SMB访问计算机。您的VPN可能正在阻止它。
驼鹿

有趣的是,它看起来像采用以下格式的完全限定域名:Pinging NETBIOSNAME.DOMAINNAME.com [xxx.xxx.xxx.xxx]。如果它在网络上而不在域上(对我而言是一个我感兴趣的Unix系统),则ping -a仅使用ipaddress进行格式化就可以了。
jxramos

为我工作。正是我所需要的!
FearlessFuture

57

例如,对于许多IP地址,您可以仅使用ping -a

ping -a 209.85.229.106

将返回

Pinging ww-in-f106.google.com [209.85.229.106] with 32 bytes of data:

Reply from 209.85.229.106...........

2
这是我始终首先使用的方法,因为它几乎可以在每台计算机上通用。
Goyuix

14
平是SOOO经常被用来做简单的DNS查询...... 不这样做。
PEra

这是从局域网中的树莓派获取主机名的唯一答案。@PEra为什么这是一个错误的答案?
andy


2

使用挖。一个Windows端口可从ISC 这里(看看立即下载框链接到zip文件)。这是他们的dig手册页参考

Ward关于经常不创建反向查询记录的观点是非常正确的。反向查询通常会失败,因为许多管理员不会费心创建ptr记录。


1

(在Windows 10 x64下测试)

从命令行:

FOR /F "tokens=2 delims= " %A in ('2^>NUL NSLOOKUP "%IP_ADDRESS%" ^| FINDSTR /C:": "') do ECHO %A

在脚本中:

FOR /F "tokens=2 delims= " %%A in ('2^>NUL NSLOOKUP "%IP_ADDRESS%" ^| FINDSTR /C:": "') do ECHO %%A

两个(侧面)注:

  • 要抑制NSLOOKUP错误,您必须使用2^>NUL而不是1^>NUL
  • 我曾经FINDSTR /C提取过四个空格字符后的值。由于该Name:条目似乎只存在四个空格,因此这似乎是使其在其他本地系统上工作的唯一方式。

0

psexec \ 192.168.0.65主机名

DMHD006 主机名已在192.168.0.65上退出,错误代码为0。


1
请记住,配置的主机名不一定与DNS中配置的主机名匹配。
杰拉尔德·施耐德

-2

如果您想知道同一网络中的主机名,请使用另一台具有相同网络的机器,并在下面使用以下命令:
Ping -an ip addres


2
您没有注意到这个答案已经在这里吗?–它不是为此设计的。
Esa Jokinen
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.