站内公告:

亲友传真---海外信息直接看 https://qycz.org

Main Menu

回覆帖子

发送站内短信时发生以下错误:
警告: 该贴已经至少 180 天没有更改。
除非你一定要回复,否则也许考虑发一个新贴会更好。
Note: this post will not display until it has been approved by a moderator.
Attachments: (Clear attachments)
限制: 每篇帖子 3 (3 remaining), maximum total size 8.00 MB, maximum individual size 2.00 MB
请将要删除的附件取消勾选
Click or drag files here to attach them.
进阶选项(包含帖子状态和附件)...
验证码:
请将此框留空:
《九评共产党》一共有几评?(请用阿拉伯数字回答):
Shortcuts: ALT+S post or ALT+P preview

帖子总览

作者 stonep
 - 三月 20, 2010, 01:07:21 下午
西厢记划好是好
不过实话实说,目前该计划只对链接重置有作用,对于直接IP封锁还是无效
作者 twfcc
 - 三月 14, 2010, 12:56:18 上午
我在安裝過程中欠了xtable, 該是iptable extension, 在研究中, 但這project 反客為主,很好的概念,
作者 月满西厢
 - 三月 11, 2010, 07:18:14 上午
README
self-introduction
https://code.google.com/p/scholarzhang/wiki/README

西厢计划提供一组工具,使得用户在一次设置之后,能够以普通程序直连目标网络,而避免GFW的大部分影响。其命名是为了向中国古典文学史上翻墙的先驱者张某致敬。西厢计划现在已经达到alpha可用状态,在初步的测试中可以让用户以普通浏览器无障碍地直连Youtube。
特性

西厢计划要解决GFW造成的两个方面的问题:TCP连接重置和DNS劫持(污染)。为此西厢计划提供了两种特性:

  • TCP连接混淆:在每次连接中,通过对GFW的入侵检测系统进行注入,混淆连接,使得GFW无法正确解析连接和检测关键词,从而在有关键词的情况下也避免连接重置。
  • 反DNS劫持:通过匹配GFW伪包的指纹并将其过滤,让用户以普通的客户端也能获得正确的解析结果。(用户需要设置DNS为没有被污染的DNS,例如8.8.8.8等)
西厢计划不是代理,不是VPN,无需加密,使用时不需要第三方支援,不需要绕道,让用户能够以最优的性能直连目标,使用时不需要运行特别的程序。西厢计划利用现有工具,仅要求用户能够使用iptables进行快速配置,学习难度低。

西厢计划目前能够让用户直连Youtube和其他Google服务,还有更多潜力可以发掘。
原理简介

西厢计划采取了T. Ptacek等在1998年的论文Insertion, Evasion, and Denial of Service: Eluding Network Intrusion Detection中提出规避入侵检测的注入方法。注入法是指发出特制报文,使得这些报文对对方没有效果,但是让IDS错误地分析协议,从而让IDS错误地认为连接被提前终止了。由于GFW的TCP栈非常简陋,因此我们可以直接利用GFW的TCP栈的特性,对任何遵守RFC的目标主机都采取特定特殊措施,让GFW无法正确解析TCP连接,从而避免关键词监测。
局限

西厢计划的连接混淆功能对于基于IP地址的封锁和其他无状态的封锁不能生效,因为它需要通过注入攻击改变GFW的连接状态,如果封锁与连接状态无关便无法进行连接混淆。另外,连接混淆的实现假设连接双方遵守RFC。有一些目标主机或者防火墙不遵守RFC,可能导致正常不含关键词的连接被对方终止或者忽略。因此我们特别使用ipset,把作用范围限制在需要的地址段(比如Google),以避免不必要的问题。

西厢计划目前依赖linux内核的netfilter功能,因此要求用户平台是linux,暂时没有移植。之前有一个基于WinPcap的版本可以在MinGW32环境下编译运行,实现了连接混淆的部分,未实现反DNS劫持的部分,用户仍然可以试用,但不再维护。

西厢计划所用的GFW伪包指纹可能在此项目发布之后被GFW更改,因此用户可能需要使用最新的版本才能让功能生效。
报告问题

请到本项目的issue list报告问题。
更多工作

  • 更细致的测试
  • 打包(deb、dkms、rpm)以提高可用性
  • FreeBSD、Windows等系统的移植

希望感兴趣的朋友参与帮助此项目的开发,特别是以上三项。可以直接向项目管理员发邮件或者在项目wiki页留言成为committer,也可以直接fork一个新项目,都欢迎。

另外由于目前广泛应用的CDN系统是以支持GeoIP的DNS为基础的,这要求用户使用的DNS服务器应当与自身所处网络尽可能近,否则用户上网会很缓慢。如果您愿意为突破GFW出一份力,欢迎在国内架设递归DNS服务器,此项目的反DNS劫持模块可以使递归DNS服务器的缓存不被GFW投毒,从而国内用户可以在任何操作系统下,只需要将系统DNS设置为您的DNS服务器,不用任何其它设置(用户不必使用本项目),就能得到即时、正确、最优的DNS返回。