通过库监视应用程序的入站和出站网络流量

问题描述

我正在尝试监视应用程序的所有传入和传出流量。本质上,我想用某种方式记录从我的应用程序通过网络发送哪些数据,以及我的应用程序从外部网络连接接收到的数据。我的网络监控代码一个库中,该想法是任何应用程序都可以使用该库来监控进入和退出其应用程序的网络。

这对于非根植设备必须有效。

我认为VPN可以使用,因此我使用VPNService集成了一个GitHub示例项目:https://github.com/hexene/LocalVPN

问题在于我不知道如何查看正在发送或接收的实际内容/数据。这就是我使用该示例代码得出的结果(将Log.e(TAG,"Got TCP PACKET!!: "+ packet.toString());放入LocalVPNService.java):

Packet{ip4Header=IP4Header{version=4,IHL=5,typeOfService=0,totalLength=60,identificationAndFlagsAndFragmentOffset=-399753216,TTL=64,protocol=6:TCP,headerChecksum=35413,sourceAddress=10.0.0.2,destinationAddress=212.58.233.253},tcpHeader=TCPHeader{sourcePort=38796,destinationPort=443,sequenceNumber=3493090565,ackNowledgementNumber=0,headerLength=40,window=65535,checksum=816,flags= SYN},payloadSize=0}

如何获取和记录实际的请求和响应数据?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)