tcpdump-uw pour la capture de paquets dans un vswitch sur esxi

Pour capturer tout le trafic sur une interface vmkernel, utilisez tcpdump-uw.

Lister toutes les interfaces vmkernel :

esxcfg-vmknic -l
Interface  
vmk0    .....   
vmk1    .....

Pour filtrer sur une Ip spécifique : 10.254.1.3

tcpdump-uw -i vmk0 host 10.254.1.3

Pour capturer des paquets sur une interface physique, vous ne pouvez pas utiliser tcpdump-uw, utilisez plutôt pktcap-uw.

Liste de toutes les cartes physiques :

esxcfg-nics -l
Name    PCI           Driver      Link Speed    
vmnic0  0000:04:00.00 igb         Up   1000Mbps 
vmnic1  0000:04:00.01 igb         Up   1000Mbps 

Et lancez le scan, utiliser le paramètre de liaison montante pour sélectionner un nic, le paramètre -o écrit tous les paquets dans un fichier et le paramètre –mac fonctionne comme un filtre sur l’adresse mac.

pktcap-uw  --uplink  vmnic5 --mac 00:50:56:34:17:b5 -o /tmp/test_lost_connection.cap
The name of the uplink is vmnic5
The session filter mac(src or dst) is00:50:56:34:17:b5
The output file is /tmp/test_lost_connection.cap
No server port specifed, select 11727 as the port
Local CID 2
Listen on port 11727
Accept...Vsock connection from port 1030 cid 2
Dump: 1, broken : 0, drop: 0, file err: 0Destroying session 6

Il est également possible de tracer sur un port vSwitch spécifique. Vous aurez besoin du numéro de port auquel une machine virtuelle est connectée pour cela

net-stats -l
PortNum          Type SubType SwitchName       MACAddress         ClientName
100663305           5       7 vSwitch4         00:50:56:34:17:b5  ClientVM1
100663306           5       7 vSwitch4         00:50:56:b3:47:b2  ClientVM2

Puis pour lancer la trace :

pktcap-uw --switchport 100663305           
The switch port id is 0x06000008
No server port specifed, select 13530 as the port
Output the packet info to console.
Local CID 2
Listen on port 13530
Accept...Vsock connection from port 1031 cid 2

Pour lister le cache d’arp d’un hôte ESXi :

esxcli network ip neighbor

Pour lister les réseaux pour toutes les machines virtuelles exécutées sur un hôte ESXi :

esxcli network vm list
26525310 ClientVM1 1 VLAN_CLIENTS

Détails du port vSwitch d’une machine virtuelle

esxcli network vm port list -w 26525310
   Port ID: 83886099
   vSwitch: vSwitch3
   Portgroup: VLAN_CLIENTS
   DVPort ID:
   MAC Address: 00:50:56:34:17:b5
   IP Address: 0.0.0.0
   Team Uplink: vmnic5
   Uplink Port ID: 83886082
   Active Filters:

Pour voir l’adresse IP dans les détails du port, vous devez activer l’inspection des paquets ARP :

esxcli system settings advanced set -o /Net/GuestIPHack -i 1

Puis pour obtenir des statistiques pour un port d’une VM :

esxcli network port stats get -p 83886099
Packet statistics for port 83886099
Packets received: 8661
Packets sent: 2177
Bytes received: 747129
Bytes sent: 133151
Broadcast packets received: 4779
Broadcast packets sent: 2135
Multicast packets received: 311
Multicast packets sent: 42
Unicast packets received: 3571
Unicast packets sent: 0
Receive packets dropped: 393
Transmit packets dropped: 0

 

Source