- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个 NetworkExtension,它使用 NEPacketTunnelProvider
来提供类似 VPN 的隧道,以便我可以修改流量。
这基本上适用于到目前为止我尝试过的所有应用程序,但 Facebook Messenger 似乎可以忽略它。我首先看到流量通过隧道,应该被阻止(用于测试),但是消息无论如何都成功发送。
对我来说,这表明 Messenger 首先通过隧道,当它不起作用时,它有某种后备。无论我使用 Wifi 还是蜂窝数据,都会发生这种情况。起初我认为它可能会在 WiFi 不工作时以某种方式回退到蜂窝网络,但即使我在 iOS 级别禁用蜂窝网络,当隧道处于事件状态时 Messenger 仍然可以工作。
我尝试获取所有系统路由(即 IP 和掩码)并在 NEIPv4Settings
上手动将它们设置为 includedRoutes
,但这没有任何效果。
这看起来 Messenger 确实绕过了 VPN 隧道吗?还是其他原因在起作用?
到目前为止,我基本上已经尝试了所有配置组合,似乎没有任何东西以任何方式影响 Messenger。 Signal、Instagram、YouTube 等应用可以通过隧道成功断网。
编辑:在苹果官方论坛上找到这个:https://developer.apple.com/forums/thread/122330
Actually Facebook Messanger sends traffic to all active interfaces in iOS. It even sends tarffic out trough Cellular, when mobile data is disabled from settings.
编辑 2:我尝试了新的 iOS 14 配置选项 includeAllNetworks
,它似乎适用于 Messenger,但不知何故弄乱了 Signal 或 WhatsApp 等其他应用。
当我没有打开这个标志时,Signal 可以与我的 VPN 一起工作,我可以看到它的流量,但是当我启用这个标志时,Signal 既不发送消息也不接收消息。
最佳答案
应用程序可以使用低级 API 并通过某些接口(interface)强制流量(例如使用绑定(bind)),然后转到您的 VPN 之外。
强制使用 VPN 的方法是在您的 VPN 配置中启用标志 includeAllNetworks -
manager.protocolConfiguration!.includeAllNetworks = true
关于iOS:一些应用程序似乎绕过了 NEPacketTunnelProvider。如何执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66779666/
我正在开发一个 NetworkExtension,它使用 NEPacketTunnelProvider 来提供类似 VPN 的隧道,以便我可以修改流量。 这基本上适用于到目前为止我尝试过的所有应用程序
正如我最近发现的 paper描述 iOS 的嗅探机制使用苹果的 NEPacketTunnelProvider扩展,我很好奇,这让我想从技术角度理解它。由于我通常不在这样的深层网络层工作,因此我无法详细
我正在构建一个简单的 VPN 应用程序。我获得了网络权利,并创建了应用程序扩展。我已将 VPN 配置为“按需”并在 sleep 时处于事件状态。 我的问题是 - 当应用程序处于后台模式时会发生什么?我
通过NEPacketTunnelProvider我可以得到目标主机地址,但是我不能得到完整的URL,有没有可能我可以获得完整的URL? 最佳答案 如果您指的是捕获 HTTP 请求路径,则需要通过解析每
我想从我们在 中收到的 UDP 数据包中获取源和目标的 IP 地址以及端口号等详细信息 self.packetFlow.readPackets { [weak self] (packets: [Da
我目前正在编写一个将由不同应用程序使用的库。我想为我的图书馆的客户提供的功能之一是能够使用自定义隧道协议(protocol)设置 VPN,该协议(protocol)将仅由客户端应用程序使用。即设备上的
我正在使用 NEPacketTunnelProvider 进行网络扩展。我正在使用带有 com.apple.vpn.managed 负载的配置文件。此外,我将 ClientCertificate 身份
我是一名优秀的程序员,十分优秀!