J'ai un problème de réseau où des trames avec un MAC source qui correspond à l'un des MAC source de mon hôte arrivent sur l'hôte - un MAC ou une boucle en double apparent ou un autre problème L2.
Je crois que c'est la situation parce que les tables MAC (tables CAM) de mon pont Linux enregistrent un MAC local (pour une machine virtuelle hébergée) comme étant sur le port en amont, et les journaux du noyau montrent des erreurs:
bridgename: received packet on bond0.2222 with own address as source address
J'aimerais obtenir plus de détails sur ces paquets / trames "voyous", mais je ne sais pas comment les cibler. Avec tcpdump, vous pouvez filtrer sur un MAC source particulier ('ether src MAC'), mais cela est basé sur les octets dans la trame - pas si la trame a été "envoyée" par rapport à "reçue dans". Nous supposons généralement qu'une trame avec notre MAC source signifie que nous l'envoyons, mais si une trame en double était reçue, le contenu serait exactement le même pour le filtre.
Comment peut-on observer si une trame a été reçue ou transmise dans une capture de paquets?
tcpdump -L
pour voir les interfaces prises en charge,
ngrep -d dev
tcpdump -i <interface> inbound
(ou "sortant")?