Назад | Перейти на главную страницу

могу ли я фильтровать пакеты TCP SYN с seq = 0

Мои серверы, похоже, подвергаются атаке 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.