解決android通過XP無線上網的問題

 

本文亦在此處更新:

http://www.in189.com/viewthread.php?tid=70451&extra=&page=1

 

本文主要寫給使用XP卻不想買無線路由的人們。

本文符合CC協議,轉載請勿刪除更改本文任何文字,配圖版見附件version1.3.by antique@bupt

我的機型爲華爲C8500(窮人一個),但該問題適用於所有android手機

感謝in189論壇添翼圈的wvsp: 啓發了我嘗試該方法

http://www.in189.com/viewthread.php?tid=55178&rpid=938591&ordertype=0&page=1#pid938591


問題概述(如果你是linux,win7用戶本文你就不用浪費時間了)

電腦=>wifi=>手機=>3G=>internet   //這個相信大家都會了,直接手機開共享。

手機=>wifi=>電腦=>ADSL/小區寬帶=>internet   //目前XP不支持,原因如下,本文將解決該問題


常用的解決方法:

win7下安裝Connectify啓動無線網卡的master模式

linux下折騰無線網卡到master模式

XP由於驅動限制導致目前爲止只能讓網卡處於ad hoc模式,而android目前不支持處於ad hoc模式下的wifi熱點。換言之,如果你的系統是XP,手機上android是無法通過電腦上的無線網卡共享上網的。


需要以下軟件(附地址)

電腦連接手機的wifi軟件:這個選自己能用的就行,我用的是Wirelesstether

http://www.coolapk.com/apk-1230-android.tether/


調試用的:

Busybox: http://www.coolapk.com/apk-2755-stericson.busybox/

Better Terminal Emulator:

http://www.coolapk.com/apk-2172-com.magicandroidapps.bettertermpro/


解決問題:

一.基本原理

電腦A=====>wifi=>手機                       //這一步是建立手機和電腦A(你的電腦)的網絡連接(a)

172.20.21.103=wifi=> 172.20.21.254            

                                 手機====>VPN==>電腦A(VPN服務器)=> ADSL/小區寬帶

                                  192.168.0.4=VPN=>192.168.0.2 //利用上一步建立的網絡連接建立手機到電腦的VPN(b)

                                                               192.168.0.1=共享上網==>本地連接     //利用電腦的共享上網(c)


二.具體辦法:

1.電腦=>wifi建立連接(a):

將自己的手機設置爲wifi熱點,保證XP可以接入手機上的wifi

(1)首先,關閉XP的防火牆,沒錯,你處於調試狀態,防火牆會極大干擾調試。

(2)打開Wireless tetherXP連接到手機上的無線網。以我的爲例

手機Wireless tether的網關地址爲172.20.21.254,電腦得到的地址爲172.20.21.103

2.設置電腦的共享上網(c):控制面板=>本地連接=>屬性=>高級=>允許其他用戶訪問網絡,然後將家庭網絡連接選中爲無線網絡連接A(你連接到手機的無線網),確定。此時XP會將無線網AIP更改爲192.168.0.1.右鍵無線網絡A(我的爲無線網絡連接5),屬性=>TCP/IP的屬性=>高級=>IP設置選項卡,添加172.20.21.103,默認網關添加172.20.21.254.此時將無線網卡設置爲雙IP地址。XPcmd打開命令行ping 172.20.21.254.說明正常。



3.將XP架設爲VPN服務器,android作爲VPN客戶端訪問它(b1)
控制面板=>網絡連接=>左邊側邊欄=>創建一個新的連接,進入“新建連接嚮導”,點下一步=>選第四項
設置高級連接,下一步=>接受傳入的連接,下一步=>默認直接下一步=>選允許虛擬專用連接,下一步=>選擇一個用戶,或者創建一個,設置密碼(這個用戶即爲VPN的帳號,密碼),下一步=>確定TCP/IP被選中,點屬性,如圖設置:


要確保地址一定爲192.168.0.2192.168.0.X(X>2,我選爲127,後面解釋原因),確定後點下一步=>完成,這時候出現傳入的連接,說明VPN服務器架設完畢。




4.到此時,爲了確保萬一,你需要測試一下這個VPN(b2)
      (1)打開Better Terminal EmulatorPing172.20.21.103檢查網絡連接是否正常,導航鍵按下再按c停止ping(ctrl+c),不正常建議重做一遍,關機重啓等

(2)打開android上的設置=>無線和網絡=>虛擬專用網設置=>添加虛擬專用網=>選第一個添加VPNPPTP(點對點隧道協議)=>接下來如圖填寫,名稱隨意,服務器地址填寫172.20.21.103(即你的手機獲取到的wifi地址),取消加密,DNS填寫google8.8.8.8或者你當地的DNS服務器地址(電腦上用ipconfig /all),完畢保存。=>點擊連接,彈出對話框讓你輸入帳號密碼(還記得剛纔設置的VPN帳號密碼麼)=>確定,你的手機將連接電腦上的VPN服務器。如果正常,會顯示:一個以你的用戶名爲名字的連接。WAN微型端口(PPTP),同時傳入的連接會顯示1客戶連接上,恭喜你,跳過以下文字直接看5


如果不正常,手機會顯示無法連接。這個時候,我建議你重新啓動計算機或網絡。


5.再次打開Better Terminal Emulator(b3)

ping 192.168.0.2  //檢查網絡是否正常,正常往下繼續,這個地址是VPN服務器的地址,參見原理圖

busybox route add default gw 192.168.0.2  //添加VPN服務器IP到路由表作爲默認網關

請仔細看這個圖:圖中第一條命令busybox route -n是用於查看當前路由信息的,可以不用輸入。這些命令可以去參考Linux。



    ping 192.168.0.1  //ping通了外網就通了,ping不通的話有兩種情況,一種是沒有輸入上一步添加路由,另一種是沒有完成第2步 
設置電腦的共享上網

//這裏的原理解釋下,因爲手機上發出的數據包全部發送到192.168.0.2(電腦A的VPN服務器IP),又因爲192.168.0.1(電腦A無線網卡的主IP地址,參見原理圖)與192.168.0.2同一網段,且設置了共享上網,所以XP(電腦A)會自動將192.168.0.2(VPN服務器)的包轉到192.168.0.1(無線網卡主IP),而192.168.0.1被設置了與"本地連接"共享上網,所以所有到192.168.0.1的數據包都會轉到本地連接,繼而進入外網。

ping 8.8.8.8   //防止萬一pingDNS


結束了。手機上的所以程序應該都能訪問網絡了。如果你的電腦有ipv6.改過host或是電腦上有其他代理,那麼應該能上youtube等網站。


 

 

發佈了28 篇原創文章 · 獲贊 0 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章