El tráfico entre los invitados de VirtualBox no aparece en tcpdump

9

Tengo una configuración de entorno de prueba con 4 invitados VirtualBox que ejecutan CentOS 6. Cada uno tiene un dispositivo de red conectado a un adaptador en puente, que es mi conexión de red principal en mi PC, con una dirección IP estática (que va desde 192.168.2.95-98) accesible por cualquier dispositivo en mi red.

A veces necesito poder analizar paquetes por una razón u otra. Al principio, simplemente ingresé SSH en mi enrutador y usé tcpdump para capturar todos los paquetes de los invitados. Bueno, no está funcionando según lo planeado ...

Los únicos paquetes que aparecen usando tcpdump es el tráfico entre 98 y otros dispositivos en mi red además de los invitados. 98 es el único invitado que se comunica con otros dispositivos en mi red (además del tráfico SSH); El resto se comunica con otros huéspedes.

Comencé filtrando tcpdump por host para cada una de las direcciones IP de los invitados. Terminé despojándolo todo hasta tirar todo . Como todos los paquetes pasan por el adaptador de red de mi PC, ¡capturé todos los paquetes para esa tarjeta sin ningún éxito!

VirtualBox destruye, inyecta y elimina paquetes en el adaptador cuando se utiliza una red en puente. Si el paquete debe ir a otro invitado, ¿VirtualBox guarda el paquete y lo reenvía al invitado apropiado? Si es así, ¿cómo puedo capturar esos paquetes?

Logan Bibby
fuente
¿Qué sistema operativo es su computadora host?
heavyd
¿Y tcpdump (u otro sniffer de paquetes) en su host muestra algún tráfico? Supongo que su host OS / VirtualBox es lo suficientemente inteligente como para no enviar paquetes a su enrutador solo para que vuelvan a la misma interfaz.
Goyuix
@heavyd - es Windows 7.
Logan Bibby
@Goyuix: por eso capturé todos los paquetes de la tarjeta. Muestra lo mismo que el volcado de mi enrutador. Si guarda los paquetes, ¿dónde puedo encontrarlos?
Logan Bibby

Respuestas:

6

Cuando utiliza el modo de red en puente de VirtualBox, VirtualBox actúa como un interruptor virtual entre la interfaz física de su computadora host y la red virtual. Los paquetes que viajan entre computadoras en la red virtual nunca llegan a un punto en la pila de red del host donde tcpdump puede recogerlos, por lo que no puede ver el tráfico del host.

Puede intentar utilizar la función de rastreo de red integrada de VirtualBox . Esta es una herramienta de depuración, pero genera archivos pcap y está construida de manera fácil de configurar. Para habilitar el rastreo de red, puede usar la VBoxManagelínea de comando con las --nictrace*opciones:

VBoxManage modifyvm [your-vm] --nictrace[adapter-number] on --nictracefile[adapter-number] file.pcap
pesado
fuente
Lo probé y funcionó a las mil maravillas. ¡Esto es todo lo que necesitaba! Desearía poder votar esto 10 veces ... No tienes idea de cuánto tiempo me ha afectado este problema.
Logan Bibby
1
¿Alguna idea de por qué el tcpdumpingreso dentro del invitado no captura el tráfico de VM a VM? No me importa mucho la pila de IP del host; más bien esperaría ver que se tcpdumpejecute correctamente en el sistema operativo invitado. En la superficie, esa es una expectativa razonable, ya que la pila de la red de invitados probablemente debería funcionar como de costumbre. ¿Así que qué hay de malo?
ulidtko
@ulidtko Recomendaría crear una nueva pregunta con sus detalles específicos, incluidos los sistemas operativos, las versiones y las configuraciones de red.
heavyd