У меня есть проблема с сетью, когда кадры с исходным MAC-адресом, который совпадает с одним из исходных MAC-адресов моего хоста, поступают на хост - очевидный дубликат MAC, или петля, или другая проблема L2.
Я полагаю, что это ситуация, потому что таблицы MAC (таблицы CAM) моего моста linux регистрируют локальный MAC (для размещенной виртуальной машины) как находящийся на восходящем порте, и журналы ядра показывают ошибки:
bridgename: received packet on bond0.2222 with own address as source address
Я хотел бы получить более подробную информацию об этих "мошеннических" пакетах / кадрах, но я не могу понять, как сосредоточиться на них. С помощью tcpdump вы можете фильтровать по определенному исходному MAC («ether src MAC»), но это основано на байтах в кадре, а не на том, был ли «отправлен» кадр по сравнению с «принят в». Обычно мы предполагаем, что кадр с нашим исходным MAC означает, что мы отправляем его, но если бы был получен дублированный кадр, содержимое фильтра выглядело бы точно так же.
Как можно наблюдать, был ли принят или получен кадр при захвате пакета?
tcpdump -L
для просмотра поддерживаемых интерфейсов,
ngrep -d dev
tcpdump -i <interface> inbound
(или "исходящий")?