menu

秋梦无痕

一场秋雨无梦痕,春夜清风冻煞人。冬来冷水寒似铁,夏至京北蟑满城。

Avatar

西厢计划原理

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掉的方法。墙会升级的。

个人感觉,开发者公布这些,是因为感觉墙针对此方案的升级会比较麻烦,当然,实际上可能未必如此。