android通过手机端vq(镜像一下q)n抓包转发数据

android可以通过vpnservice建立一个tun通道,然后通过操作ParcelFileDescriptor来截获流量,通过向FileDescriptor读取和写入数据, 来实现手机数据包的流通,可以实现截获http https rtcp等各种协议的数据,可以实现调试网络数据, 可以实现自定义抓手机流量数据等功能。
本文主要讲解通过vqn实现http https的抓取;
大概步骤为:
1.建立手机vq(镜像一下q)n连接,通过ParcelFileDescriptor获取虚拟网卡的FileDescriptor,然后循环读写这个网卡的数据包。

2.利用java nio建立一个serversocketchannel服务端, 实现手机端请求转发到本地服务端,nio方式可以实现非阻塞式利用一个线程管理多个客户端,减少系统开销,并且可以方便的实现https。然后通过更改数据包ip协议数据, 实现数据的转发到本地服务端。同时建立一个本地连接真实的服务器地址,把app数据转发给服务端, 然后接收真正服务器返回的数据再转发给本地app端。

具体实现方式可联系本人获取。
本方案主要参考https://github.com/zheying/Firewall并实现了https版本;

你可能感兴趣的:(android通过手机端vq(镜像一下q)n抓包转发数据)