我正在尝试查找资源或库,这些资源或库可以允许我以编程方式捕获设备的所有网络数据包的流量,这些数据包来自wifi或移动网络。我相信,无需按照shark for root的要求将根设置为混杂模式,因为Play商店中存在this app,它可以捕获所有网络流量(甚至使用MITM解密SSL),而无需成为root用户。我根本无法弄清楚该怎么做。

我的问题是:此应用程序是如何实现这一捕获的?他们使用了什么API?

感谢您的帮助。

最佳答案

在没有root的情况下,Android进行数据包嗅探的实际方法是环回VPNService。创建一个VPNService应用程序并将其激活,将强制设备中的所有流量通过由用户空间应用程序管理的新创建的虚拟接口(interface),在该虚拟接口(interface)中,您将通过从虚拟接口(interface)读取信息来接收IP数据包。

您可以从Google here检查一个简单的代码示例

您可以查看完整的工作示例项目here

09-26 20:31
查看更多