如何 ping 连接着我的主机的虚拟机?

如何 ping 连接着我的主机的虚拟机?

我已经在电脑上安装了 VirtualBox。我有“虚拟仅主机网络”虚拟网卡,并且有两台机器通过仅主机网络模式连接到该网卡。

我想从主机检查它们的地址,然后我想从主机 ping 每台机器。

编辑:

(注意:我在 Windows 上工作,因此我使用 find 而不是 grep)

我使用了这些命令(第一行是命令,下一行是结果):

VBoxManage list vms
"MyMachine1" {uuid1}
"MyMachine1" {uuid2}

接下来是

VBoxManage showvminfo "MyMachine1" | find "NIC"
NIC 1: MAC: _MAC_ADDRESS, ..., 'VirtualBox Host-Only Ethernet Adapter #3", ...
NIC 2: disabled
NIC 3: disabled
NIC 4: disabled

然后 arp -a | find “_MAC_ADDRESS”(在这个命令中,我必须用“-”分隔 MAC 数字,因为 arp 显示它像 AA-BB-CC-DD-EE-FF)

我想我已经接近了,但是最后一个命令没有给出任何结果,比如没有_MAC_ADDRESS;但其他地址显示正确。

编辑2:

最后我得到了这个:)谢谢你的帮助,恶意的,你太棒了。

我做了什么:

VBoxManage guestproperty enumerate "MyMachine1" | find "IP"
Name: /VirtualBox/GuestInfo/Net/0/V4/IP, value: 192.168.56.100, timestamp: 1452501107090249101, flags:

对我来说足够公平了:)

但是恶意者用正则表达式以更优雅的方式实现了这一点(见他的回答)。当你真的需要分解结果以获取 IP 地址并在一些技巧、黑客和脚本中使用它时,它可能很有用 :)

非常感谢兄弟 :)

答案1

打开虚拟机

首先,你应该打开客户虚拟机,确保你已使用

VBoxManage list runningvms

如果未列出任何计算机,则表示您没有打开任何虚拟机,请列出它们并使用以下方法打开它们

VBoxManage list vms
"Windows7" {4968bf9e-cef5-4146-85e7-431c4a0d6d6c}

VBoxManage startvm name_of_VM

其中 name_of_VM 是您的虚拟机的名称。

未安装 VirtualBox Guest 附加组件。(无需网络连接)

您有命令 VBoxManage。要显示所有 VM 信息,您应该运行:

VBoxManage showvminfo "name_of_VM"

获取虚拟机的信息后,记下 MAC 地址,例如:

NIC 1:           MAC: 080027CD3159, Attachment: Bridged Interface 'enp1s0f0', Cable connected: on, Trace: off (file: none), Type: 82540EM, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth group: none

然后,你可以像这样使用 arp 命令,将 _MAC_ADDRESS 更改为虚拟机的 mac 地址(以 ':' 表示法)

arp -a | grep _MAC_ADDRESS

您应该获取您的虚拟机的 IP 地址。

安装 VirtualBox Guest Additions 后

另一种方法比上一种方法更简单,即通过 vbox 来宾附加功能。如果您安装了来宾附加功能,则只需使用:

VBoxManage guestproperty enumerate "name_of_VM" | grep /VirtualBox/GuestInfo/Net/0/V4/IP | grep -o -w -P -e '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}'

或者简单地

VBoxManage guestproperty enumerate "name_of_VM"

并搜索 IP 地址

安装 Guest Additions(需要网络连接)

您可以通过 VBoxManage 安装客户机添加项

wget http://download.virtualbox.org/virtualbox/5.0.12/Oracle_VM_VirtualBox_Extension_Pack-5.0.12.vbox-extpack
sudo VBoxManage extpack install ./Oracle_VM_VirtualBox_Extension_Pack-5.0.12.vbox-extpack

相关内容