我已经在电脑上安装了 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