проблема
Я столкнулся с той же проблемой сегодня, когда марсианские пакеты заполонили мои журналы ядра. Все марсианские пакеты отправляются с одного и того же публичного 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-адреса.