CMWAP和CMNET的主要区别及穿透CMWAP限制原理

来源:互联网 发布:手机qq机器人软件 编辑:程序博客网 时间:2024/05/22 13:16

(1)CMWAP和CMNET的主要区别
  在国际上,通常只有一种GPRS接入方式,CMWAP和CMNET只是中国移动人为划分的两个GPRS接入方式。前者是为手机WAP上网而设立的,连接后可以获得10.*.*.*的内网IP,后者则主要是为PC、笔记本电脑、PDA等利用GPRS上网服务,连接后可以获得202.*.*.*或者61.*.*.*的地址。它们在实现方式上并没有任何差别,但因为定位不同,所以和CMNET相比,CMWAP便有了部分限制,资费上也存在差别。

  cmwap所需要的都是移动网络内部的流量,成本可以忽略不计算.而cmnet则需要中国移动为此而支付网间结算费用,比如公网IP资源,外部出口带宽,但事实上这个费用远远低与你为此而付出的费用

  我用cmwap挂代理也可以访问任何网站,这是什么原因呢?原因在于中国移动的彩信留下的一个大后门。彩信之所以单独配置接入点留下后门的原因是因为彩信服务需要连接专用的服务器,其实这个不能称之为后门。因为它基本是一个公开的通道了。也就是10.0.0.172:80,这个地址移动自己称之为彩信网关,这个网关承担了全网的彩信以及这么多的代理用。所以速度并不快。但也足以使用.

  可是移动也并不甘心被大家当代理用来连接电脑上网.因此也做了一定的封锁.但是封锁的技术并不高明.只是针对ie/maxthon等pc上的浏览器的HTTP请求标头做了屏蔽.因为浏览器在访问网站的时候会发出带有浏览器标识的数据包.移动可以通过这个来识别用户是用什么浏览器上网进而做出封锁或者允许通过的决定.其目的就是只允许手机的浏览器通过这个网关.因为手机上的浏览器和pc上的是完全不一样的.所以绕过这个屏蔽的方法也很简单.就是修改一下注册表.让pc上的浏览器标识变化一下就解决了.同理一些手机上的浏览器也有一些补丁让原本被屏蔽的浏览器标识变成允许通过的浏览器标识.但是这个10.0.0.172的网关只支持80端口的应用,因此用cmwap直接实现http的代理是可行的.要实现其他业务如mail,udp等都无法做到.而cmnet就不受此限制.因为cmnet的c类地址端口是全开的.

  这时一些软件企业就应运而生了.他们开发出一些软件.然后利用自己的服务器.替用户做http2sock的代理,QQ有可能就是用这种方法,所以它能直接走80.当然这些是嵌在软件内部.用户是看不到的.用户所要做的就是开通gprs.然后用cmwap.安装这种软件.就可以通过软件来进行IM,邮件,游戏等只有cmnet才可以享受的服务了.但是这种软件也有自己的局限性.只能针对他们所能提供的服务,而且有密码和关键信息泄漏之虞.因为用户需要把自己的账户信息完全通过软件服务器中转.

  PC用GPRS上网可能先用http2sock,先把网关http的代理在本机上转换成本地sock代理。然后用PermeoSecurityDriver,让网络软件都走通过本地sock代理连上网.动感大挪移就是一个将网络http代理转换成本地socks代理的软件

  sockscap:所有在sockscap环境下应用产生的winsock调用都会被sockcap截获,在正确设置sockcap32的情况下,这样的调用请求会自动转化为向特定socks代理(比如本地socks代理)的请求,如此,原先不支持socks代理的应用也可以用socks代理了.
  PermeoSecurityDriver类似sockscap,但比sockscap好用得多,.而PermeoSecurityDriver主要特色是可以同时支持多个应用程序使用同一个网络代理服务器上网
  SOCKS是个电路级网关,是DavidKoblas在1990年开发的,此后它就一直作为Internet9RFC中的开放标准。SOCKS在协议栈的TCP层上运行,它的常用端口是1080。与Winsock不同的是,SOCKS不要求应用程序遵循特定的xx作系统平台,比如像Winsock那样遵循Windows。SOCKS代理与应用层代理、HTTP层代理不同,SOCKS代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求),所以SOCKS代理服务器比应用层代理服务器要快得多,正因为SOCKS代理服务器有这样的功能我们才可以通过它来连接Internet。常用到有SOCKS代理有SOCKS4和SOCKS5两种版本,其中SOCKS4代理只支持TCP协议,SOCKS5代理支持TCP和UDP协议,还支持各种身份验证机制、服务器端域名解析等。简单点说,SOCKS4能干的SOCKS5都可以干,反过来就不行了,如QQ只能用SOCKS5代理,而FTP可以用SOCKS4和SOCKS5,因为QQ的数据传输机制是UDP,而FTP用的数据传输机制是TCP。 
  如果sock的1080端口也防火墙被关闭,移动的情况就是这样,而软件也不支持sock代理,那方法是先将http请求通过sockscap等软件转换成socks本地请求,再通过socks2http模拟出来的本地socks代理将本地socks通过原网络http代理80口(或者防火墙允许的话就直接出去)出去,这里与上面的http2sock有矛盾,这一个指的是将网络http代理转换成本地socks代理,另一个是将本地http请求封装转换成本地sock请求(如sockcap),由于没有实际测试不能核实,但原理就如下图所示.

      sockscap        127.0.0.1:1080        10.0.0.127:80
 http --------> socks --------------> ***** -------------> internet

    注意Socks2HTTP能在本机上模拟SOCKS 代理服务器并开放侦听端口1080,现在你就有一个本地的SOCKS5代理服务器了。 



(2)什么是WAP?

  WAP只是一种GPRS应用模式,它与GRPS的接入方式是无关的。WAP应用采用的实现方式是“终端+WAP网关+WAP服务器”的模式,不同于一般Internet的“终端+服务器”的工作模式。主要的目的是通过WAP网关完成WAP-WEB的协议转换以达到节省网络流量和兼容现有WEB应用的目的。

  WAP网关从技术的角度讲,只是一个提供代理服务的主机,它不一定由网络运营商提供。但据我所知,中国移动GPRS网络目前只有唯一的一个WAP网关:10.0.0.172,有中国移动提供,用于WAP浏览(HTTP)服务。有一点需要注意,WAP网关和一般意义上的局域网网关是有差别的,标准的WAP网关仅仅实现了HTTP代理的功能,并未完成路由、NAT等局域网网关的功能。这就决定了它在应用上所受到的限制。


(3)中国移动对CMWAP的限制

  为了从应用中区别两者的定位,中国移动对CMWAP作了一定的限制,主要表现在CMWAP接入时只能访问GPRS网络内的IP(10.*.*.*),而无法通过路由访问Internet。(少数地区的移动网络可能不存在这一限制)我们用CMWAP浏览Internet上的网页就是通过WAP网关协议或它提供的HTTP代理服务实现的。而使用CMNET接入则可以自由的访问整个互联网上的任何网站.

(4)适用范围

  可能这两者的适用范围才是大家最关心的问题,CMNET拥有完全的Internet访问权,这里就不多说了,主要让我们来看看CMWAP。因为有了上面提到的限制,CMWAP的适用范围就要看WAP网关所提供的支持了。目前,中国移动的WAP网关对外只提供HTTP代理协议(80和8080端口)和WAP网关协议(9201端口)。(据有的网友提到1080端口也是开放的,但无法连接。这也许是移动内部使用的一个Socks后门吧)。安全加密访问方面,QQ和浏览器的有些版本对安全的要求不是很高,可以直接基于HTTP协议来实现,所以用CMWAP连得上。有些如SIS版的QQ和AgileMessenger(S60的MSN客户端)因为是采用的普通的Socket连接方式,因此也无法用于CMWAP。支付宝等目前是用HTTPS协议的443端口,如果你所在区域CMWAP连接这个端口是可用的,那么就可以用CMWAP连接上。

  因此,只有满足以下两个条件的应用才能在中国移动的CMWAP接入方式下正常工作:

  1.应用程序的网络请求基于HTTP协议。

  2.应用程序支持HTTP代理协议或WAP网关协议。

  但是如何辨别一个应用程序的网络请求是否基于HTTP协议?这个问题还真不好回答,要完全做到这一点需要通过拦截应用程序的通信数据包进行分析。这里提供几个简单的方法给广大菜鸟级机友:从表现上看,如果它的网络请求是网址(URL)的形式,那么通常是基于HTTP协议的,如Web浏览器;如果它连接的服务器端口是80,那么它可能是基于HTTP协议的。

  如何区别一个应用程序支持HTTP代理协议还是WAP网关协议呢?首先看它的设置中有没有代理服务器的选项(通常在S60智能手机上未特别说明的代理都是特指HTTP代理),如果有则表示它支持HTTP代理协议。如果没有,则需要按照以下步骤测试:  

  在GPRS接入点设置的高级设置里去掉代理服务器的设置项:ServerAddress和ServerPort(如果应用程序可以正常工作,那么它是基于WAP网关协议,如Java程序、S60内置的浏览器)。如果在此状态下不能正常工作,而恢复GPRS接入点高级设置中的代理服务器设置后能够正常工作,则应用程序支持HTTP代理协议。如果仍不能正常工作,那么这个应用程序一般来说是不支持HTTP代理协议或WAP网关协议的。

这里需要特别说明的是Java QQ,它有Socket和HTTP两种版本。现在网上流传的可用于CMWAP的JavaQQ就是基于HTTP协议的。就拿Java QQ 2004来说,启动画面中就明确的写着“KJavaQQHTTP”,而sis版的QQ和Agile Messenger因为是采用的普通的Socket连接方式,因此无法用于CMWAP。

  下面再来总结一下CMWAP下可以使用的常见软件的工作方式:

  (1)手机内置的浏览器:WAP网关协议

  (2)Opera浏览器:HTTP代理协议(有代理设置)

  (3)Java程序:WAP网关协议

  (4)AvantGo:HTTP代理协议(有代理设置)


  看了以上的内容,大家是否对CMWAP和CMNET两种无线上网方式有一个详细的了解?其实现在很多朋友都是用CMWAP的方式上网的,因为CMNET的费用实在是太贵了,而且如果你是用的智能手机,那么通过更改网关还可以上WWW网哦~~大家快去试试吧!

http://digi.it.sohu.com/20060105/n241290662.shtml
http://www.lt163.com/sj/sjit/wxrm/200809/3780.html