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

我的服务器似乎是由一个SYN洪水攻击的目标。 在50-600MBit / s之间,欺骗IP。

数据包看起来像这样:

IP pqrs1234 > my.ser.vers.ip.80: Flags [S], seq 0, win 5840, length 0 

pqrs显然是随机的。 (是的,源端口始终是1234)

虽然这仅仅是不足以填补我的联系,但答复也起到了作用,机器变得非常缓慢。

删除seq = 0的TCP SYN是否合理?

当然,你可以使用seq = 0来删除TCP SYN,你只会有一个1/4294967296的机会(或多或less),或者丢弃一个真正的连接…. 但是

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

我不知道你使用的是什么工具(输出格式看起来不太符合tcpdumptshark / Wireshark),但tcpdump和Wireshark都记得TCPstream的状态,并从显示的值中减去初始序列号seqack字段,所以0意味着“无论ISN是什么”。

请注意tcpdump页中的这个选项:

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