以编程方式捕获网络流量(无根)

E-K*_*ami 9 android network-programming packet-sniffers android-networking

我正在尝试查找资源或库,这些资源或库可以允许我以编程方式捕获设备的所有网络数据包的流量,无论是来自wifi还是移动网络.我相信不需要root权限才能在这个混杂模式的鲨鱼根本就请求,因为有这个程序在Play商店中,可以捕获所有网络流量(甚至解密用MITM SSL),而不需要root权限.我根本无法弄清楚如何做同样的事情.

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

谢谢您的帮助.

Kar*_*iem 17

Android中没有root的数据包嗅探的事实上的appraoch是环回VPNService.创建VPNService应用程序并将其激活,将强制设备中的所有流量通过新创建的虚拟接口,该接口由用户空间应用程序管理,您将通过从虚拟接口读取来接收IP数据包.

您可以在此处查看 Google提供的简单代码示例

您可以在此处查看完整的工作示例项目

  • 非常感谢,这正是我要找的 (2认同)