什么是SYN cookie攻击 |
SYN cookie是用一个cookie来响应TCP SYN 请求的 TCP 来实现的,在正常的TCP实现中,当S接收到一个SYN数据包时,他会返回 一个SYN-ACK包来应答,然后进入TCP-SYN-RECV(半开放连接)的状态来等待最后返回的ACK包。S用一个数据空间来描述所有未决的连接, 然而这个数据空间的大小是有限的,所以攻击者将会塞满这个空间。 Client Server <——————–SYN-ACK ACK——————–> Client and server can now 在TCP SYN COOKIE的执行过程中,当S接收到一个SYN包的时候,他会返回一个SYN-ACK包,这个数据包的ACK序列号是进行过加密的,它是由源地址,端口源次序,目标地址,目标端口和一个加密种子计算得出。然后S释放所有的状态。如果一个ACK包从C返回, 那么S将重新计算它来判断它是不是上个SYN-ACK的返回包。如果这样,S就可以直接进入TCP连接状态并打开连接。这样,S就可以避免守侯半开放连接了。 |