西厢计划原理
from: http://blog.youxu.info/2010/03/14/west-chamber/
三次握手的过程中,在收到服务器的SYN/ACK的时候,客户端如果发送ACK并且序列号加1就算成功建立连接了。
但是客户端如果在这时发送一个序列号没加1的FIN ,服务器会忽略这个包,但这个包,在穿过墙的时候,在墙看来,是表示连接终止的,这样,墙就会认为这个链接的客户端已经关掉链接了。
然后,客户端再发一个序列号不加1的ACK包给服务器。对于服务器来说,TCP 包如果序列号错了的话,就要回复一个Reset。这个服务器发出的包,在经过墙的时候,墙会认为服务器端也发出关闭链接的信号了。因此,墙会理解为连接终止,不再管这个链接。
这时候,再发送正常的序列号加1的ACK包给服务器,你的链接就正常建立了。
因为墙不再理会这个链接,所以你在这之后的通讯就安全了。
相关:关于西厢计划
如果IP直接Block掉的,这种方法还可行么?
对于ip直接block的情况,这种方法肯定没效了。
不是红杏计划?
如果公开方法,就有再次ban掉的方法。墙会升级的。
个人感觉,开发者公布这些,是因为感觉墙针对此方案的升级会比较麻烦,当然,实际上可能未必如此。