【问题标题】:Make PPTP VPN Connection Programmatically And Capture Packets以编程方式建立 PPTP VPN 连接并捕获数据包
【发布时间】:2016-09-19 10:29:58
【问题描述】:

我使用this Tutorial 以编程方式建立 PPTP VPN 连接并捕获数据包 但是有些事情是错误的,我认为问题是当我想要在 while 循环中使用 cature 口袋时

当我通过应用程序连接到 vpn 并尝试在浏览器中打开站点时,它显示:You are offline ... Sendreceived 总是 0 bytes / 0 pockets 我还需要断开应用程序中的连接

我该如何修复它们?

【问题讨论】:

  • 没有人可以帮忙?!

标签: android vpn pptp


【解决方案1】:

您使用的教程不是关于 PPTP 或其他特定的 VPN 类型,而是关于数据包捕获。您应该自己实现 PPTP 客户端,然后将数据包捕获代码(while 循环)和 PPTP 客户端代码互连。

如果您可以显示您的源代码,那么显示问题所在会更容易。

UPD1:

那么我如何使用 PPTP 连接,连接和断开连接呢?

这是一项艰巨而复杂的任务。 没有快速解决方案。当我这样做时,我花了大约一年的时间。您可以执行以下操作:

  1. 将现有的第 3 方 PPTP 客户端导入您的项目(例如,http://pptpclient.sourceforge.net/
  2. 改进导入的代码,使其能够与您的主代码交互(您可以通过 JNI 将 C/C++ 代码用作本机库或作为外部可执行文件并通过 IPC 与之交互)
  3. 将您的代码与导入的代码链接(从 VPN 服务套接字读取 IP 数据报,将它们写入 PPTP 客户端套接字,反之亦然)

UPD2:

我看到了两个实现 VpnService 的应用程序。

第一个是StrongSwan。 VpnService 扩展here,native 部分(真正的vpn 服务实现)启动here

第二个是OpenVpn端口ics-openvpn。它启动独立的openvpn进程here,并通过标准的openvpn管理接口(unix socket)here对其进行管理。

【讨论】:

  • 那么我如何使用 PPTP 连接,连接和断开它?
  • 你能解释一下吗?我需要样品或图书馆
猜你喜欢
  • 2015-06-28
  • 1970-01-01
  • 2018-11-03
  • 2015-03-22
  • 2015-10-21
  • 2012-11-22
  • 2010-09-24
  • 2010-11-14
  • 2010-10-26
相关资源
最近更新 更多