Windows Server 上的 TCP syn cookie 计算

Windows Server 上的 TCP syn cookie 计算

Windows Server 使用 TCP syn cookies 来保护自己免受 syn-flooding 攻击。

是否知道操作系统(Windows Server 2008 R2 和 Windows Server 2012)如何计算 syn cookie?如果知道,如何计算?

答案1

维基百科给出了公式 -http://en.wikipedia.org/wiki/SYN_cookies

  • 是一个缓慢递增的时间戳(通常time()逻辑上右移 6 位,从而得到 64 秒的分辨率)
  • 是服务器存储在 SYN 队列条目中的最大段大小 (MSS) 值
  • s是根据服务器 IP 地址和端口号、客户端 IP 地址和端口号以及值计算出的加密哈希函数的结果. 返回值s必须是 24 位值。

初始 TCP 序列号(即 SYN cookie)计算如下:

  • 前 5 位:模式 32
  • 接下来的 3 位:表示
  • 最后 24 位:s

只有微软确切知道 Windows 是否以这种方式实现 SYN Cookies,因为它是闭源的,但为了与其他操作系统的互操作性,遵循此公式是有意义的。

您可以在以下位置看到 SYN Cookies 的一个实现net/ipv4/syncookies.c在 Linux 中。

相关内容