[本文高清PDF版,在文章最后的附件提供下载,欢迎下载查阅]  
突破星空极速封锁,实现共享上网
今天有位51CTO的网友问我如下的问题:
◎____溫先玍14:40:13
我是学生‘在寝室
江西南昌的
星空极速升级了
以前用的破解版不允许共享了。。。
网卡还太贵
所以想做个×××服务器
寝室4个人用1个网线。。不过我们不是路由
而是直接插线就能拨号。我们用的是交换机
能做×××服务器啊
另类×××应用(四):突破电信星空极速封锁,实现共享上网_第1张图片
 
                                                                  (图1)
说是宿舍的其他三位同学无法共享上网。我想共享上网不是很简单啊,下一个Ccproxy在图1所示的PC1电脑安装一下,其他电脑设置一下代理服务器就可以上网了。于是QQ远程连接过去,安装Ccproxy,默认设置,然后叫网友设置另外电脑的客户端,本以为这样就可以轻松上网了,没想到居然失败了!反复设置Ccproxy,虽然在Ccproxy中可以看到有流量,但是客户端始终无法上网。
突然想起很多地方用星空极速拨号上网的电脑都会被限制只能本机上网,即使装上宽带路由器也无法共享上网,据说星空极速会检测上网电脑的MAC地址,不是极速星空拨号上网那台电脑的MAC地址都会被过滤掉。这下我也没则了,网友不停的提示:是不是可以通过×××来共享上网啊? 我第一反应是都是同一局域网了还有必要设置×××吗?那有什么办法可以让其他电脑突破封锁上网呢?理论上只要将其他电脑的上网数据包转换成PC1的数据包就可以通过PC1共享上网了,有没有办法让其他电脑的上网数据包自动的转换成PC1的数据包呢?解决方案如下:
【共享上网服务器设置】
1.我们在PC1电脑上建立Softether服务器,然后将四台电脑的虚拟网卡都拨入到虚拟HUB,相关TCP/IP属性可以如图2所示进行设置。
2.然后在PC1上安装Ccproxy代理服务器。
另类×××应用(四):突破电信星空极速封锁,实现共享上网_第2张图片
 
                                                              (图2)
【客户端设置】
1.在PC2~PC4安装虚拟网卡,并拨入到虚拟HUB,相关TCP/IP属性如图2所示设置。
2.设置相关代理服务器。我们以IE上网为例:
IE菜单“工具”->“Internet 选项”:
另类×××应用(四):突破电信星空极速封锁,实现共享上网_第3张图片
点击上图中的“局域网设置”:
另类×××应用(四):突破电信星空极速封锁,实现共享上网_第4张图片
点击上图中的“高级”,代理服务器地址设成PC1虚拟网卡的地址。
 
另类×××应用(四):突破电信星空极速封锁,实现共享上网_第5张图片
客户端经过上面的设置,打开“IE浏览器”上网,居然可以通过Ccproxy上网了!
【问题】
那为什么没有装Softether服务器的时候不能通过PC1上网,而装了Softether服务器并通过虚拟网卡访问PC1却可以共享上网了呢?
答:说实在对具体的原理我也不是很清楚,我只能提出如下图所示的原理假想图:
 
另类×××应用(四):突破电信星空极速封锁,实现共享上网_第6张图片
虚拟HUB的一个功能就是能够把虚拟网卡的数据包自动的转化成物理网卡的数据包,然后通过物理网卡上网,这样极速星空的软件只检测到的是PC1物理网卡的MAC地址,无法识别出在PC1后面还有3台电脑。
上面也只是我的猜测,希望网络比较精通的朋友能够解释更合理的原由。
 
补充说明:
        最近在学习一些TCP/IP的基础知识,发现自己之前理解的宽带运行商通过MAC地址来检测共享上网电脑台数是错误的。现在很多宽带运行商通过检测IP包内的IP标志这个字段来判断局域网内有多少台电脑在同时上网。
      上面的解决方案只所以有效是因为它把所有的数据包都是通过虚拟HUB封装在PC1的物理网卡发出数据包内,因此宽带运行商无法检测局域网内有几台电脑。