Sniffing máquina VirtualBox por trás do NAT

4

Eu tenho uma máquina VirtualBox com uma única interface conectada ao modo NAT do VB. O que eu gostaria de fazer é farejar todo o tráfego vindo de / para qualquer máquina por trás daquele NAT. (Eu não acho que vou precisar farejar mais máquinas ao mesmo tempo).

O contexto para isso é o teste de software. Mais especificamente, eu gostaria de ver em uma foto maior o que exatamente vai de / para a máquina sem a necessidade de filtrar todo o ruído que o host já está produzindo.

Eu costumava fazer isso no Windows 7 com VMWare, onde o tráfego voava através de uma interface virtual separada no host, então farejar o tráfego de (todas) máquinas atrás do NAT era tão fácil quanto farejar apenas aquela interface. / p>

Agora eu tentei conseguir a mesma configuração no Debian com o VirtualBox, e parei no fato de que o VirtualBox não parece separar o tráfego desta forma: no Debian Wireshark só oferece eth0 , nflog , lo e any (pseudo-dispositivo para capturar todos os outros). Quando eu farejo o eth0 , não consigo distinguir facilmente entre o que veio do host e o que veio do guest.

É possível fazer isso com o VirtualBox? Ou há uma configuração melhor (mais fácil)?

Ambas as máquinas estão rodando Debian 7.0 Wheezy.

Nota: O que eu estava (talvez ingenuamente) pensando como uma possível solução era: uma maneira de distinguir nos pacotes de saída que eles foram traduzidos. (NAT > não deixa vestígios?) Agora, parece-me que isso, pelo menos, definitivamente não seria fácil para pacotes ...

    
por Alois Mahdal 14.05.2013 / 18:08

1 resposta

2

Para fazer isso, você precisa criar uma interface de ponte no Linux:

sudo brctl addbr br0

Isso criará uma interface de ponte à qual o VirtualBox pode se conectar.

Então você tem que configurar sua máquina virtual para que ela use esta interface:

Agoravocêpodefarejarbr0paraveroqueestáacontecendoemsuaredede"máquinas virtuais".

Pode ser necessário configurar a interface br0 e o NAT:

# Assign IP address 192.168.42.2 (netmask 255.255.255.0) to br0 
ip addr add 192.168.42.2/24 dev br0
# Tell your host that it should masquerade (NAT) all virtual machines
iptables -A POSTROUTING -o <lan_interface> -j MASQUERADE

Lembre-se de que não há nenhum servidor DHCP em execução na rede br0 , portanto, você terá que configurar (endereços IP e gateway padrão) todas as suas máquinas virtuais manualmente.

Editar: Corrigido erro de sintaxe no comando brctl Editar 2: Adicionadas informações para configurar a interface de ponte

    
por 14.05.2013 / 18:47