Como faço ping de máquinas virtuais conectadas ao meu PC host?

1

Eu instalei o VirtualBox no meu pc. Eu tenho a placa de rede virtual "Virtual Host-Only Network" e duas máquinas conectadas através do modo de rede somente host.

Eu quero verificar os endereços deles do host e, em seguida, quero fazer o ping de cada máquina do host.

EDITAR:

(nota: eu trabalho no Windows, então em vez do grep eu usei find)

Eu usei esses comandos (a primeira linha é o comando, o próximo é o resultado):

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

Próxima foi

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

Então     arp -a | encontrar "_MAC_ADDRESS" (Neste comando, eu tive que separar os dígitos MAC com "-", como arp exibe como AA-BB-CC-DD-EE-FF)

Eu acho que estou perto, mas este último comando não dá nenhum resultado como se não houvesse _MAC_ADDRESS; mas outros endereços são exibidos corretamente.

EDIT 2:

Finalmente eu recebi isso :) obrigado pela ajuda, malévolo, você é incrível.

O que eu fiz:

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

Feira suficiente para mim:)

Mas malévolo fez isso de uma maneira mais elegante, com expressões regulares (veja a resposta dele). Pode ser útil quando você realmente precisa separar o resultado para obter o endereço IP e usá-lo em alguns truques, hacks e scripts:)

HUUGE AGRADECE A BRO:)

    
por bercik 11.01.2016 / 10:07

1 resposta

0

Ligue a VM

Antes de mais nada, você deve ativar as VMs convidadas, certifique-se de ativá-las com

VBoxManage list runningvms

Se nenhuma máquina estiver listada, você não terá nenhuma VM ativada, listá-las e ativá-las com

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

VBoxManage startvm name_of_VM

Onde name_of_VM é o nome da sua máquina virtual.

Sem as adições do VirtualBox Guest instaladas. (sem necessidade de conexão com a Internet)

Você tem o comando VBoxManage. Para mostrar todas as informações da VM, você deve executar:

VBoxManage showvminfo "name_of_VM"

Depois de obter as informações das VMs, anote o endereço MAC, por exemplo:

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

Em seguida, você pode usar o comando arp assim, alterando o _MAC_ADDRESS com o endereço MAC do seu vm em ':' notação

arp -a | grep _MAC_ADDRESS

Você deve obter o endereço IP da sua VM.

Com as adições de convidados do VirtualBox instaladas

Outro método, mais fácil que o anterior, deve ser através de adições de convidados do vbox. Se você tiver adições de convidado instaladas, você pode simplesmente usar:

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}'

Ou simplesmente

VBoxManage guestproperty enumerate "name_of_VM"

E pesquise pelo endereço IP

Instalação de adições de convidados (conexão com a Internet necessária)

Você pode instalar adições de convidados por meio do 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
    
por 11.01.2016 / 10:15