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


84

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

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

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

Answers:


92

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

例如,

NBTSTAT -A 10.10.10.10

在Linux上,您应该尝试执行几乎相同的nmblookup。


3
NBTSTAT确实依赖于NetBIOS的加载和运行,在具有自己的AD和DNS基础结构的大型组织中通常会关闭它。尽管这里有50个机器工作组,但这可能是一个安全的假设。
— GAThrawn

谢谢Decca,nbtstat真是令人生畏……我在Linux上的nmblookup 192.168.1.92上失败,在192.168.1.255上查询192.168.1.92 name_query找不到名称192.168.1.92
— billyduc

8
命令nmblookup -A 192.168.1.92成功运行
— billyduc

1
nmblookup是我发行版的Samba软件包的一部分。不确定为什么nmblookupip到主机名是Samba的一部分(网络文件系统代码和打印服务代码)。
— Trevor Boyd Smith,

60

技术上最好的方法是键入 nslookup <ip address>

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


假设他有一个用于名称解析的内部dns服务器。另外,op表示他想从ip解析一个主机名,所以我假设他不知道该主机名的开头。另外,就我而言,没有正确或错误的方法。有多种方法,每种方法都是有效的,并且每种方法都可能产生不同的结果。
— joeqwerty

3
不。使用PING并不是最好的方法。您可以做一个nslookup <ip address>,它将解决反向查询。
— Izzy

1
您可以使用NSLOOKUP之类的内部解析工具来引用它。
— Izzy

1
但是他是正确的。仅当存在一个DNS服务器(无论是内部的还是外部的)的nslookup在此方案中使用,该DNS服务器具有用于OP主机的反向查找区域条目,并且OP的计算机配置为使用该DNS服务器。
— Maximus Minimus

3
@Izzy我注册为新会员只是为了感谢NSLOOKUP的提示,Izzy。在以上所有内容中,它是唯一对我有用的内容。太感谢了。--Jeff MODEN
— 杰夫MODEN

9

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


1
PING可能会导致结果不准确,尤其是在您正在积极研究DNS问题时。
— Izzy

行动并未说明他正在处理dns问题,他暗示他正在处理名称解析问题。dns不是Windows中唯一的名称解析机制,也不是必需的名称解析机制。他还表示他正在工作组中工作,因此我没有对他拥有dns基础架构做出任何假设。
— joeqwerty

Active Directory实际需要DNS。我们只是没有足够的信息来就此发表任何明确的信息。
— Maximus Minimus,

@mh:是的,但是再次...操作信息不足。
— joeqwerty

谢谢你们 !我没有Active Directory服务,我公司中有一个DNS服务器解析为dhcp,邮件,Web服务器,大多数员工主机都运行Windows XP,并且使用相同的WORKGROUP。
— billyduc


4

对于mac用户,smbutil -v status -ae x.x.x.x可以使用。您还可以arp -a用来获取网络上所有内容的mac地址。


1

nmblookup可能不适用于Linux主机,因为不建议使用NetBIOS名称。在Windows上,它仅限于本地网络。


2
不,那是错的。(很遗憾)不建议使用Netbios,实际上许多重要的Active Directory功能都需要使用Netbios。
— HopelessN00b 2012年

有人可以指出在什么情况下AD DS仍然依赖Netbios吗?自Windows Server 2003时代以来,一直有传言说Netbios肯定会被贬低。Windows Server 2012 AD DS网络仍然需要某种方式吗?
— Mikhail

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.