Articles of vpn

数据包已发送但无法接收数据包

我一直在为vpn编辑androids toyvpn示例项目,我为我的示例应用程序提供了这个 我知道我的代码有一些错误/缺失,因为当我通过android设置手动设置vpn时,有数据包接收这就是为什么我一直在搜索如何接收数据包,我不知道如何让这个工作。 这是我的源代码, VCL扩展了VpnService import android.app.PendingIntent; import android.net.VpnService; import android.os.ParcelFileDescriptor; import android.util.Log; import java.io.FileInputStream; import java.io.FileOutputStream; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.DatagramChannel; /** * Created by Jameshwart Lopez on 8/18/15. */ public class VCL extends VpnService { private static final String TAG = “VpnClientLibrary”; private Thread mThread; private ParcelFileDescriptor mInterface; private String mServerAddress; private […]

如何在Android ICS上检查VPN连接状态

我正在尝试注册接收器,这将检查VPN状态。 我试过这个: 在Android上获取VPN连接状态,但看起来它不再适用于ICS。 我已经检查了android源代码的一些线索,但没有运气,只注意到在ISC中没有像: vpn.connectivity和connection_state – 它用于在android 2.3中。 还尝试使用android.net.conn.CONNECTIVITY_CHANGE作为我的IntentFilter ,但它根本没有对VPN连接作出反应(当然我已经添加了android.permission.ACCESS_NETWORK_STATE权限)。 我认为做起来很简单,但我已经没有想法怎么做了……有人可以帮我这个吗?

如何在Android中以编程方式创建VPN配置文件并连接到它?

我们正在开发一款需要连接到VPN的Android应用。 我们遇到的问题是,将要使用此应用程序的用户,不知道有关创建VPN配置文件,然后连接到它,然后连接到应用程序等。 因此,我们有义务在我们的应用程序启动时find一种方法来连接到VPN(我们将硬编码所需的所有要求)。 但问题是我们在互联网上搜索,我们找不到任何东西:(。 我想问你,无论如何以编程方式创建VPN配置文件,然后在创建后连接到它? 我们需要的VPN配置文件(需要填写的VPN配置文件数据): 姓名 :________ types : IPSec Xauth PSK 服务员地址 :__________ IPSec标识符 :__________ IPSec预共享密钥 :___________ 用户名 :______________ 密码 :______________ 提前谢谢你:D

从VPN Service + Packets阻止检测应用程序请求

我试图找出我的设备上的哪个应用程序已经发出任何互联网使用请求(称为任何api等)。为此我创建了一个从“VpnService”类扩展的类,以确保我的设备流量通过我,虽然我实际上并没有连接到VPN,而只是伪装它,让流量通过我到0.0.0.0。 代码如下,它工作正常,但我想弄清楚哪个应用程序已启动使用互联网的请求或其数据包是在下面的主循环中进/出。 此外,有没有办法我可以停止任何应用程序的请求 – 无论是[传入和传出]的方式? *private Thread mThread; private ParcelFileDescriptor mInterface; //a. Configure a builder for the interface. Builder builder = new Builder(); // Services interface @Override public int onStartCommand(Intent intent, int flags, int startId) { this.getApplicationInfo(); // Start a new session by creating a new thread. mThread = new Thread(new Runnable() { @Override public […]

在Android上获取VPN连接状态

是否可以检查Android设备是否连接到VPN服务器? API中的搜索为Android 1.6提供了“paltform highlight”,因此这并不能让我充满信心。

如何通过框架API或任何其他有效方法findVPN连接的状态?

至今: 我find了以下解决方案 使用Broadcastreceiver 广播接收器已从ICS弃用 使用Ping或Traceroute 这肯定会花费很多时间而且效率不高 轮询DNS服务器更改 这肯定会花费很多时间而且效率不高 使用ip-address 即使根据网络连接不会花费太多时间,它也可能会有所不同 我的结论: 到目前为止,我发现的所有解决方案要么效率不高要么不可靠。 我的问题: 如果VPN在Android设备中连接,那么android OS必须知道它。 是否有任何公共的android框架API来读取它,因为在本地查找它是最有效和最可靠的解决方案? 有没有其他有效和可靠的方法来实现它(比如将C或C plus plus库与NDK集成)? 注意: 我也找不到OpenVPN for Android的任何自定义广播发件人/ AIDL

检查Android中的VPN连接是否处于活动状态?

我的非root用户Android 4.4设备上有第三方VPN应用程序,并希望编写后台服务来监控VPN连接,并在VPN连接断开时提醒用户。 有没有办法做到这一点? 我找不到任何使用VPNService API的方法。 感谢:D

保护VpnService中的套接字

我正在探索Android的VpnService的function。 目前,我通过在用户空间重建IP堆栈构建了一个非常基本的请求转发器:我从VpnService的输入流中读取IP数据包,解析它们,对于我不想转发的连接,我尝试重新创建那些VPN连接外部的套接字连接。 我已经明白最后一点是由VpnService.protect()促成的,并尝试按如下方式实现它: Socket socket = new Socket(); vpnService.protect(socket); socket.connect(new InetSocketAddress( header.getDestinationAddress(), // From my IP datagram header body.getDestinationPort())); // From the TCP datagram header 不幸的是,这种方法导致环回VPN接口。 虽然上面的代码只是阻塞并最终超时,但我通过从一个单独的线程调用Socket.connect(InetSocketAddress)来观察环回; 连接直接返回到我的VpnService的输入流,并重复该过程。 不用说,这会导致循环。 我觉得这样做的原因是在创建套接字时(以及随后调用VpnService.protect(Socket) ),我还没有设置目标IP和端口。 这似乎确实如此,因为通过在我的VpnService实现中重写VpnService.protect(Socket)和VpnService.protect(int)并在两种情况下调用supers都会返回false。 如何正确保护套接字连接?

Android VpnService类及其构建器类

我有两个关于VpnService.Builder类的问题。 假设我知道应用程序与其服务器www.somedomain.com通信,我知道服务器的IP地址是210.32.204.165 。 关于addAddress(String address,int prefixLength)函数。 在文档中,它说这个function“将网络地址添加到VPN接口”,这是什么意思? 是否意味着流量到达该地址(应用程序的服务器IP地址)将通过VPN或来自此地址的流量(设备IP?)将通过VPN? 有一个函数addAllowedApplication(String packageName) ,它指定哪个应用程序的流量通过VPN隧道。 有没有办法或function强制所有流量发送到服务器www.somedomain.com通过VPN隧道?

在Android中以编程方式配置PPTP / L2TP VPN

我已经阅读了关于VpnService和VpnService.Builder但是无法获得将vpntypes设置为PPTP或L2TP的任何方法,即使我没有得到任何可以设置用户/密码的方法。 注意: There are many questions in SO I read them but didn’t find solution. I looked into ToyVpn application but this there are only 3 parameters we set in this application. There are many questions in SO I read them but didn’t find solution. I looked into ToyVpn application but this there are only […]