繁体   English   中英

从虚拟机内部获取 IP 地址

[英]get IP address from inside a virtual machine

我正在通过 xming 运行 UNIX 操作系统,并且我试图找出一种编写脚本的方法,该脚本将从 Linux 终端运行并打印运行 xming 会话的 Windows 计算机的 ip。

我什至不知道这是否可能,但如果可能,我会很高兴得到一些帮助。

顺便说一句,计算机在专用网络中,不允许我安装新软件。

ps:如果有一个 perl/python 函数可以帮助我,那就足够了。

如果您的 VM 使用“NAT”网络设置:(这也是默认设置)
只需跟踪网站的路由就可以找到主机的IP。 例如,运行命令:

traceroute http://www.anywebsite.com/

这将显示网站和 VM 之间的所有中间系统 IP,包括 VM 主机的 IP,因为您的流量正在通过它。

如何安装? sudo apt-get install traceroute (基于 ubuntu/debian)

UNIX/Linux 上的一些类似工具有: traceroute, traceroute6, tracepath

如果您使用的是“桥接适配器”网络设置
您可以使用Angry IP Scanner等工具扫描网络上的所有 IP。 如果没有被主机禁用,您将能够获得所有系统的详细信息,至少是基本的,您可以尝试确定您的主机。 如果网络中只有一个系统,那么,宾果游戏! 你不需要做太多:)

从评论转移到答案......

您一直在询问在您的 Windows PC 上运行的 VM,但不清楚您是否正在这样做。 您似乎在使用Xming ,它是适用于 Windows 的 X11 服务器。 这与 VM 不同。

现在,您仍然可以使用 VM。 如果是,它将在虚拟化程序中运行,例如 VMware、Oracle Virtualbox 或其他一些虚拟机软件。 我们很难从这个有利位置知道。 如果您在公司环境中,您可以通过询问您的 IT 部门获得明确的答案。

您似乎更有可能使用 Xming 连接到另一个运行 X11 服务器的系统。 X11 允许您将远程计算机的图形 UI 显示到您自己的计算机上。 它通常是您在 Unix/Linux 服务器上使用的东西。 可能这个 X11 服务器在您网络上的其他机器上,而不是您 PC 上的 VM。

在这种情况下,我可以提供的最佳建议是查看 Unix/Linux 服务器上的$DISPLAY变量,如果您有一个打开的 shell 窗口。

$ echo $DISPLAY
DISPLAY=10.1.2.3:12345

这可能会显示您的 PC 的 IP(可能后跟端口号),X11 连接到该 IP 以进行显示。 如果你看不到,我不知道你还能尝试什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM