题 如何从Windows网络中的IP地址确定主机名?


我的局域网有50个Windows主机。在Windows命令行,我尝试 ping以获取正在运行的Windows计算机的IP地址。

问题是如何在同一个Windows工作组中获取特定IP地址的主机名?

另一个问题是如果我有一个IP地址,如何从Linux机器上知道Windows机器的主机名?你用哪个命令?我有一台主机运行Kubuntu 9.04。


77
2017-11-25 04:41






答案:


如果要确定没有DNS的Windows计算机的名称,则应该尝试 NBTSTAT。但这只适用于Windows:

例如,

NBTSTAT -A 10.10.10.10

在Linux上,你应该试试 nmblookup 几乎一样。


90
2017-11-25 09:54



NBTSTAT确实依赖于加载和运行NetBIOS,这通常在具有自己的AD和DNS基础结构的大型组织中关闭。这可能是一个安全的假设,虽然有一个50机器工作组。 - GAThrawn
谢谢你Decca,nbtstat是摇滚btw ...我在Linux机器上失败了nmblookup 192.168.1.92在192.168.1.255上查询192.168.1.92 name_query找不到名字192.168.1.92 - billyduc
命令nmblookup -A 192.168.1.92正在成功运行 - billyduc
nmblookup 是我的发行版的Samba包的一部分。不知道为什么 nmblookup ip to hostname是Samba的一部分(联网文件系统代码和打印服务代码)。 - Trevor Boyd Smith


技术上更可取的方法是打字 nslookup <ip address>

NSLOOKUP实际上向DNS服务器询问主机名的IP地址。 Ping将使用本地 DNS解析器缓存,在你冲洗之前可能是不正确的。


52
2017-11-25 04:49



假设他有一个内部DNS服务器用于名称解析。另外,op表示他想从ip解析一个主机名,所以我假设他不知道主机名开头。另外,就我而言,没有正确或不正确的做法。有多种方法,每种方法都是有效的,每种方法都可能产生不同的结果。 - joeqwerty
不。使用PING不是最好的方法。你可以做一个 nslookup <ip address> 它将解决反向查找。 - Izzy
您可以将NSLOOKUP称为一些内部解析工具......无论哪种方式,NSLOOKUP都是技术上优越的选择。 - Izzy
但他是对的。 nslookup仅在此方案中使用,如果存在DNS服务器(无论是内部还是外部),其具有OP主机的反向查找区域条目,并且OP的计算机配置为使用该DNS服务器。 - Maximus Minimus
@Izzy我注册成为新成员只是为了感谢NSLOOKUP的提示,Izzy。在上面所有的东西中,它是唯一一个适合我的东西。太感谢了。 - 杰夫莫登 - Jeff Moden


在Windows上,您可以使用 ping -a x.x.x.x 尝试从中解析主机名 IP地址


9
2017-11-25 04:47



PING可能导致不准确的结果,尤其是在您积极处理DNS问题时。 - Izzy
op没有声明他正在研究dns问题,他暗示他正在解决名称解决问题。 dns不是Windows中唯一的名称解析机制,也不是必需的名称解析机制。他还说他正在工作组中工作,所以我没有对他的dns基础设施做出任何假设。 - joeqwerty
实际上,Active Directory需要DNS。我们根本没有足够的信息来说明这一点。 - Maximus Minimus
@mh:是的,但是再次......来自op的信息不足。 - joeqwerty
谢谢你们 !我没有Active Directory服务,我有一个DNS服务器解析dhcp,邮件,我公司的Web服务器,大多数员工主机都运行Windows XP并使用相同的WORKGROUP。 - billyduc


在Windows和Linux上有两种方法可以实现。例如,

  1. NSLOOKUP:从主机名中查找IP地址的经典方法,反之亦然。
  2. IPCONFIG 要么 使用ifconfig 根据您是在Windows还是Unix上运行
  3. 主机名-i 在Linux上

参考: 在Linux和Windows中从主机名获取IP地址的多种方法


6
2017-12-06 04:45





对于mac用户 smbutil -v status -ae x.x.x.x 作品。你也可以使用 arp -a 获取网络上所有内容的mac地址。


4
2018-05-28 11:09





nmblookup 可能不适合Linux主机,因为 的NetBIOS 名称已弃用。在Windows上,它仅限于本地网络。


1
2018-01-30 04:44



不,那是错的。 Netbios(遗憾地)并未弃用,实际上需要许多重要的Active Directory功能。 - HopelessN00b
有人可以指出AD DS在哪些情况下依赖Netbios?有人说过,自从Windows Server 2003以来,Netbios必然要进行诽谤。 Windows Server 2012 AD DS网络现在是否还需要它? - Mikhail