以编程方式捕获网络流量(无根)
Capture network traffic programmatically (no root)
我正在尝试查找可以让我以编程方式捕获来自 wifi 或移动网络的设备的所有网络数据包流量的资源或库。我相信没有必要成为 root 才能处于这种混杂模式,因为 play 商店中的 shark for root would request because there is this app 可以捕获所有网络流量(甚至使用 MITM 解密 SSL)而无需成为 root。我根本不知道该怎么做。
我的问题是:这个应用程序是如何实现这种捕获的?他们使用了什么API?
感谢您的帮助。
在没有 root 的 Android 中嗅探数据包的实际方法是环回 VPNService。创建一个 VPNService 应用程序并激活它,将强制设备中的所有流量通过您新创建的虚拟接口,该接口由用户空间应用程序管理,您将通过从虚拟接口读取来接收 IP 数据包。
您可以从 Google here
查看一个简单的代码示例
您可以查看完整的工作示例项目here
我正在尝试查找可以让我以编程方式捕获来自 wifi 或移动网络的设备的所有网络数据包流量的资源或库。我相信没有必要成为 root 才能处于这种混杂模式,因为 play 商店中的 shark for root would request because there is this app 可以捕获所有网络流量(甚至使用 MITM 解密 SSL)而无需成为 root。我根本不知道该怎么做。
我的问题是:这个应用程序是如何实现这种捕获的?他们使用了什么API?
感谢您的帮助。
在没有 root 的 Android 中嗅探数据包的实际方法是环回 VPNService。创建一个 VPNService 应用程序并激活它,将强制设备中的所有流量通过您新创建的虚拟接口,该接口由用户空间应用程序管理,您将通过从虚拟接口读取来接收 IP 数据包。
您可以从 Google here
查看一个简单的代码示例您可以查看完整的工作示例项目here