Articles of vpn

Android模拟器的VPN连接失败

我是Android开发的新手。 我正在尝试从我的Android应用加入现有的VPN。 我想在我的应用程序中集成VPN; 我的应用程序然后应该查询远程数据库。 我得到了一些代码并试图用它来创建VPN。 它模拟Android手机上的内置VPN管理器。 代码编译并启动管理器但是当我尝试在所有配置之后连接时,与VPN的连接不成功。 该协议是PPTP。 VPN存在并已经过测试。 我尝试从具有相同设置的Android手机连接,并且它成功了。 我想也许我以错误的方式传递参数。 我已经为下面的vpn部分添加了代码。 url不是实际的,但格式相同。 任何帮助,以确定我做错了什么将不胜感激。 此外,如果有一种方法,我可以直接从我的应用程序调用VPN管理器。 非常感谢您的帮助, final Button button1 = (Button)findViewById(R.id.button1); final Button button2 = (Button)findViewById(R.id.button2); final Button button3 = (Button)findViewById(R.id.button3); button1.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { startActivity(new Intent(“android.net.vpn.SETTINGS”)); } }); button2.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { URL url = null; […]

Android:使用VPNService API在Android 4.0中使用自己的VPN连接的示例代码

我是android的新手,我正在尝试以编程方式建立并连接到我们自己的vpn (不是默认的vpn提供者,即PPTP , L2TP等,它存在于Android Setting -> Wireless and Networks )。 我的情况是,我有按钮,当我点击按钮时,我需要配置我自己的vpn并且链接(比如www.google.com)应该通过我配置的VPN 。 有没有示例代码?

在Android中捕获网络数据包?

我正在开发一个项目,我需要捕获传入/传出的数据包并将它们存储在pcap文件中。 Android为此目的提供了VpnService ,这是在API级别14中添加的。尽管在SO上似乎有很多关于此的问题,但令人惊讶的是它的工作示例非常少。 我尝试使用添加在样本中的ToyVpn,但我无法使其工作。 然后我发现了这个例子。 VpnService示例 该示例总结了以下步骤中的捕获。 创建一个TUN界面(我仍然不确定TUN是什么,但在互联网上冲浪说它是在设备上模拟网络层)。 通过TUN获取传入数据包和传出数据包的文件描述符。 将这些数据包转发到实际的服务器。 (不确定这是什么服务器?每个传出的数据包都有一个requestUrl ,所以服务器在这里意味着将请求委托给requestUrl服务器 。或者服务器意味着在AWS上的某个地方创建自己的服务器并重定向那里的所有流量,反过来将流量重定向到实际目的地)。 从服务器获取响应。 在TUN的帮助下,再次将此响应传递给应用程序的预期组件。 我使用下面的代码创建了一个TUN。 我给出了上面提到的教程中给出的地址。 不确定,是否有正确的值。 以及如何确定这个地址。 Builder builder = new Builder(); ParcelFileDescriptor mInterface = builder.setSession(“MyVPNService”) .addAddress(“192.168.0.1”, 24) .addDnsServer(“8.8.8.8”) .addRoute(“0.0.0.0”, 0).establish(); 接下来,我获得了文件描述符,并打开了隧道。 FileInputStream in = new FileInputStream( mInterface.getFileDescriptor()); DatagramChannel tunnel = DatagramChannel.open(); // I have created a EC2 instance on AWS, and gave […]

在VpnService.Builder中传递用户名和密码的方法

我正在开发我想要使用VPN网络的应用程序。 要在设备中创建VPN网络,我们需要从设备的(设置 – 无线和网络 – VPN设置)菜单进行配置。 我想通过带有硬编码信息的代码进行这么多设置。 从API级别4.0开始,android提供API来处理VPN服务 。 要知道这个方法的实现,我使用了Android ToyVPN的Sample项目。 但在这许多方法中,我没有find任何传递用户名和密码的方法。 我必须连接VPN网络的信息是。 VPN服务器名称 用户名 密码 使用这三个信息,如果我从设备手动配置,我就成功连接到VPN网络。 但我想以编程方式执行此操作。 这是用于连接VPN网络的类文件。 ToyVpnClient.java和ToyVpnService.java 。 除此示例应用程序外,还会在设备中崩溃。 任何帮助将不胜感激。

以编程方式在Android上创建VPN

我知道之前已经提出这个问题了,但大多数都是3到4年前没有明确的答案。我想知道这是否已经存在于2015年。

现有VPN应用程序如何在Android 2.0 – 2.3中创建新配置文件?

经过对StackOverflow的大量搜索后,它似乎只是在设备之前创建了一个4.0之前的VPN配置文件 我的问题是以下应用程序如何在没有root的情况下完成它? http://www.featvpn.com/ https://play.google.com/store/apps/details?id=com.expressvpn.vpn&hl=en 更新1 似乎私有API是4.0之前的方式。 不幸的是,没有太多资源可以开始使用。 有谁知道私人api是否还需要root设备? 更新2 看来你可以使用改进的Android.jar或使用reflection来做到这一点。 L2TP / IPSEC仍然需要root设备。 PPTP似乎没有。 如何在Android上使用内部API 更新3 请注意,这取自各种来源。 似乎root是必需的,因为VpnService启动racoon,然后以系统用户身份运行,并从KeyStore中检索PSK。 因此,其他应用程序创建的KeyStore条目对racoon不可见。 (在linux环境中,racoon是一个协助IPSEC相关密钥协商的安全流程 – IKE)。 这是有道理的,然而,仍有一些应用程序可以在没有root的情况下实现L2TP / IPSEC。 更新4 XinkVPN,源代码入门。 仍然不允许用户创建L2TP配置文件而无需用户生成key_store并重新编译。 不是很友好,但开始很棒。 https://github.com/xinthink/xinkvpn http://code.google.com/p/xinkvpn/

如何让我的Android模拟器使用我的电脑的VPN接口?

我的公司要求VPN连接到我们的开发系统,这是我第一次尝试在家里安装Android应用程序。 事实certificate,模拟器不想使用VPN接口,所以即使我在连接VPN的笔记本电脑上连接到我们的开发系统,在其上运行的模拟器也没有。 我想到了3个解决方案: 在模拟器上运行VPN客户端,但我希望有一个更简单的解决方案:(http://stackoverflow.com/questions/4590339/how-to-enable-vpn-support-in-android-emulator) 在我的本地计算机上设置代理服务器 转发本地计算机上的端口 2和3可能会工作,但我仍然想知道是否有一种简单的方法让模拟器使用VPN接口而无需解决方法。 我正在运行OS X 10.7并且我已经尝试使用网络>>设置服务订单调整接口优先级顺序。 我想我可以把旧戴尔掸掉并在那里试一试,但我希望得到同样的结果。

在android 4.0上以编程方式设置VPN连接

我正在以编程方式在Android设备上设置VPN连接。 我成功地使用OS 2.3.5和之前的设备(我使用reflection来访问隐藏的类)。 但是在android 4.0中,他们摆脱了旧类并使用了VPNService类。 我认为最好的起点是使用Android提供的ToyVPN示例,但我面临很多挑战。 在示例代码中,他们只需要发送服务器地址: InetSocketAddress server = new InetSocketAddress(mServerAddress, Integer.parseInt(mServerPort)); 然后通过打开频道创建VPN隧道: tunnel = DatagramChannel.open(); 但在我的情况下,我需要发送服务器地址,用户名和密码。 到目前为止,我还没有想出如何这样做。 我最好的猜测是做这样的事情: Authenticator.setDefault(new Authenticator(){ protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(“user”,”pass”.toCharArray()); }}); try { // Create a DatagramChannel as the VPN tunnel. tunnel = DatagramChannel.open(); 但这没效果。 所以我要问的是: 除了在ToyVpn中使用的方法之外,还有一种方法可以通过编程方式创建VPN连接吗? 如果没有,当我想建立与服务器的连接时,如何发送凭据? 编辑 我忘了提到我需要指定VPNtypes(PPTP,L2TP,L2TP / IPSec PSK或L2TP / IPSec CRT)。

使用android vpnservice连接pptp vpn

我正在尝试编写一个可以用pptp protocol连接到我的VPN服务器的应用程序,因为我正在研究我发现用android.net.vpnservice我可以连接,但是当我阅读一些文档时,我不清楚如何连接到VPN (没有用于设置用户名或密码的API,也没有用于设置我的VPNtypes的API( l2tp,pptp );我还测试了Google提供的示例应用程序(toyvpn),也没有我之前提到过的内容。 这是我发现的一些代码: // Create a new interface using the builder and save the parameters. mInterface = builder.setSession(mServerAddress) .setConfigureIntent(mConfigureIntent) .establish(); mParameters = parameters;

如何以编程方式创建Android 4.0的新VPN接口?

我想知道是否可以使用Android 4.0中的新VPN API以编程方式创建VPN接口。 我查看了http://developer.android.com/resources/samples/ToyVpn,但这是关于创建一个完整的VPN客户端来处理连接等。我只想添加一个新的VPN配置,并可能删除现有的配置。 有很多这样的问题,但它们似乎都是预先4.0。 我知道以前这是不可能的,但人们会认为新的VPN API提供了这样的function。 那么有没有人find一种方法来做到这一点,还是仍然不可能? 如果有办法,请指出正确的方向。