Я не профессионал в области сетевых технологий и пытаюсь понять это лучше.
Ниже приведена моя установка.
Хост-система - это OSX с VirtualBox. Две виртуальные машины виртуальных боксов (VM1 и VM2), каждая из которых работает под управлением Ubuntu, и обе эти системы подключены к хосту OSX через интерфейс VBoxnet0 в сетевой конфигурации Host Only. Оба могут отлично пинговать друг друга.
Теперь я хочу, чтобы у меня была возможность отслеживать всю сетевую активность (скажем, с помощью Wireshark и т. Д.) С VM1 (под управлением Wireshark), пока на VM2 выполняется какая-либо сетевая активность.
Как мне этого добиться?
Простите, что я меньше понимаю об этом здесь, но будет ли необходимость в IP-переадресации в этом случае? Думаю, нет, потому что обе виртуальные машины находятся на одном интерфейсе VBoxnet0 и находятся в одной сети 192.168.56. *. Пожалуйста, поправьте меня, если я неправильно понимаю.
Я уже пробовал добавить IP-адрес VM1 в качестве шлюза для VM2, используя:
маршрут добавить по умолчанию gw 192.168.56.102 eth0
но это не особо помогло.
Обычный способ сделать это - использовать функцию трассировки сети, включенную в VirtualBox. Я думаю, что это может быть недоступно в графическом интерфейсе, поэтому вам придется использовать интерфейс командной строки.
Вы начинаете с выключенной виртуальной машины.
Чтобы включить трассировку сети и запустить виртуальную машину, вы должны:
# VBoxManage modifyvm [your-vm] --nictrace[adapter-number] on --nictracefile[adapter-number] file.pcap
# VirtualBox -startvm [your-vm]
Не забудьте отключить трассировку, когда закончите:
# VBoxManage modifyvm [your-vm] --nictrace[adapter-number] off
с учетом вашего примера:
Включить:
# VBoxManage modifyvm VM1 --nictrace1 on --nictracefile1 mytrace.pcap
# VirtualBox -startvm VM1
Отключить:
# VBoxManage modifyvm VM1 --nictrace1 off