iOS NEPacketTunnelProvider 计算不带 packetFlow 的流量

iOS NEPacketTunnelProvider calculate traffic without packetFlow

提问人:Aleksander Tozik 提问时间:10/11/2023 更新时间:10/11/2023 访问量:37

问:

我有一个案例,当我成功运行适用于 iOS 平台的 Packet - Tunnel with NEPacketTunnelProvider(袜子协议)时

而且我找不到计算流量的方法。

我试过用法

self.packetFlow.readPackets...  

self.packetFlow.writePackets... 

使用不同的方式,但是每次我调用包含数据包流行的方法时,什么也没发生,我认为它与我用于实现数据包优化的协议和库有关,导致它冻结线程。顺便说一句,它在 iOS 的内存限制中运行良好。

我看到 Xcode 中的分析器显示已花费的流量。

我也尝试使用函数

getifaddrs(..)..

创建扩展以供使用的虚拟接口的名称,以及名称找到的虚拟适配器,但是我发现那里的所有对象字段都没有提供与包大小信息相关的任何有用信息

此外,我还尝试实现自定义 NEPacketTunnelFlow,并在 NEPacketTunnelProvider 中使用它们,但结果是 NEPacketTunnelProvider 无法启动,并且在没有任何有用信息的情况下崩溃。

文档中的所有信息都无助于理解如何实现。也很高兴知道,大型 vpn/代理应用程序如何基于服务器端或应用程序端为其用户实施流量限制?

有人可以给出一些提示,让我可以找到一些解决方案吗?

iOS Swift Objective-C 网络扩展 NeVPNManager

评论


答: 暂无答案