Tcpreplaying usando o VMware

5

Isso se parece mais com uma questão de configuração de teste.

Eu quero usar o VMware para depurar alguns códigos de rede no kernel do Linux na VM. Minha VM tem duas interfaces de rede. O que eu quero fazer é reproduzir o arquivo de captura no host e receber os pacotes na VM. Meu problema é que não vejo pacotes repetidos na VM.

  1. Estou executando o VMware e tcpreplay no host como sudo. Portanto, acho que não deve haver nenhum arquivo de dispositivos de acesso com problemas.
  2. Estou executando a estação de trabalho do VMware 7.0

a. Eu comecei pela primeira vez com redes personalizadas, que fornece a opção de criar seu próprio nome de rede virtual. Eu escrevi / dev / vmnet3 e / dev / vmnet4 para as duas interfaces, respectivamente. No entanto, após inicializar o convidado, não vi nenhum desses arquivos de interfaces ou dispositivos (em / dev) criados no host.

b. Então eu tentei 'Host Only', mas isso não mostra qual arquivo bridge / device está associado à interface.

c. Finalmente eu tentei o modo de rede em ponte.

Eu vejo vmnet1, vmnet8 e vboxnet0 no host. Eu tenho visto o arquivo de captura em cada uma dessas interfaces, para todos os três casos acima. Eu tentei capturar pacotes na VM usando "tcpdump -i any". No entanto, não vejo nenhum pacote.

Alguma ideia / ponteiros?

    
por Methos 23.01.2010 / 06:40

2 respostas

1

Eu não tentei isso no VMware Workstation ultimamente, mas normalmente isso é resultado de um dos seguintes procedimentos:

  1. A VM que você está tentando capturar não está colocando a NIC em modo promíscuo, portanto não pode ver os pacotes que não são destinados a ela. Você pode resolver isso executando tcpdump como root na VM ou alterando sua visualização para usar o endereço MAC da VM como o destino dos pacotes que está enviando (o tcpreplay vem com tcprewrite, o que facilita esse tipo de mudança). Alternativamente, você poderia fazer o endereço MAC de destino dos pacotes que estão sendo repetidos o endereço de broadcast, ff: ff: ff: ff: ff (AVISO: MUITO PERIGOSO. A menos que você realmente entenda o que está fazendo, eu recomendo desconectar do físico rede antes de fazer isso).

  2. O host não está permitindo que a VM coloque a interface no modo promíscuo. Não sei como ajustar isso no VMware Workstation, mas no ESX [i] existe uma opção no vSwitch para "Allow Promiscuous Mode". Você também pode contornar isso alterando o endereço MAC de destino do fluxo tcpreplay, conforme mencionado em 1.

  3. As permissões na vmnet no host não estão corretas para permitir que o modo promíscuo funcione (supondo que você esteja usando o Linux como sistema operacional host). Há um monte de artigos da VMware sobre isso, e resolvê-lo é inconsistente na melhor das hipóteses. Você pode fazer isso chmodding a interface / dev / vmnetX para 777, mas provavelmente é melhor fazer seu tráfego de replay destinado ao MAC da VM se uma das outras respostas não resolver primeiro. / p>

Boa sorte,

- jed

    
por 04.06.2010 / 02:04
0

Se o endereço MAC de destino na captura que você está reproduzindo não for o MAC na interface dentro da VM e houver um host na mesma VLAN que tenha esse MAC, você não verá nenhum tráfego, porque o comutador virtual encaminhará o quadros na porta associada a esse MAC.

Tente listar a tabela de encaminhamento de ponte e pesquise o seu Mac de destino.

    
por 27.01.2010 / 04:11