Назад | Перейти на главную страницу

захват сетевого трафика между 2 виртуальными машинами

Я не профессионал в области сетевых технологий и пытаюсь понять это лучше.

Ниже приведена моя установка.

Хост-система - это 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