Datenverkehr zwischen VirtualBox-Gästen, die nicht in tcpdump angezeigt werden

9

Ich habe eine Testumgebung mit 4 VirtualBox-Gästen eingerichtet, auf denen CentOS 6 ausgeführt wird. Auf jedem ist ein Netzwerkgerät an einen Bridged-Adapter angeschlossen, bei dem es sich um meine primäre Netzwerkverbindung auf meinem PC handelt. Auf eine statische IP-Adresse (zwischen 192.168.2.95-98) kann zugegriffen werden von jedem Gerät in meinem Netzwerk.

Manchmal muss ich in der Lage sein, Pakete aus dem einen oder anderen Grund zu analysieren. Zuerst habe ich nur SSH in meinen Router eingegeben und tcpdump verwendet, um alle Pakete von den Gästen zu erfassen. Nun, es funktioniert nicht wie geplant ...

Die einzigen Pakete, die mit tcpdump angezeigt werden, sind Datenverkehr zwischen 98 und anderen Geräten in meinem Netzwerk neben Gästen. 98 ist der einzige Gast, der mit anderen Geräten in meinem Netzwerk kommuniziert (neben SSH-Verkehr). Der Rest kommuniziert mit anderen Gästen.

Ich fing an, tcpdump nach Host für jede der Gast-IP-Adressen zu filtern. Am Ende habe ich alles ausgezogen, um alles wegzuwerfen . Da alle Pakete über den Netzwerkadapter auf meinem PC übertragen werden, habe ich alle Pakete für diese Karte ohne Erfolg erfasst!

VirtualBox verwaltet, injiziert und entfernt Pakete auf dem Adapter, wenn ein Bridged-Netzwerk verwendet wird. Wenn das Paket an einen anderen Gast gesendet werden soll, behält VirtualBox das Paket und leitet es an den entsprechenden Gast weiter? Wenn ja, wie kann ich diese Pakete erfassen?

Logan Bibby
quelle
Welches Betriebssystem ist Ihr Host-Computer?
schwer
Und zeigt tcpdump (oder ein anderer Paket-Sniffer) auf Ihrem Host Datenverkehr an? Ich würde vermuten, dass Ihr Host-Betriebssystem / Ihre VirtualBox intelligent genug sind, um keine Pakete an Ihren Router zu senden, nur um sie direkt auf dieselbe Schnittstelle zurückzubringen.
Goyuix
@heavyd - es ist Windows 7.
Logan Bibby
@Goyuix - Deshalb habe ich alle Pakete auf der Karte erfasst. Es zeigt dasselbe wie der Speicherauszug von meinem Router. Wenn es die Pakete aufbewahrt, wo kann ich sie finden?
Logan Bibby

Antworten:

6

Wenn Sie den Bridged Networking-Modus von VirtualBox verwenden, fungiert die VirtualBox als virtueller Switch zwischen der physischen Schnittstelle Ihres Host-Computers und dem virtuellen Netzwerk. Die Pakete, die zwischen Computern im virtuellen Netzwerk übertragen werden, erreichen nie einen Punkt im Host-Netzwerkstapel, an dem tcpdump sie abrufen kann, sodass Sie den Datenverkehr vom Host nicht sehen können.

Sie können versuchen, die integrierte Netzwerkverfolgungsfunktion von VirtualBox zu verwenden . Dies ist ein Debugging-Tool, das jedoch PCAP-Dateien generiert und einfach einzurichten ist. Um die Netzwerkverfolgung zu aktivieren, können Sie die VBoxManageBefehlszeile mit den folgenden --nictrace*Optionen verwenden:

VBoxManage modifyvm [your-vm] --nictrace[adapter-number] on --nictracefile[adapter-number] file.pcap
schwer
quelle
Versuchte es und es funktionierte wie ein Zauber. Das ist alles was ich brauchte! Ich wünschte, ich könnte dies 10 Mal positiv bewerten ... Sie haben keine Ahnung, wie lange mich dieses Problem geplagt hat.
Logan Bibby
1
Irgendeine Idee, warum tcpdump-ing innerhalb eines Gastes keinen VM-zu-VM-Verkehr erfasst? Der Host-IP-Stack ist mir nicht so wichtig. Ich würde eher erwarten, dass tcpdumpdas Gastbetriebssystem korrekt ausgeführt wird. Oberflächlich betrachtet ist dies eine vernünftige Erwartung, da der Gastnetzwerkstapel vermutlich wie gewohnt funktionieren sollte. Also, was ist falsch?
Ulidtko
@ulidtko Ich würde empfehlen, eine neue Frage mit Ihren spezifischen Details zu erstellen, einschließlich Betriebssystemen, Versionen und Netzwerkkonfigurationen.
Heavyyd