问题标签 [nevpnmanager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
420 浏览

ios - iOS:一些应用似乎绕过了 NEPacketTunnelProvider。如何执行?

我正在开发一个 NetworkExtension,它使用NEPacketTunnelProvider来提供类似 VPN 的隧道,以便我可以修改流量。

这对我迄今为止尝试过的所有应用程序都非常有效,但 Facebook Messenger 似乎可以忽略它。我首先看到流量通过隧道,应该被阻止(用于测试),但随后消息仍然成功发送。

对我来说,这表明 Messenger 首先通过隧道,当它不起作用时,它有某种回退。无论我是使用 Wifi 还是蜂窝数据,都会发生这种情况。起初我认为当 WiFi 不工作时它可能会以某种方式回退到蜂窝网络,但即使我在 iOS 级别禁用蜂窝网络,当隧道处于活动状态时,Messenger 仍然可以工作。

我尝试获取所有系统路由(即 IP 和掩码)并手动将它们设置为includedRouteson ,NEIPv4Settings但这没有效果。

这看起来像 Messenger 确实绕过了 VPN 隧道吗?或者也许还有别的东西在起作用?

到目前为止,我基本上已经尝试了所有配置组合,似乎没有任何方式影响 Messenger。Signal、Instagram、YouTube 等应用程序可以通过隧道成功切断网络。

编辑:在苹果官方论坛上找到这个:https ://developer.apple.com/forums/thread/122330

实际上,Facebook 信使将流量发送到 iOS 中的所有活动接口。当从设置中禁用移动数据时,它甚至会通过蜂窝网络发送流量。

编辑 2:我尝试了新的 iOS 14 配置选项includeAllNetworks,它似乎适用于 Messenger,但不知何故弄乱了 Signal 或 WhatsApp 等其他应用程序。

当我没有打开此标志时,Signal 与我的 VPN 一起工作,我可以看到它的流量,但是当我启用此标志时,Signal 不会发送消息也不会接收它们。

0 投票
0 回答
56 浏览

ios - 当 NEPacketTunnelProvider 处于活动状态时,信号无法完全工作

我已经实现了NEPacketTunnelProvider效果很好,但是当隧道处于活动状态时,某些应用程序,即 Signal 无法正常工作。我的消息被发送(与朋友确认),但我没有看到已读回执,也没有收到消息。

Signal 提供了获取日志的选项。

这是我可以看到的常见错误之一,但代码非常通用。应该是这样吗 - https://developer.apple.com/documentation/cfnetwork/cfnetworkerrors/cfhosterrorunknown

然后是其他一些错误:

我还检查了信号源代码(https://github.com/signalapp/Signal-iOS/blob/master/SignalServiceKit/src/Messages/OWSOutgoingReceiptManager.m),但这没有帮助。

当我的隧道处于活动状态时,有没有办法精确调试什么不起作用?我手机上的其他应用程序运行良好。

0 投票
1 回答
243 浏览

swift - Ubuntu 16.04 上 iOS NEVPNManager 和 StrongSwan 之间的 VPN 连接

我正在尝试在我的应用程序中创建 vpn 连接。在服务器端,在 Ubuntu 16.04 上使用带有 StrongSwan 的 IKEv2 VPN 服务器。按此 guid ( https://www.digitalocean.com/community/tutorials/how-to-set-up-an-ikev2-vpn-server-with-strongswan-on-ubuntu-16-04 ) 构建。

当我尝试连接时。服务器发送此日志:

我在服务器上使用此配置:

在 iOS 上使用此代码:

预期结果:已连接

实际结果:连接 -> 断开连接

最后的控制台日志:

0 投票
0 回答
35 浏览

ios - 通过 NEVPNManager 连接时有没有办法获得授权错误。共享()。连接.startVPNTunnel()?

如果我们指定正确的用户名和密码,则连接正常进行。如果我们指定不存在的用户名或密码,则连接失败。一切都很好,只是无法确定未建立连接的问题。我想告诉用户有关断开连接原因的正确信息。可能吗?

下面是调用启动连接函数的代码。以防万一 - 这里的 catch 错误处理块只获取与不正确的 VPN 配置相关的错误。

0 投票
0 回答
45 浏览

ios - VPN 未在 Mac Catalyst 上连接,出现错误,即返回 SecKeychainItemCopyContent 无法检索此项目的内容

VPN 在 iOS 和 macOS 原生应用程序上成功连接,但在 mac Catalyst 上不工作。在控制台中出现错误,即返回 SecKeychainItemCopyContent 无法检索该项目的内容。 错误截图

VPNKeychain 参考: https ://developer.apple.com/forums/thread/84194

注意:我已经在功能选项卡中启用了个人 VPN 和钥匙串共享。

下面是我的代码-

0 投票
1 回答
50 浏览

ios - 无法使用 SharedSecret 建立 VPN 连接

我正在尝试使用Swift. 我已经创建了类VpnHandler,并且正在使用钥匙串Swift来保留钥匙串参考。我的代码如下所示:

当我调用该函数initVPNTunnelProviderManager时,会创建电话设置中的 vpn 配置。我们的应用程序开始连接到 vpn,但随后立即断开连接。当我们在电话设置中连接 vpn 配置时,它正在工作。我不知道问题是什么。

任何帮助表示赞赏。

提前致谢

0 投票
1 回答
89 浏览

ios - stopVPNTunnel 没有断开 iOS 中的 VPN 连接

我已经实现了一个成功的 vpn 连接。但是当我在连接 VPN 时关闭并打开应用程序时,我无法断开 VPN。

我不知道为什么它没有断开连接。

0 投票
0 回答
9 浏览

ios - 个人 VPN 连接时间 iOS 不会在删除应用程序后重置

我在我的应用程序上实现了一个用 swift 编写的个人 VPN。VPN 运行良好。当我删除应用程序时,VPN 会关闭并从我的设备中删除。我的个人 VPN 未出现在表明其已删除的 VPN 列表中。重新安装应用程序后,我看到连接时间从上次停止的地方继续,并且没有被重置。

连接时间图:

在此处输入图像描述

VPN列表:

在此处输入图像描述

  1. 为什么连接时间没有被重置?

  2. 它没有被重置是什么意思?

  3. 个人 VPN 是否没有完全删除?

  4. VPN被删除后如何重置连接时间?