我可以用 seq=0 过滤 TCP SYN 数据包吗

我可以用 seq=0 过滤 TCP SYN 数据包吗

我的服务器似乎遭到了 SYN 洪水攻击。速度介于 50-600MBit/s 之间,欺骗 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)

虽然这本身并不足以填满我的链接,但响应也发挥了作用,机器变得相当慢。

丢弃 seq=0 的 TCP SYN 是否合理?

答案1

当然,您可以丢弃 seq=0 的 TCP SYN,但您只有 1/4294967296 的机会(多或少)或丢弃真正的连接......

实际的 TCP 序列号可能不是 0!

tcpdump我不知道您正在使用什么工具(输出格式似乎与或tshark/Wireshark都不太匹配),但和 Wireshark 实际上都记住了 TCP 流的状态并从和字段tcpdump中显示的值中减去初始序列号,因此 0 表示“ISN 是什么”。seqack

请注意手册页中的此选项tcpdump

   -S     Print absolute, rather than relative, TCP sequence numbers.

相关内容