———很多友友不相信可以利用软件达到免流效果,那么转来这个帖子.给大家分享一下原理.
1、为什么会有免流漏洞
运营商为了给客户提供方便,提供了一些优惠政策,如:接收彩信、登陆掌厅免除流量费以及免收取流量费的其他业务。
运营商的计费系统为了区分用户使用的是免流量业务还是正常访问互联网会把这些免流服务的网址加入到白名单,这些白名单中的网址就是我们平常所说的免流IP了,当计费系统检测到用户访问的是白名单中的网址或接收彩信时就不会进行扣费。
问题就出在检测上了,各运营商、各地区的检测方式都不尽相同,而且并不完善,这就形成了免流的出现和不同的免流模式以及地区的限制。那么计费系统是如何检测的呢?当用户访问互联网时,会向服务器发送一条请求信息(请求头),这个请求头中包含了网络服务器与用户的所有交互信息如:访问的网址、UA、网络协议、主机(host)、Cookie、来源地址、文件类型等很多信息。计费系统通过检测请求头来分辨用户访问的是不是白名单中的网址或者是接收彩信。但是计费系统检测的是用户发来的请求信息,这条信息是来自于用户的,也就是说通过自定义该信息可以达到欺骗计费检测以达到免流上网的目的.
2、如何欺骗
菊花点穴手:
一些手机软件大神直接修改软件的请求信息,最早的就是菊花大神了。他编写了一个java的网络请求类(http.class),它负责发送能欺骗计费系统的网络请求头。菊花在请求头中把请求的网址(host)换成了免流的网址‘host:免流IP’,并在该信息后面添加了一条另一种表示网址的信息‘x-online-host:实际网址’。这样计费系统会检测到用户访问的是免流网址,但是网络服务器返回给用户的却是实际网址的网页,这是因为计费系统和网络服务器的不一致导致的。
菊花把http.class放到UC浏览器中,然后通过修改代码调用它,从此世界上就诞生了一个伟大的软件——菊花UC,后来人们把http.class提取出来,放到其他软件中并修改代码,这样其他Java软件也能免流了。安卓软件免流与这个类似。到2013年,运营商调整计费系统当出现这种情况时以x-online-host为准,从此世界上第一次出现了‘菊花和谐’这个词。
老虎会游泳:
老虎是一个PHP程序员,他用PHP开发了一个免流代理服务器系统,后来被别人修改并命名为XX免流系统。
PHP无法直接在安卓手机上运行,安装almp或anmpp后会把手机配置成一个PHP网站服务器。免流系统运行在网站的根目录(www文件夹)中,通过修改anmpp设置将网站接收的所有请求传给Proxy.php,这样就实现了把网站服务器变成代理服务器。这个代理服务器的IP就是127.0.0.1。我把它称之为本地代理。
通过修改APN把10.0.0.172改成127.0.0.1即可使数据走免流系统。但有些程序并不会去走这个代理,所以就出现了我们常说的跳点。
当用户通过本地代理上网时,用户发送的请求头会发给免流系统,免流系统接收到请求头后调用设置好的模式进行修改,之后再由免流系统把修改后的请求头发送给网络服务器达到免流上网的目的,俗称全局免流。
其他:
可以直接修改安卓系统,让安卓系统去修改网络请求信息。为什么老虎不这么做呢?因为他只会PHP。目前还没有民间的开发者能做得到。可能是未来免流的发展方向。
3、各免流模式的欺骗原理
菊花模式:
已和谐,这个的原理在上面讲过了,我这里想说的是在老虎开发的免流系统中,菊花模式的php文件后来被一些人修改成了好多种模式并以他网名来命名这种模式。
川免模式:
已和谐,在四川移动掌厅有一个免流下载的链接前缀,系统将请求头中的网址前面加上这个免流前缀实现免流量的目的,这种模式是前缀模式的一种,后来被修改成了华纳模式、错导模式等。
前缀免流比菊花免流出现的早,最初是用来免流下载。之后小毅(也是PHP程序员)的玖玩浏览器(压流网站)开创了通过前缀免流上网的时代。玖玩网是比较早的讨论免流的论坛了,现在听一个站长说已经被他网站合并了。现在玖玩浏览器扔然有人在用。
后缀模式:
已和谐,这个应该是联通的模式,某些地区的联通计费系统只要在请求的网址中检测到了wap.10010.com就认定为免流,所以免流系统在请求的网址后面加了个?wap.10010.com或&wap.10010.com达到免流目的。
伪彩模式:
上文中讲过的,接收彩信是不花流量的,计费系统是通过判断请求头中的文件类型信息来判断彩信的,免流系统把文件类型信息改成application/vnd.wap.mms-message,这就把所有流量都伪装成了彩信,所以会免流。
双H模式:
我现在用的模式,这种模式和菊花类似,只是把菊花模式的x-online-host换成了host,即两个host。
其他:
我没有看过其他模式的源码,所以这里就不再多讲了,都是和菊花类似。
4、防跳原理
禁网:
安全软件利用安卓系统内置的防火墙模块实现禁止应用连接互联网,因为跳点是不经过本地代理的,所以会连不上网。不跳点的软件是通过本地代理进行联网的,免流系统是运行于root之上,所以不会被禁网,这样免流的软件在禁网之后仍可以连接网络。
防跳脚本:
防跳脚本也是利用防火墙模块,所以会与禁网有冲突,不过防跳脚本不是单纯的禁网,它实现了智能化的防跳,脚本包含了设置防火墙的命令,它可以强制让不走本地代理的软件走代理即127.0.0.1,并且仍可以起到禁网的效果,对于那些免流系统不支持的协议如QQ,则可以进行排除以让其能够联网,实现半免。
5、WiFi托电脑免流
当全局免流的手机共享出WiFi热点,电脑连接后会与手机组成无线局域网,这时手机和电脑都会被分配一个局域网的IP,以192.168开头,手机的IP是192.168.43.1,因为手机被配置成了免流代理服务器,所以在电脑上设置代理为192.168.43.1就能走免流了,但必须开启手机防跳脚本或禁止电脑某些不走代理的软件联网,否则电脑也会跳点,手机禁网是没用的。
下面给已经免流成功的友友分享一下如何秒开网页
用了几天samp,ALMP和ANMPP能做到的samp都能做到,优点是打开网页的速度非常快。
为什么同样是全局samp开网页比almp和anmpp快呢?
almp用的是127.0.0.1:80
samp用的是127.0.0.1:60880
我试着将almp的端口改成60880,开网页的速度真的提高了。
还有一个优点,0元经常连不上网,需要重新打开数据连接,改了之后完美解决!
端口怎么改?
编辑/system/etc/lightpd目录下的lightpd.conf
第四行 server.port = 80 将80改成60880
保存,重启手机,接入点改成127.0.0.1:60880。开启almp。
如果要用防跳脚本,同样要把脚本里的80改成60880
ANMPP的端口应该是在nginx.conf
自己找吧,我现在没装ANMPP
data/data/com.example.xibialmpml/files/anmpp/almp/lighttpd.conf(惜笔0818,把里面的severdport80改成60880即可)
把files下的ft-start.sh和spft.sh这两个文件里面的80改成60880
目前这个办法还在测试中,究竟有没有什么弊端,暂时还没发现,期待你的反馈