通过抓包比较分析,得出一些初步的分析:

* 帮助电信实现这些流氓手段的公司是: 华为,在我这里看到实现此流氓手段的设备是MA5200G

* 星空疾速在Windows XP下并没有实现自己的PPPoE客户端,而是采用了系统标准的。 可以看到安装星空疾速后在网络连接中出现了一个 Vnet PPPoE的连接,星空疾速拨号后,这个VNet PPPoe连接处于活动状态.  但此连接是通过软件程序控制的,因此可能在连接的时候附带了一些配置信息 ,正是通过这些配置信息使得MA5200知道你的客户端没有使用星空疾速,从而对你今后的HTTP访问进行劫持。

这些数据包我因在老家没有编译器没有办法写程序分析,所以还没有能清楚其内部的秘密。

* 胡连星空的HTTP劫持仅针对HTTP协议。 对其他协议暂时没有处理,包括HTTPS.

* 星空疾速连接后会和其server有系列http会话,我已经证实这些会话对HTTP劫持没有任何作用, 因此我估计他们判断是否使用了星空疾速的办法应该是上述PPPoE连接的特殊参数。

解决方案

A、加密隧道法

对于有条件的,在外部有代理服务器,或者SSH服务的,可以采用SSH加密隧道,或者HTTPS加密隧道,自己的VPN连接 等规避HTTP劫持的设备。

我自己采用SSH隧道来模拟一个本地的SOCKS代理:

plink -N xxx@xxxx.net  -D 127.0.0.1:9999

plink是开源软件PuTTY中的一个部件。  xxx@xxxx.net是我自己外部的一台有ssh访问权 的服务器。

B、委屈求全法

考虑到需要让我妈妈能顺利使用, 因此步骤要尽可能少,我采用一个委屈求全的方案是用我的无线路由器来传送PPPoE 报文,这样就可以使用无线网络,但在无线连接的电脑上使用那个流氓星空疾速软件。 已经证实这样做能正常访问,但Internet是无法被共享的。

需要WiFi router支持PPPoE的穿越。 我使用Linksys  WRH54G可以支持。

这种做法只能让wifi 可以使用,并不能阻止HTTPs劫持等任何流氓手段。

不幸的是可能没有完美方案

如果是从MA5200G这样的设备上做手脚,在PPPoE连接建立时作文章来标记自己的身份,那么很可能没有完美方案能让宽带路由器很好使用起来,因为大部分宽带路由器的PPPoE连接部分的代码是无法修改的。 :(  所以可能就无法指望运行一个小软件来让宽带路由器共享得很爽。 这样一来,也许加密隧道法成了最佳方案。



2 Comments to “互联星空HTTP劫持的初步分析”

  1. 互联星空HTTP劫持的初步分析和对策 | 我blog故我在 | August 2nd, 2007 at 10:24 am

    [...] 写在这里 互联星空HTTP劫持的初步分析,还不是个理想方案,抱歉。 等有时间继续分析看看能否有更好的办法解决。 [...]

  2. Jacky_z_Cao | May 27th, 2008 at 10:21 am

    不错。国内的婊子企业就是这么恶心。

    不过目前星空鸡速还可以绕开,如果改天不能绕开就烦了。

Leave a Comment

Close
E-mail It