androidvpn實現
❶ 安卓手機怎麼設置vpn
1,打開手機「設置」,並接著打開「雙卡與移動網路」
2,在「雙卡與移動網路」中,先打開「移動數據」,再打開「數據漫遊」
3,在「SIM卡信息」中,找到並打開「接入點名稱」
4,在「接入點名稱」中,找到並點擊「+」(在右上角),也就是添加的意思,有些手機「+」是放在下面的
5,在點擊加號後,會出現「新建接入點」的頁面,然後就可以設置APN了,只要 配置「名稱」與「APN」為「CTNET」就可以了,然後點擊「保存」(右上角),然後返回上一頁
6,在「接入點名稱」頁面中,需要選擇我們剛剛添加的選項,也就是「CTNET」選項,選好之後,重啟一下手機,就可以正常上網了
❷ 通過hook connect 函數 實現 VPN功能是否可行
在android系統中,可以使用iptables控制單個應用網路訪問。在google code上有一個開源項目-droidwall就是基於iptables實現的。除了iptables可以實現控制單個應用網路訪問外,還可以通過攔截應用中的connect函數,達到控制應用訪問網路的目的。下面從幾個方面分析android應用中connect調用流程為例來實現攔截connect實現網路禁用和ip過濾。(以下分析基於4.2源碼)
1.android中網路訪問流程
1)android系統中訪問網路可以通過Socket.java、URL.java、HttpPost.java、HttpGet.java等關鍵類來訪問網路資源。通過代碼追蹤,這些類訪問網路資源最終需要通過native方式,調用linux系統下的socket函數訪問網路。在android4.2源碼中,java層訪問網路得native方法定義在源碼路徑libcore/luni/src/main/java/libcore/io/Posix.java中(4.0之前的網路系統、文件系統的native方法是獨立分開得,4.0之後組織在Posix.java中)。如下是Posix.java中的代碼片段:
public final class Posix implements Os { Posix() { } public native FileDescriptor accept(FileDescriptor fd, InetSocketAddress peerAddress) throws ErrnoException, SocketException; public native boolean access(String path, int mode) throws ErrnoException; public native void bind(FileDescriptor fd, InetAddress address, int port) throws ErrnoException, SocketException; ...... //對應linux下的connect系統調用 public native void connect(FileDescriptor fd, InetAddress address, int port) throws ErrnoException, SocketException;
2)Posix.java中的native方法實現源碼路徑libcore/luni/src/main/native/libcore_io_Posix.cpp文件中,native connect方法實現代碼片段如下:
taticvoidPosix_connect(JNIEnv*env,jobject,jobjectjavaFd,jobjectjavaAddress,jintport)
{
sockaddr_storagess;
if(!inetAddressToSockaddr(env,javaAddress,port,&ss))
{
return;
}
constsockaddr*sa=reinterpret_cast<constsockaddr*>(&ss);
(void)NET_FAILURE_RETRY(env,int,connect,javaFd,sa,sizeof(sockaddr_storage));
}
有上代碼可知,java層connect最終功能由linux系統connect函數實現。
2.so注入
so注入可以參考古河大哥牛逼的libInject(點擊這里訪問)。
3.攔截connect庫編寫
在connect中,獲取傳入的參數ip地址,根據需要把需要禁用的ip地址改為127.0.01.以下是我測試的攔截connect函數關鍵代碼:
intnew_connect(intsockfd,conststructsockaddr*addr,socklen_taddrlen)
{
LOGDD("HOOK
====>newconnect****************");
charip[128]={0};
intport=-1;
if(addr->sa_family==AF_INET)
{
structsockaddr_in*sa4=(structsockaddr_in*)addr;
inet_ntop(AF_INET,(void*)(structsockaddr*)&sa4->sin_addr,ip,128);
port=ntohs(sa4->sin_port);
LOGDD("AF_INETIP===>%s:%d",ip,port);
}
elseif(addr->sa_family==AF_INET6)
{
structsockaddr_in6*sa6=(structsockaddr_in6*)addr;
char*ipv6=NULL;
inet_ntop(AF_INET6,(void*)(structsockaddr*)&sa6->sin6_addr,ip,128);
ipv6=strstr(ip,"f:");
if(NULL!=ipv6)
{
strcpy(ip,ipv6+2);
}
port=ntohs(sa6->sin6_port);
LOGDD("af_inet6
IP===>%s:%d",ip,port);
}
else
{
returnold_connect(sockfd,addr,addrlen);
}
if(strcmp(ip,"115.23.20.178")==0)
{
LOGDD("%s
==>127.0.0.1",ip);
structsockaddr_inmy_addr;
intmy_len=sizeof(structsockaddr_in);
bzero(&my_addr,sizeof(my_addr));
my_addr.sin_family=AF_INET;
my_addr.sin_port=htons(80);
my_addr.sin_addr.s_addr=inet_addr("127.0.0.1");
returnold_connect(sockfd,(constsockaddr*)&my_addr,sizeof(my_addr));
}
else
{
returnold_connect(sockfd,addr,addrlen);
}
}
4.攔截connect函數功效
1)禁用應用網路訪問。
2)過濾廣告ip
3)禁用定位功能
❸ 安卓手機設置vpn
首先打開手機設置功能中的「無線和網路」,點擊「WLAN」以啟動無線網路連接。啟動以後,點擊「WLAN設置」,就會看到當前手機設備所搜索的一些區域網。
當然用戶也可以直接點擊「WLAN設置」,在此同孫睜樣可以啟動無線網路連接。選擇一個合適的網路,輸入密碼,通過驗證以後就可以進行無線上網了。此時默扒凱基認的網路連接方式就是Wi-Fi網路,而當用戶離開區域網或者區域網連接中斷以後連接方式才會變成手機網路。
需要提醒玩家的是,在離開區域網以後玩家最好自己關閉無線網路功能,以保證網路連接方式自動切換為手機網路的GPRS連接,不然有可能會出現無法上網的情況。第二,關閉無線區域網絡可以節省一定的電量。
虛擬專用網路(VPN)的功能是:在公用網路上建立春謹專用網路,進行加密通訊。在企業網路中有廣泛應用。VPN網關通過對數據包的加密和數據包目標地址的轉換實現遠程訪問。VPN可通過伺服器、硬體、軟體等多種方式實現。
❹ 安卓怎麼連vpn
設置 VPN 的步驟
第 1 步:排列關鍵的 VPN 組件
首先,您需要一個 VPN 客戶端、一個 VPN 伺服器和一個 VPN 路由器。可下載的客戶端將您連接到世界各地的伺服器,因此各地的員工都可以訪問您的小型企業網路。即使工作人員使用公共 Wi-Fi 網路,客戶端也可以在智能手機和筆記本電腦等設備上使用。
為了保護和加密所有網路流量,您還需要一個 VPN 路由器。許多路由器都內置了 VPN 客戶端。
第 2 步:准備設備
有時,VPN 客戶端可能會與其他客戶端發生沖突,或無法正常工作。在設置 VPN 之前准備好您的網路系統是一個好主意,這樣您就可以避免以後出現問題。
第一步,卸載您不需要的任何現有 VPN 客戶端軟體。理論上,VPN 客戶端應該能夠很好地協同工作,但競爭客戶端也可能是問題的根源,因此最好將它們刪除。
這也是考慮網路配置的好時機。如果您(搭建VPN的步驟)計劃為將通過多種方式訪問在線資源(例如 Wi-Fi、4G 數據機和有線連接)的工作人員安裝 VPN,您可能需要花更多時間來配置 VPN 客戶端。通過拔掉未使用的設備來簡化網路會有所幫助。
第 3 步:下載並安裝 VPN 客戶端
啟動並運行您的 VPN 的最簡單方法是從您的 VPN 提供商安裝客戶端。但是,他們可能不會為您需要的每個平台(例如 Windows、iOS 和 Android)提供軟體。即使他們不這樣做,最好先安裝他們提供的內容,然後確認您的 VPN 帳戶運行正常。
在您的 VPN 提供商的網站上查找「下載」頁面。您還應該(搭建VPN的步驟)為您的員工使用的移動設備下載應用程序,因為您需要保護盡可能多的設備的連接。
如果您安裝的初始客戶端立即可用,那麼您可以聯系 VPN 提供商了解其他平台的客戶端。如果您根本無法登錄,則可以將該信息傳遞給 VPN 提供商的支持團隊。
第 4 步:查找設置教程
如果出於某種原因,您的 VPN 提供商沒有為您的企業使用的設備提供軟體,請查看提供商的網站以獲取有關手動設置的指南。希望您能找到所需的文檔。如果沒有,請搜索使用相同設備的其他提供商的設置指南。
例如,如果您的企業使用 Chromebook,您(搭建VPN的步驟)可以搜索專門針對這些設備的教程。
第五步:登錄VPN
安裝 VPN 客戶端應用程序後,就可以輸入登錄信息了。通常,用戶名和密碼將是您在與 VPN 提供商注冊時使用的用戶名和密碼,盡管有些公司要求您為 VPN 客戶端本身創建單獨的登錄名。
登錄後,VPN 應用程序通常會連接到離您當前位置最近的伺服器。
步驟 6:選擇 VPN 協議
VPN 協議決定如何在您的計算機和 VPN 伺服器之間路由數據。一些協議有助於提高速度,而另一些協議有助於提高數據隱私和安全性。
開放式VPN
這是一個開源協議,這意味著您可以(搭建VPN的步驟)查看其代碼。OpenVPN 也正迅速成為行業標准。
L2TP/IPSec
第 2 層隧道協議是另一種流行的協議。它具有強大的安全保護,通常與 IPSec 協議捆綁在一起,IPSec 協議對通過 VPN 發送的數據包進行身份驗證和加密。
SSTP
安全套接字隧道協議與 Microsoft 操作系統完全集成。
PPTP
點對點隧道協議是最古老的 VPN 協議之一。但它的使用越來越少,因為有更快、更安全的協議可用。
第 7 步:故障排除
通常,您的 VPN 提供商的客戶端會立即開始工作。但如果情況並非如此,請嘗試以下步驟:
· 關閉並重新打開客戶端,然後嘗試重新啟動您的(搭建VPN的步驟)設備。
· 如果您正在運行任何其他 VPN 軟體,請確保您已斷開連接,然後將其關閉。
VPN 客戶端需要適當的軟體驅動程序才能正常工作。在某些情況下,您可以單擊「修復」設置以重新載入驅動程序。檢查設置頁面以查看此功能是否可用。
如果您在登錄時遇到問題,請仔細檢查您的登錄憑據。有些 VPN 客戶端會生成自己的登錄名,有些則讓您選擇自己的登錄名。
確保您使用正確的登錄名,如有必要,請閱讀您(搭建VPN的步驟)可能從提供商那裡收到的任何歡迎電子郵件或快速入門指南。
您也可以嘗試切換伺服器。選擇連接到靠近您的物理位置的其他伺服器。
另一種選擇:嘗試使用不同的協議進行連接,假設 VPN 客戶端允許您更改它們。例如,您可以使用 TCP 使用 OpenVPN,然後切換到 L2TP 和 PPTP。
如果您仍然遇到問題,其他軟體程序可能是罪魁禍首。有時,防火牆或安全軟體可能會中斷 VPN 連接。您可以暫時禁用可能導致問題的軟體 - 只需確保在連接後將其重新打開,以免關鍵業務系統容易受到攻擊。
第 8 步:微調連接
一旦您掌握了基礎知識,就該進行改進了。確保您應用到 VPN 的設置適合您的業務需求。
例如,決定您是否希望 VPN 在人們啟動設備後立即運行。如果您始終需要 VPN 保護,這可能是個好主意——例如,如果大多數人在辦公室外工作。但是,如果您認為您只需要偶爾使用 VPN,您可以將其設置為僅在需要時啟動,從而釋放網路資源以供其他用途。
另一個微調選項是選擇常用伺服器作為您的(搭建VPN的步驟)默認伺服器或「收藏夾」。這可以為您節省一些時間,因為您和其他員工每次連接時都不必搜索首選伺服器。
如果您的 VPN 提供商提供,您可能還想打開「終止開關」。終止開關旨在防止設備在 VPN 斷開連接時發送或接收數據。
❺ 安卓設置vpn
下面是在 Android 上設置 VPN 的步驟:
1. 在設備上打開「設置」應用程序。
2. 滾動到「網路和互聯帶虛搏網」部分蠢祥並點擊。
3. 點擊「VPN」選項。
4. 點擊右上角的「+」添加一個 VPN 配置。
5. 在 VPN 配置窗口中填寫以下信息:
- 名稱:VPN 連接的名稱。
- 類型:選擇您的 VPN 服務提供商所使用的 VPN 協議類型。
- 伺服器地址:輸入您的 VPN 服務提供商提供的伺服器地址。
- 用戶名和密碼:輸入您的 VPN 服務提供商譽虧提供的用戶名和密碼。
6. 點擊「保存」按鈕。
7. 點擊新創建的 VPN 配置,然後輸入您的用戶名和密碼。
8. 點擊「連接」按鈕以連接到 VPN。
完成這些步驟後,您的 Android 設備將使用您的 VPN 服務提供商提供的 VPN 伺服器進行連接。請注意,這些步驟可能因 Android 版本和設備型號而有所不同。