Problem
Ich bin heute auf das gleiche Problem gestoßen, bei dem Mars-Pakete meine Kernel-Protokolle überfluteten. Alle Martian-Pakete haben dieselbe öffentliche IP-Adresse eth0
wie die öffentliche IP-Adresse von eth0
(die realen IPs und der Header werden entfernt).
IPv4: martian source x.x.x.x from x.x.x.x, on dev eth0
ll header: 00000000: aa bb cc dd ee ff gg hh ii jj kk ll 08 00
Nach einigen Nachforschungen wurde mir klar, dass der Grund in ll header
den Mars-Paketen versteckt ist .
Theorie
Unter der Annahme, dass dies bei einer Ethernet-Verbindung der ll header
Fall ist, wird der Anfang eines Ethernet Type II-Frames angezeigt, der die Ziel-MAC-Adresse, die Quell-MAC-Adresse und eine ID enthält, die den Typ des restlichen Teils des Pakets angibt.
Wie Sie sehen, sind die ersten 6 Bytes die Ziel-MAC-Adresse, die nächsten 6 Bytes die Quell-MAC-Adresse und ein Code in den letzten 2 Bytes. Allgemeine Codes sind:
08 00
: IP-Pakete
86 dd
: IPv6-Paket
08 06
: ARP-Paket
Erläuterung
Zurück zu meinem Beispiel.
IPv4: martian source x.x.x.x from x.x.x.x, on dev eth0
ll header: 00000000: aa bb cc dd ee ff gg hh ii jj kk ll 08 00
Dies sagt uns,
- Es wurde ein Paket mit der gleichen Quell- und Ziel-IP-Adresse empfangen.
- Es wurde von gesendet
GG:HH:II:JJ:KK:LL
. Dies ist eine MAC-Adresse, die ich nicht kenne.
- Das Ziel ist
AA:BB:CC:DD:EE:FF
, das ist meine eigene MAC-Adresse.
- Es war ein IP-Paket (
08 00
).
Wenn ein Paket die gleichen Quell- und Ziel-IP-Adressen hat, muss es von der gleichen Netzwerkschnittstelle gesendet werden, aber die MACs für Quelle und Ziel sind unterschiedlich! Wie kann das möglich sein?
Somit ist klar, dass das Paket vom Mars stammt, entweder gibt es einige Routing-Probleme, ein Computer im Netzwerk ist konfiguriert oder jemand versucht, die IP / MAC-Adressen zu fälschen. Der nächste Schritt ist die Überprüfung der fraglichen Quell-MAC-Adresse.
tcpdump
auf den fraglichen Servern einen 24-Stunden-Betrieb durchführen . Das heißt, ich verstehe das Konzept eines Mars-Pakets. Was ich nicht verstehe, ist, warum eine Schnittstelle ihre eigene IP als solche betrachten würde.