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

bil*_*duc 89 networking linux windows ip hostname

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

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

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

小智 97

如果您想确定没有 DNS 的 Windows 机器的名称,您应该尝试Nbtstat。但这仅适用于 Windows:

例如,

NBTSTAT -A 10.10.10.10
Run Code Online (Sandbox Code Playgroud)

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

  • 命令 nmblookup -A 192.168.1.92 工作成功 (8认同)
  • NBTSTAT 确实依赖于加载和运行 NetBIOS,而在拥有自己的 AD 和 DNS 基础架构的大型组织中,通常会关闭 NetBIOS。尽管有 50 台机器工作组,但这里可能是一个安全的假设。 (3认同)

Izz*_*zzy 66

技术上更可取的方法是键入 nslookup <ip address>

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

  • 不。使用 PING 并不是最好的方法。你可以做一个`nslookup &lt;ip address&gt;`,它会解析反向查找。 (3认同)
  • @Izzy 我注册为新成员只是为了感谢 Izzy 给 NSLOOKUP 的提示。在上面的所有东西中,它是唯一对我有用的东西。太感谢了。——杰夫·摩登 (3认同)

joe*_*rty 11

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


小智 6

在 Windows 和 Linux 上有几种方法可以做到这一点。例如,

  1. nslookup:从主机名中查找 IP 地址的经典方法,反之亦然。
  2. ipconfigifconfig基于您是在 Windows 还是 Unix 上运行
  3. Linux 上的主机名 -i

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


小智 5

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