J'ai un problème de réseau où les cadres avec une source Mac correspondant à l'un des Mac Source Mac d'hôte arrivent à l'hôte - un mac en double apparent, ou une boucle ou un autre problème de L2.
Je crois que c'est la situation car les tables MAC (tables de came) de mon pont Linux enregistrent un Mac local (pour une machine virtuelle hébergée) comme étant sur le port amont et les journaux du noyau montrent des erreurs:
bridgename: received packet on bond0.2222 with own address as source address
J'aimerais avoir plus de détails sur ces paquets/cadres "voyous", mais je ne peux pas comprendre comment se passer sur eux. Avec TCPDummp, vous pouvez filtrer sur une source de source particulière ("éther src mac"), mais celle-ci est basée sur les octets du cadre - non si le cadre a été "envoyé" par rapport à "reçu". Nous supposons généralement un cadre avec notre source MAC signifie que nous l'envoyons, mais si une trame en double a été reçue, le contenu ressemblerait exactement au filtre.
Comment observer peut-être si un cadre a été reçu par rapport à transmis dans une capture de paquets?
Utiliser --direction
option to tcpdump:
-Q direction
--direction=direction
Choose send/receive direction direction for which packets should be
captured. Possible values are `in', `out' and `inout'. Not available on
all platforms.
Avec IPTABLES, vous avez des "chaînes" différentes pour les paquets entrants et sortants. De la page Homme IPTABLES (8):
... the chains INPUT and OUTPUT are only traversed for packets coming into
the local Host and originating from the local Host respectively. Hence
every packet only passes through one of the three chains (except
loopback traffic, which involves both INPUT and OUTPUT chains) ...
les IPTABLES peuvent faire une certaine journalisation (-L), ce qui pourrait vous montrer ce dont vous avez besoin. Il peut probablement également transmettre des copies de paquets vers une interface pour la journalisation avec d'autres outils, mais je n'ai pas eu de raison de le faire.