Tráfego entre convidados do VirtualBox que não aparece no tcpdump

9

Eu tenho uma configuração de ambiente de teste com 4 convidados do VirtualBox executando o CentOS 6. Cada um possui um dispositivo de rede conectado a um adaptador em ponte, que é minha conexão de rede principal no meu PC, com um endereço IP estático (variando de 192.168.2.95-98) acessível por qualquer dispositivo na minha rede.

Às vezes, preciso ser capaz de analisar pacotes por um motivo ou outro. No começo, eu apenas fiz o SSH no meu roteador e usei o tcpdump para capturar todos os pacotes dos convidados. Bem, não está funcionando como planejado ...

Os únicos pacotes que aparecem usando o tcpdump são o tráfego entre 98 e outros dispositivos na minha rede, além dos convidados. 98 é o único convidado que se comunica com outros dispositivos na minha rede (além do tráfego SSH); o resto se comunica com outros convidados.

Comecei filtrando o tcpdump por host para cada um dos endereços IP do convidado. Acabei despejando tudo até despejar tudo . Como todos os pacotes passam pelo adaptador de rede no meu PC, capturei todos os pacotes para essa placa sem sucesso!

O VirtualBox manipula, injeta e remove pacotes no adaptador ao usar a rede em ponte. Se o pacote for para outro convidado, o VirtualBox mantém o pacote e o encaminha para o convidado apropriado? Se sim, como posso capturar esses pacotes?

Logan Bibby
fonte
Qual SO é o seu computador host?
heavyd
E o tcpdump (ou outro farejador de pacotes) no seu host mostra algum tráfego? Eu acho que o seu host OS / VirtualBox é inteligente o suficiente para não enviar pacotes ao seu roteador, apenas para que eles voltem à mesma interface.
Goyuix
@heavyd - é o Windows 7.
Logan Bibby
@ Goyuix - É por isso que capturei todos os pacotes no cartão. Mostra a mesma coisa que o despejo do meu roteador. Se ele mantiver os pacotes, onde posso encontrá-los?
amigos estão dizendo sobre logan

Respostas:

6

Quando você usa o modo de rede em ponte do VirtualBox, o VirtualBox age como um comutador virtual entre a interface física do computador host e a rede virtual. Os pacotes que viajam entre computadores na rede virtual nunca chegam a um ponto na pilha de rede do host em que o tcpdump pode buscá-los, portanto você não pode ver esse tráfego do host.

Você pode tentar usar o recurso de rastreamento de rede incorporado do VirtualBox . Esta é uma ferramenta de depuração, mas gera arquivos pcap e é construída em um fácil de configurar. Para ativar o rastreamento de rede, você pode usar a VBoxManagelinha de comando com as --nictrace*opções:

VBoxManage modifyvm [your-vm] --nictrace[adapter-number] on --nictracefile[adapter-number] file.pcap
pesado
fonte
Tentei e funcionou como um encanto. Isso é tudo que eu precisava! Eu gostaria de poder votar isso dez vezes ... Você não tem idéia de quanto tempo esse problema me atormentou.
Logan Bibby
1
Alguma idéia de por tcpdumping dentro convidado não capturar o tráfego VM-to-VM? Eu não me importo muito com a pilha de IP do host; em vez disso, eu esperaria ver tcpdumpexecutado corretamente no sistema operacional convidado. Na superfície, é uma expectativa razoável, já que a pilha da rede de convidados provavelmente deve estar funcionando normalmente. Então, oque há de errado?
ulidtko
@ulidtko Eu recomendaria criar uma nova pergunta com seus detalhes específicos, incluindo sistemas operacionais, versões e configurações de rede.
heavyd