如何穿透CMWAP代理封锁(收集)
来源:互联网 发布:战争雷霆pw42数据 编辑:程序博客网 时间:2024/05/22 18:22
移动的gprs服务有两种接入方式,一种为cmnet,另一种为cmwap。前者没有限制,费用较高;后者通过移动的http代理上网,支持的协议有限,而且还通过限制浏览器类型、端口等方式来防止在pc通过gprs上网,同时其返回的内容也专门为了兼容手机浏览器,部分xhtml网页会加一个vnd|xhtml的头,这样如果网页有一点xml错误,普通浏览器就无法解析。网上有好多文章介绍如何修改浏览器的user-agent,来绕过移动限制。
至于xml错误问题,目前比较好的解决方法就是在客户端同移动的http代理之间再加一个代理服务器,此代理的作用就是修改客户端请求中的user-agent,并修正移动代理返回内容中的错误文件头,这样就基本绕过了移动的限制。
有人写过类似的程序,但用起来还是有些问题,过年回家上不了网,只能通过手机拨号,所以自己动手用写了一个http代理,浏览网页,登陆msn、qq等基本没问题。
更新:我前后试过三次,第一次测试结果,10.0.0.172只能connect 443端口,第二次是除了80,其它全部都可以,第三次结果跟第一次一样。那如果你想保证socks服务能够稳定工作的话,还是指定一个运行在443端口的socks代理服务器为好。
背景知识不讲了,可参考我前一篇文章。先来看一看移动的cmwap代理服务器(10.0.0.172:80)到底有哪些限制。限制浏览器类型这个前面讲过了,再一个就是对一些端口的封锁,它支持CONNECT,通常我们发送类似CONNECT Server:Port HTTP/1.0的请求来实现http tunnel从而提供socks代理服务,但大部分地区的移动只能connect 443端口,也有部分地区无此限制,这样就导致许多http2socks软件工作不正常。
绕过此限制的方式就是connect一个运行在443端口的socks服务器了,虽然条件比较苛刻,但这是我所想到的唯一方式了。
具体实现细节:
假如我们有一个socks代理服务器,端口是443,ip为202.194.73.1。首先建立到10.0.0.172:80的连接,然后发送类似请求:
CONNECT 202.194.73.1:443 HTTP/1.1\r\n
User-Agent: UGiA CMWAP Proxy\r\n
\r\n
如果服务器返回类似Connection established 200,那么隧道就建立成功了,这时候再进行客户端和服务器端的数据转发工作。
到此这个软件的功能基本完成了,剩下的就是在稳定性以及性能方面的改进了。2.0版的功能点如下:
1.支持http及socks代理服务,socks服务兼容socks5、socks4以及socks4A。
2.不需要修改User-Agent,解决xml错误及乱码问题。
3.可以将此软件当作一个普通的http2socks的代理服务器使用,只需要在配置文件里把类型改为非cmwap,并指定一个http代理服务器。
4.如果指定了二级socks代理服务器,可支持单纯的socks数据转发。
5.空闲超过一段时间会自动连接,防止断线。
6.自动检测当前网络限制。
因为都需要通过移动的http代理出去,所以socks服务不支持udp转发,当然也不支持bind。大部分地区的cmwap网络限制不同,甚至每次拨号之后也不相同(直接导致我前面的文章改了三次…),大部分不能connect 443以外的端口,所以会导致socks服务受到很大限制,软件启动时会自动检测是否可连接443以外的端口,如果显示limited,那就需要指定一个运行在443端口的公网socks代理服务器来突破限制了,这样这边就只作数据转发工作。无论如何,还是建议在qq中使用这个软件提供的socks代理服务,可防止假死。
- 如何穿透CMWAP代理封锁(收集)
- 关于cmwap的代理
- socket穿透代理代码(C++版)
- socket穿透代理代码(C++版)
- socket穿透代理代码(C++版)
- sock代理服务原理(TCP穿透)
- socket穿透代理代码(C++版)
- socket穿透代理代码(C++版)
- java程序如何穿透带有密码验证的代理
- java程序如何穿透带有密码验证的代理
- java程序如何穿透带有密码验证的代理
- 用Java程序如何穿透带有密码验证的代理
- 用Java程序如何穿透带有密码验证的代理
- java程序如何穿透带有密码验证的代理
- 路由如何封锁软件(举例封锁PPTV及常用端口介绍非常详细)
- Http代理穿透技术
- HTTP代理穿透原理
- CMWAP和CMNET的主要区别及穿透CMWAP限制原理
- 应用开发者指南_installation
- Android成长之路-LayoutInflater和inflate的用法
- JQuery Validate使用总结
- uva 11246 - K-Multiple Free set(数论)
- continue 死循环
- 如何穿透CMWAP代理封锁(收集)
- 单例,Singleton
- 写博客目的
- 职位搜索的技巧—2014年求职六大技巧之二
- TOPO DN 解析
- uint64的压缩
- 看记录片《大师》之我见
- uva 357 Let Me Count The Ways
- Collecting Bugs - POJ 2096 dp