Ho un problema di rete in cui i frame con un MAC di origine che corrisponde a uno dei MAC di origine del mio host arrivano all'host - un apparente duplicato MAC, o loop, o altro problema L2.
Credo che questa sia la situazione perché le tabelle MAC (tabelle CAM) del mio bridge Linux registrano un MAC locale (per una macchina virtuale ospitata) come sulla porta upstream e i log del kernel mostrano errori:
bridgename: received packet on bond0.2222 with own address as source address
Vorrei ottenere maggiori dettagli su questi pacchetti / frame "canaglia", ma non riesco a capire come concentrarsi su di essi. Con tcpdump puoi filtrare su un MAC sorgente specifico ('ether src MAC'), ma questo si basa sui byte nel frame - non se il frame è stato "inviato" rispetto a "ricevuto in". Di solito supponiamo che un frame con il nostro MAC di origine significhi che lo stiamo inviando, ma se fosse ricevuto un frame duplicato, il contenuto sembrerebbe esattamente lo stesso al filtro.
Come si può osservare se un frame è stato ricevuto anziché trasmesso in una cattura di pacchetti?
tcpdump -L
per vedere le interfacce supportate,
ngrep -d dev
tcpdump -i <interface> inbound
(o "in uscita")?