如何从 OS X 找到 Windows 主机的 IP?

如何从 OS X 找到 Windows 主机的 IP?

有没有一种简单的方法可以通过 OS X (Lion) 命令行或 Finder 确定同一子网(家庭网络中)上的 Windows 计算机的 IP 地址?假设计算机本身不易访问。

我知道的有以下几种方式:

  • 请参阅路由器(dhcp 服务器)的 Web 管理页面。
  • 用于arp -a获取最近访问的 IP 列表并从那里进行猜测。

该机器确实出现在 Finder 中,所以我知道它的网络计算机名称(我猜是 WINS 名称?),但不知道它属于哪个工作组。我们不在域中。

我不完全确定 OS X 如何“映射” SMB/WINS 名称,因为执行诸如 ping“mywindowsbox”之类的操作会失败,ping“mywindowsbox.local”也会失败。

答案1

使用smbutil lookup HOSTNAME来源)。

这将为您提供给定 NetBIOS 名称的 IP 地址。

我推测它与 Finder 连接到 URL 时所做的相同smb://,因此它可能受到相同的限制(我实际上不知道这些是什么,但我注意到 Finder 并不总是能够在本地网络中查找 Windows 机器,而其他 Windows 客户端似乎没有问题)。

答案2

您无权访问 Windows 机器吗?

你能 ping 通 Windows 机器的 IP 吗?如果不能,那么可能是 Windows 机器的软件防火墙阻止了 ping。

此外,如果您有权访问路由器,它可能会列出 Windows 机器的主机名。

更新:嗯,Finder 中显示的名称应该是 PC 的主机名。

答案3

如果您安装了 nmblookup,请尝试:

nmblookup 主机名

主机名将是 WINS 名称。这可能返回 IP 地址。另请参阅 nmblookup 手册页以了解可能实现此功能的其他选项。

答案4

如果您处于封闭网络(私有)中,并且处于典型的 C 类子网(255.255.255.0)中,则可以 ping XXX.XXX.XXX.255。.255 地址是 C 类的广播地址。理论上,子网上的所有主机都会向您发送 ICMP 回显。这应该可以缩小网络上实际活动的主机范围。从那里,您可以使用网络实用程序(/Applications/Utilities/Network Utility.app)进行一些指纹识别和端口扫描,以确定它是哪一个。

然而,如果Windows机器禁用ICMP回显,这个计划就失败了。

请注意:*.local 域用于 Bonjour。除非 Windows 机器有 Bonjour(或 mDNSResponder),否则查询本地域将不起作用。

相关内容