我有一个无头的 Windows 7 盒子,我正尝试使用 VNC 查看器从我的 Ubuntu Gnome Raring 机器进行访问。
以前,当我运行 Linux mint 时,我可以毫无问题地做到这一点……但我记不起 Windows 框的 IP。当我尝试在 Nautilus 中浏览网络时,我可以看到 Windows 框主机名(例如浏览网络 > Windows 网络 > 工作组 > 主机名),但我不知道如何找到它的 IP!
最好的方法是什么?
谢谢。
答案1
假设 Windows 计算机仍可通过网络访问,则可以使用端口扫描程序扫描其正在运行的 VNC 服务器。如果主机名发现不起作用,则扫描网络以查找正在运行的服务器通常比对其进行故障排除更快、更容易。
这乍一看可能很复杂,但端口扫描很快就会成为一种非常快速简便的方法,可以获取有关网络上有哪些机器以及它们正在运行哪些服务器的难以访问的信息。
可以用于此目的的一款出色的网络扫描仪是网络地图要在 Ubuntu 中安装 Nmap,请打开终端窗口 ( Ctrl++ Alt)T并运行:
sudo apt-get update
sudo apt-get install nmap
现在,为了举例子,假设:
- 您的本地网络的 IP 地址均以192.168.1。. (你可以运行
ifconfig
或者,如果您可以访问它,请通过查看路由器的基于 Web 的设置。) - Windows 机器的 VNC 服务器在端口 5900 上运行。(这是很常见,但并不普遍——你可以告诉它监听几乎任何端口。)
您必须将上述值替换为实际适合您情况的值。
然后,你可以使用 Nmap 扫描你的 LAN 以查找 Windows 机器的 VNC 服务器,运行以下命令:
sudo nmap -sS -sV 192.168.1.\* -p5900
(为什么nmap
必须运行以 root 身份和sudo
? 这使得它能够执行扫描使用技巧速度更快、效率更高,而且网络资源消耗更少。作为 root,它可以执行操作这些功能实际上只对网络扫描和其他类似的有趣应用程序有用,因此无法供以受限用户身份运行的普通应用程序使用。然而,如果你不想以 root 身份运行,则不必;它只会慢一点。在这种情况下,用 替换-sS
,并从开头-sT
删除。参见sudo
man nmap
了解详情。
这可能会显示所有计算机的结果,但您感兴趣的是open
在STATE
列中。例如,它可能看起来像:
Nmap scan report for 192.168.1.105
Host is up (0.00011s latency).
PORT STATE SERVICE VERSION
5900/tcp open vnc ....
我的 LAN 上没有运行 VNC 服务器,因此我不确定它到底是什么样子(并且...
肯定会被正在运行的服务器软件的信息所取代)。但本质上它就是这个样子。
Nmap scan report
在显示端口 5900(或它正在使用的任何端口)为“打开”的条目顶部,显示的那一行的 IP 地址是 Windows 机器的 IP 地址。
如果你喜欢使用图形界面, 然后:
你可以
nmap
在软件中心安装。 安装包裹zenmap
也是;那是图形界面nmap
。然后打开 Zenmap 并从那里进行扫描。
要以 root 身份运行 Zenmap(请参阅上面关于此内容的说明和
-sS
vs.-sT
标志),请按Alt+F2并运行gksudo zenmap
。如果你没有
gksudo
(有些 13.04 系统支持,有些则不支持),您可以安装它(它由包提供gksu
),或者您可以打开终端并运行sudo -H zenmap
或sudo -i zenmap
。你应该不是运行
zenmap
直的sudo
就像运行非图形程序一样。也就是说,避免sudo zenmap
;以这种方式运行任何(除了最简单的图形应用程序)可能会导致应用程序配置文件出现令人烦恼的问题。使用 Zenmap 时,您无需逃脱
*
带有\
。也就是说,您192.168.1.\*
在终端中可以看到类似的东西,只需192.168.1.*
在 Zenmap 中使用即可。
Zenmap 的屏幕截图,显示了您可能想要执行的扫描。我的网络上没有运行 VNC 服务器,因此没有打开显示;只是关闭和已过滤。在您的网络上,您将寻找哪个 IP 具有开放的 VNC 端口。
正如你可能在上面的截图中看到的那样,运行 Zenmap 仍然需要编写 Nmap命令,这种方式类似于命令行。但输出以图形方式显示,并且可以使用提供的界面自动创建部分命令。