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

时间:2016-07-30 22:49:38

标签: android network-programming android-networking packet-sniffers

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

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

感谢您的帮助。

1 个答案:

答案 0 :(得分:16)

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

您可以从Google here

查看简单的代码示例

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