用iptables实现G1手机cmwap代理上http网站[转]
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
折騰了幾天,總算有點(diǎn)階段性成果:
證實(shí)可以用iptables實(shí)現(xiàn)通過(guò)cmwap的代理上HTTP協(xié)議的網(wǎng)站。
首先,android系統(tǒng)的實(shí)現(xiàn)是有缺陷的。在接入apn中指定的proxy并不會(huì)被系統(tǒng)所用。好似只有瀏覽器會(huì)對(duì)這個(gè)設(shè)置有所反應(yīng)。可以進(jìn)行普通HTTP的代理瀏覽。而其它應(yīng)用壓根不理這個(gè)設(shè)置,我行我素的通過(guò)android系統(tǒng)進(jìn)行域名請(qǐng)求,然后跟沒(méi)有代理一樣的進(jìn)行連接請(qǐng)求。這應(yīng)該是一個(gè)系統(tǒng)缺陷。
為了糾正這個(gè)偏差,主要有兩個(gè)問(wèn)題:
1、cmwap接入不支持dns解析。其實(shí)如果android壓根不理dns的事情,直接把所有的請(qǐng)求都轉(zhuǎn)發(fā)到apn指定的proxy,就沒(méi)事了。但現(xiàn)在,我能想到的方法就只有自己修改/etc/hosts 文件來(lái)加入解析。
2、把所有向外的針對(duì)80端口的http請(qǐng)求全部轉(zhuǎn)向到 10.0.0.172:80 用iptables可以實(shí)現(xiàn)這個(gè)需求。
具體步驟:
1、將system重新掛載為可寫(xiě)的模式,否則,就無(wú)法修改hosts文件
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
2、編輯/etc/hosts文件,當(dāng)然,如果對(duì)vi編輯器不熟,或者懶得看terminal里面那么小的字,也可以用 adb push過(guò)去,目前我的hosts文件加了如下的解析:
127.0.0.1??? ??? ??? localhost
64.73.32.135??? ??? ??? north-america.pool.ntp.org
64.233.169.188??? ??? mtalk.google.com
66.249.89.99??? ??? www.google.com
66.249.89.101??? ??? android.clients.google.com
63.216.60.76??? ??? static.rememberthemilk.com
207.242.93.89??? ??? andrd.accu-weather.com??? htc.accuweather.com
74.125.153.95??? ??? ajax.googleapis.com
72.9.41.2??? ??? lyrics.tunewiki.com
這個(gè)hosts文件可以實(shí)現(xiàn):google地圖的正常顯示、accuweather天氣軟件的更新、market的使用、tunewiki的歌詞和封面獲取。
3、用iptables實(shí)現(xiàn)轉(zhuǎn)向:
iptables -t nat -A OUTPUT -o rmnet0 -p tcp –dport 80 -j DNAT –to-destination 10.0.0.172:80
這一步每次重啟之后都要重新做一次。沒(méi)法子,湊合吧
=================================================
下面的工作:
1、搜集G1各個(gè)應(yīng)用程序聯(lián)網(wǎng)所需的域名解析
2、寫(xiě)個(gè)程序來(lái)控制轉(zhuǎn)向的開(kāi)啟與關(guān)閉
3、實(shí)現(xiàn)一個(gè)簡(jiǎn)單的dns server程序,在有wifi連接的時(shí)候完成積累的dns解析,cmwap的時(shí)候在本地解析域名
4、想法子通過(guò)cmwap建立隧道傳遞所有TCP。這一步目前有個(gè)問(wèn)題,如果我通過(guò)iptables將ip包的目的地址轉(zhuǎn)為本地,如何能獲得它原來(lái)的目的地址呢?。困擾~~~
原文:http://www.biaji.net/wp/biaji/2009/04/%e7%94%a8iptables%e5%ae%9e%e7%8e%b0g1%e6%89%8b%e6%9c%bacmwap%e4%bb%a3%e7%90%86%e4%b8%8ahttp%e7%bd%91%e7%ab%99/
轉(zhuǎn)載于:https://my.oschina.net/kevin008/blog/2201
總結(jié)
以上是生活随笔為你收集整理的用iptables实现G1手机cmwap代理上http网站[转]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 神舟本本放心率
- 下一篇: 智能硬件的时代,嵌入式是否已经日薄西山