簡體   English   中英

如果沒有 Android API,OpenVPN 等如何創建 VPN 連接?

[英]How OpenVPN etc create VPN connection if there is no Android API for that?

SO 上有很多答案已經聲稱您無法在 Android 設備上以編程方式配置 VPN 配置文件。 Android 的 VpnService API 只允許在您自己的應用程序中使用 VPN,沒有其他 API 可用。

像 OpenVPN for Android 等應用程序是如何實現的? 我可以通過 OpenVPN 應用程序配置配置文件,其他應用程序將能夠使用此連接。

您誤解了VpnService.Builder establish()方法返回的句柄/文件描述符的性質和目的。 您可能需要再次閱讀 API 說明。

它的要點是它是 TUN 設備的文件描述符,Android 通過策略路由將來自其他應用程序的網絡流量定向到該設備(受影響的應用程序/流量可以通過構建器的方法進行控制)。 然后,應用程序可以使用文件描述符讀取其他應用程序發送的數據包,例如通過 VPN 連接(使用常規 UDP/TCP 套接字)轉發它們。 通過寫入 TUN 設備的文件描述符,從 VPN 連接返回的流量同樣可以重新注入系統。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM