Il traffico tra guest VirtualBox non viene visualizzato in tcpdump


9

Ho un ambiente di test configurato con 4 guest VirtualBox che eseguono CentOS 6. Ciascuno ha un dispositivo di rete collegato a un adattatore a ponte, che è la mia connessione di rete principale sul mio PC, con un indirizzo IP statico (compreso tra 192.168.2.95-98) accessibile da qualsiasi dispositivo sulla mia rete.

A volte ho bisogno di essere in grado di analizzare i pacchetti per un motivo o per l'altro. Inizialmente, ho appena inserito SSH nel mio router e ho usato tcpdump per catturare tutti i pacchetti dagli ospiti. Bene, non funziona come previsto ...

Gli unici pacchetti che appaiono usando tcpdump sono il traffico tra 98 e altri dispositivi sulla mia rete oltre agli ospiti. 98 è l'unico ospite che comunica con altri dispositivi sulla mia rete (oltre al traffico SSH); il resto comunica con gli altri ospiti.

Ho iniziato a filtrare tcpdump per host per ciascuno degli indirizzi IP guest. Ho finito per spogliarlo fino in fondo per scaricare tutto . Dal momento che tutti i pacchetti passano attraverso la scheda di rete sul mio PC, ho catturato tutti i pacchetti per quella scheda senza successo!

VirtualBox esegue il mangle, inietta e rimuove i pacchetti sull'adattatore quando si utilizza una rete a ponte. Se il pacchetto deve andare a un altro guest, VirtualBox mantiene il pacchetto e lo inoltra al guest appropriato? In tal caso, come posso acquisire quei pacchetti?


Quale sistema operativo è il tuo computer host?
pesante il

E tcpdump (o altro sniffer di pacchetti) sul tuo host mostra traffico? Immagino che il tuo SO / VirtualBox host sia abbastanza intelligente da non inviare effettivamente pacchetti al tuo router solo per farli tornare sulla stessa interfaccia.
Goyuix,

@heavyd - è Windows 7.
Logan Bibby il

@Goyuix - Ecco perché ho catturato tutti i pacchetti sulla scheda. Mostra la stessa cosa della discarica dal mio router. Se mantiene i pacchetti, dove posso trovarli?
Logan Bibby,

Risposte:


6

Quando si utilizza la modalità di rete con bridge di VirtualBox, VirtualBox si comporta come uno switch virtuale tra l'interfaccia fisica del computer host e la rete virtuale. I pacchetti che viaggiano tra i computer sulla rete virtuale non arrivano mai a un punto nello stack di rete dell'host in cui tcpdump può raccoglierli, quindi non puoi vedere quel traffico dall'host.

Puoi provare a utilizzare la funzionalità di traccia della rete integrata di VirtualBox . Questo è uno strumento di debug, ma genera file pcap ed è costruito in modo facile da configurare. Per abilitare la traccia di rete è possibile utilizzare la VBoxManageriga di comando con le --nictrace*opzioni:

VBoxManage modifyvm [your-vm] --nictrace[adapter-number] on --nictracefile[adapter-number] file.pcap

L'ho provato e ha funzionato come un fascino. Questo è tutto ciò di cui avevo bisogno! Vorrei poter votare questo 10 volte ... Non hai idea da quanto tempo questo problema mi ha afflitto.
Logan Bibby,

1
Qualsiasi idea del perché tcpdump-ing all'interno ospite non catturare il traffico VM-to-VM? Non mi interessa molto dello stack IP host; piuttosto mi aspetto di vedere tcpdumpeseguito correttamente nel SO guest. In apparenza, questa è un'aspettativa ragionevole, dal momento che lo stack della rete guest dovrebbe presumibilmente funzionare come al solito. Allora, cosa c'è che non va?
Ulidtko,

@ulidtko Consiglierei di creare una nuova domanda con i tuoi dettagli specifici inclusi sistemi operativi, versioni e configurazioni di rete.
pesante il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.