Мои серверы, похоже, подвергаются атаке SYN-flood. Между 50-600 Мбит / с, поддельные IP-адреса.
Пакеты выглядят так:
IP p.q.r.s.1234 > my.ser.vers.ip.80: Flags [S], seq 0, win 5840, length 0
с участием p.q.r.s
очевидно, случайный. (да, исходный порт всегда 1234)
Хотя одного этого недостаточно, чтобы заполнить мою ссылку, ответы также играют свою роль, и машины становятся довольно медленными.
Разумно ли отбрасывать TCP SYN с seq = 0?
Конечно, вы можете отбросить TCP SYN с seq = 0, у вас будет только шанс 1/4294967296 (более или менее) или разрыв реального соединения .... НО:
Фактический порядковый номер TCP, вероятно, не равен 0!
Я не знаю, какой инструмент вы используете (формат вывода тоже не совсем подходит tcpdump
или tshark
/ Wireshark), но оба tcpdump
и Wireshark запоминают состояние TCP-потоков и вычитают начальный порядковый номер из значения, отображаемого в обоих seq
и ack
поля, так что 0 означает «какой бы ISN не был».
Обратите внимание на эту опцию из tcpdump
страница руководства:
-S Print absolute, rather than relative, TCP sequence numbers.