从主机名获取远程 Windows 机器的 IP

Sta*_*eck 3 nautilus windows-7 networking hostname

我有一个无头的 Windows 7 盒子,我试图从我的 Ubuntu Gnome Raring 机器上使用 VNC 查看器访问。

以前我在运行Linux mint的时候,可以做到这个没问题……但是我记不起windows box的IP了。当我尝试在 Nautilus 中浏览网络时,我可以看到 windows box 主机名(例如浏览网络 > Windows 网络 > WORKGROUP > 主机名),但我不知道如何找到它的 IP!

最好的方法是什么?

谢谢。

Eli*_*gan 10

假设 Windows 机器仍然可以通过网络访问,您可以使用端口扫描程序来扫描它正在运行的 VNC 服务器。如果主机名发现不起作用,扫描网络以查找正在运行的服务器通常比对其进行故障排除更快、更容易。

起初这可能看起来很复杂,但端口扫描很快就会成为一种非常快速和简单的方法,可以获取有关网络上哪些机器以及它们正在运行哪些服务器的其他难以访问的信息。

可用于此目的的一种出色的网络扫描仪是Nmap。要在Ubuntu安装Nmap的,打开一个终端窗口(Ctrl+ Alt+ T)并运行:

sudo apt-get update
sudo apt-get install nmap
Run Code Online (Sandbox Code Playgroud)

现在,为了举例,假设:

  • 您本地网络的 IP 地址都以192.168.1开头. (您可以通过运行来检查这一点,ifconfig或者,如果您可以访问它,请查看路由器的基于 Web 的设置。)
  • Windows box 的 VNC 服务器在端口 5900 上运行。(这很常见,但并不普遍——你可以告诉它监听任何端口。)

您必须用实际适用于您的情况的任何值替换上述值。

然后,您可以使用 Nmap 通过运行以下命令来扫描您的 LAN 以查找 Windows 机器的 VNC 服务器:

sudo nmap -sS -sV 192.168.1.\* -p5900
Run Code Online (Sandbox Code Playgroud)

(为什么nmap要运行的根sudo?这使它能够执行扫描使用的技术是更快,更有效,甚至更少的网络资源的消耗。作为root用户,它可以执行的操作是真的只用于网络扫描有用和其他类似有趣的应用程序,因此不适用于以受限用户身份运行的普通应用程序。但是,如果您不想以 root 身份运行它,则不必这样做;它只是会慢一点。在那情况下,替换-sS-sT,并sudo从头开始删除。有关man nmap详细信息,请参阅。)

这可能会显示您的所有计算机的结果,而是一个你感兴趣的是一个说openSTATE列。例如,它可能看起来像:

Nmap scan report for 192.168.1.105
Host is up (0.00011s latency).
PORT     STATE SERVICE     VERSION
5900/tcp open  vnc         ....
Run Code Online (Sandbox Code Playgroud)

我的 LAN 上没有运行 VNC 服务器,所以我不确定它会是什么样子(并且...肯定会被有关正在运行的服务器软件的信息所取代)。但这基本上就是它的样子。

在这行的IP地址Nmap scan report,在入口的顶部昭示着5900端口(或任何与它的使用)的“开放”,是Windows中的IP地址。

如果您更喜欢使用图形界面,则:

  1. 您可以在软件中心安装nmap。安装zenmap太; 这是一个图形界面nmap

  2. 然后打开 Zenmap 并从那里进行扫描。

    要以 root 身份运行 Zenmap(请参阅上面关于此的注释以及-sSvs.-sT标志),请按Alt+F2并运行gksudo zenmap

    如果你没有gksudo有些 13.04 系统有,有些没有),你可以安装它(它由gksu包提供),或者你可以打开一个终端并运行sudo -H zenmapsudo -i zenmap

    你应该运行zenmap带有sudo不过,因为你运行非图形程序。也就是说,避免sudo zenmap; 以这种方式运行除最微不足道的图形应用程序之外的任何其他应用程序都可能导致应用程序配置文件出现烦人的问题

  3. 当您使用Zenmap,你不必逃避 *,以及符合S \。也就是说,您可以192.168.1.\*在终端中使用类似的东西,只需192.168.1.*在 Zenmap 中使用即可。

Zenmap 的屏幕截图,显示了您可能想要执行的扫描,出于隐私原因模糊了 MAC 地址。
Zenmap 的屏幕截图,显示了您可能想要执行的扫描。在我的网络上没有运行 VNC 服务器,所以没有显示任何打开的内容;刚刚关闭过滤。在您的网络上,您会寻找哪个 IP 具有开放的 VNC 端口。

正如您在上面的屏幕截图中可能看到的那样,运行 Zenmap 仍然涉及编写 Nmap命令,并且这种方式类似于命令行。但是输出以图形方式显示,并且可以使用提供的界面自动创建部分命令。