具有VpnService的Android防火墙

具有VpnService的Android防火墙,第1张

具有VpnService的Android防火墙

几个月前,有人提出了类似的问题,虽然答案并不十分有见地,但接受的答案中的评论使您可以洞悉可能出了什么问题。

您应该牢记逻辑驻留在OSI模型的哪一层:

  • VpnService的传入和传出流在网络层中。正如您在问题中所描述的,您正在接收(并且应该依次传输)原始IP数据包。

在示例字节流中,您可以看到传入的字节流是IPv4数据报,因为前四个位是

0100
(4)。有关IPv4的详细信息,请查阅此数据包结构规范。

  • 转发请求时,您在应用程序层中。您应该分别使用DatagramSocket或Socket 传输UDP或TCP有效负载的 内容 (即,仅传输其数据,而不传输标头本身)。

请记住,这会跳过传输层,因为那些实现会负责构造UDP标头(对于DatagramSocket)和TCP标头和选项(对于Socket)。

您的应用程序本质上将需要能够解释和构造IPv4和IPv6标头和选项,以及作为IP有效负载的UDP标头和TCP标头和选项。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5564943.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-14
下一篇2022-12-14

发表评论

登录后才能评论

评论列表(0条)

    保存