详解全局免流原理(转载)
———很多友友不相信可以利用軟件達到免流效果,那么轉來這個帖子.給大家分享一下原理.
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
目前這個辦法還在測試中,究竟有沒有什么弊端,暫時還沒發現,期待你的反饋
總結
以上是生活随笔為你收集整理的详解全局免流原理(转载)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端导出 pdf 分页带表头,导出pdf
- 下一篇: Unable to open debug