在NEPacketTunnelProvider

时间:2018-12-04 13:47:48

标签: ios swift vpn

我想从

中收到的UDP数据包中获取源和目标IP地址以及端口号之类的详细信息
 self.packetFlow.readPackets { [weak self] (packets: [Data], protocols: [NSNumber]) in
        }

我正在使用以下代码创建会话,因此假设数据包将为UDP

self.session = self.createUDPSession(to: NWHostEndpoint(hostname: serverAddress, port: serverPort), from: nil)

其中self.sssion为var session: NWUDPSession?

有人有任何如何迅速做到这一点的指针吗?

我正在寻找一些代码,因为我对数据包级别的事物还比较陌生。

2 个答案:

答案 0 :(得分:0)

我能够使用NEKIT iOS代码中的IPPacket类读取源地址和目标地址以及数据包的端口。希望这对遇到这种情况的人有所帮助。

答案 1 :(得分:0)

我将使用诸如BinUtils之类的解决方案来解压缩从packetFlow.readPackets()方法接收的数据包数组。这些是从您的应用程序接收到的IP数据包。您需要自己定义IP标头和UDP标头的格式。