Проблема
Я зіткнувся з тією ж проблемою і сьогодні, коли марсіанські пакети затопили мої журнали ядра. Усі марсіанські пакети перебувають з однієї загальнодоступної IP-адреси eth0
до тієї ж загальнодоступної IP-адреси eth0
(реальні IP-адреси та заголовок видалено).
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
Після деяких досліджень я зрозумів, що причина криється в ll header
марсіанських пакетах.
Теорія
Якщо припустити це в Ethernet-з'єднанні, ll header
фактично показана початкова частина кадру Ethernet типу II, який містить MAC-адресу призначення, MAC-адресу джерела та ідентифікатор, що вказує тип іншої частини пакету.
Як бачите, перші 6 байт - це адреса MAC призначення, наступні 6 байт - вихідна MAC-адреса та код в останніх 2 байти. Поширені коди:
08 00
: IP-пакети
86 dd
: Пакет IPv6
08 06
: Пакет ARP
Пояснення
Назад до мого прикладу.
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
Це нам говорить,
- був пакет, отриманий з однаковою IP-адресою джерела та призначення.
- Він був надісланий поштою
GG:HH:II:JJ:KK:LL
, що є MAC адресою, якої я не знаю.
- Його призначення -
AA:BB:CC:DD:EE:FF
це моя власна MAC-адреса.
- Це був пакет IP (
08 00
).
Якщо пакет має однакові IP-адреси джерела та призначення, він повинен бути надісланий тим самим мережевим інтерфейсом, але MAC для джерела та пункту призначення різні! Як це можливо?
Таким чином, зрозуміло, що пакет надходить з Марса, або є якісь проблеми з маршрутизацією, налаштована машина всередині мережі, або хтось намагається підробити IP / MAC адреси. Наступний крок - перевірка MAC-адреси джерела.