Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have VirtualBox set up on a server. It was set up as a Bridged VM, and has an IP address. It's now running in headless mode, started with "VBoxHeadless -s PuppetMaster".

How can I find out what IP the VM is using VBoxManage?

share|improve this question

I could find my Headless VB with the combination of following commands:

# Update arp table
for i in {1..254}; do ping -c 1 192.168.178.$i & done

# Find vm name
VBoxManage list runningvms

# Find MAC: subsitute vmname with your vm's name
VBoxManage showvminfo vmname

# Find IP: substitute vname-mac-addr with your vm's mac address in ':' notation
arp -a | grep vmname-mac-addr

But even easier: in linux, you can connect to the VB:

# Default VirtualBox Listening Port: 3389
rdesktop -N hostingserver:3389

This command will open a shell window, and you'll have direct access to the Headless VB, where you can retrieve your Headless VB IP: ip addr

share|improve this answer

Install guest additions and (assuming linux is the guest) you can run the following:

VBoxManage --nologo guestcontrol yourVirtualMachineName execute --image "/sbin/ifconfig"  --username yourUser --password yourPassword --wait-exit --wait-stdout -- -a
share|improve this answer

Not sure if VBoxManage can give you that information directly. What you can do is run the following command to see the network card configuration.

VBoxManage showvminfo PuppetMaster | egrep ^NIC

That will if nothing else will provide you with the MAC address, allowing you to find out the actual ip address by other means.

share|improve this answer
Any ideas on how to get the IP using the MAC address from the command line? – Jon Haddad Apr 2 '10 at 18:22
VBoxManage guestproperty enumerate {`VBoxManage list runningvms | awk -F"{" '{print $2}'` | grep IP | awk -F"," '{print $2}' | awk '{print $2}'
share|improve this answer
Command works for a single VM. -- With multiple VMs filter by VM name, e.g.: VBoxManage list runningvms | grep vmname | awk ... – mschuett Jan 4 '13 at 10:22

You can get it directly using this command:

VBoxManage list bridgedifs
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.