首页 > 解决方案 > 在 Android 上,如何在网络层 (IP) 上捕获传入的数据包?

问题描述

目前,在Android平台上,有一些Android应用可以借助VPNService. 然而,正如文件所描述的

(使用 VPNService 返回的 fd)每次从描述符中读取都会检索一个路由到接口的传出数据包。对描述符的每次写入都会注入一个传入数据包,就像从接口接收到的数据包一样。

这表明我们无法通过 VPN 获取网络层 (IP) 上的传入数据包;如果我们使用套接字,我们会丢失网络层数据包的粒度。

有没有办法在不生根的情况下在 Android 设备上获取传入的 IP 数据包?

标签: androidnetworkingipvpnpacket

解决方案


在网络设备上获取数据包,而不是在您的接入点/交换机/路由器/防火墙上。通常他们有内置的工具。如果你在你的电脑上设置一个接入点并将手机连接到它,你可以获取这些数据包 https://www.youtube.com/watch?v=CojA2ZZPiKs


推荐阅读