J'ai une configuration d'environnement de test avec 4 invités VirtualBox exécutant CentOS 6. Chacun a un périphérique réseau connecté à un adaptateur ponté, qui est ma connexion réseau principale sur mon PC, avec une adresse IP statique (allant de 192.168.2.95-98) accessible par n'importe quel appareil sur mon réseau.
Parfois, je dois pouvoir analyser des paquets pour une raison ou une autre. Au début, je viens de SSH dans mon routeur et utilisé tcpdump pour capturer tous les paquets des invités. Eh bien, cela ne fonctionne pas comme prévu ...
Les seuls paquets qui apparaissent à l'aide de tcpdump sont le trafic entre 98 et d'autres appareils sur mon réseau en plus des invités. 98 est le seul invité qui communique avec d'autres appareils sur mon réseau (en plus du trafic SSH); le reste communique avec les autres clients.
J'ai commencé par filtrer tcpdump par hôte pour chacune des adresses IP invitées. J'ai fini par le dépouiller jusqu'à tout vider . Étant donné que tous les paquets transitent par l'adaptateur réseau sur mon PC, j'ai capturé tous les paquets de cette carte sans succès!
VirtualBox modifie, injecte et supprime les paquets sur l'adaptateur lors de l'utilisation d'un réseau ponté. Si le paquet doit aller à un autre invité, VirtualBox conserve-t-il le paquet et le transmet-il à l'invité approprié? Si oui, comment puis-je capturer ces paquets?
la source
Réponses:
Lorsque vous utilisez le mode réseau ponté de VirtualBox, VirtualBox agit comme un commutateur virtuel entre l'interface physique de votre ordinateur hôte et le réseau virtuel. Les paquets voyageant entre les ordinateurs du réseau virtuel n'atteignent jamais un point dans la pile de mise en réseau hôte où tcpdump peut les récupérer, vous ne pouvez donc pas voir ce trafic provenant de l'hôte.
Vous pouvez essayer d'utiliser la fonction de traçage réseau intégrée de VirtualBox . Il s'agit d'un outil de débogage, mais il génère des fichiers pcap et est construit dans un environnement facile à configurer. Pour activer le traçage réseau, vous pouvez utiliser la
VBoxManage
ligne de commande avec les--nictrace*
options:la source
tcpdump
-l'invité interne ne capture pas le trafic de machine virtuelle à machine virtuelle? Je ne me soucie pas tant de la pile IP hôte; je m'attendrais plutôt à le voirtcpdump
fonctionner correctement dans l'OS invité. En apparence, c'est une attente raisonnable, car la pile du réseau invité devrait probablement fonctionner comme d'habitude. Alors, qu'est-ce qui ne va pas?