某些App请求http如果不使用系统代理,常见的抓包软件就使用不上了。
这时首先想到的是把apk反编译掉,把禁止使用代理的相关代码去掉重打包,然而,由于种种原因不可以重打包的情形呢?这就是本文所需要探讨的问题。
方法一:在手机上使用类似tcpdump类的抓包抓出口端口80,然后使用Wireshark分析抓包的文件
方法二:使用带有完整功能的iptables把目录80端口的请求转发到外部的Fiddler或是Charles
iptables可在运行在路由器上,也可以运行在android上,如果是linux mac下模拟器也可以运行在宿主机上。
只是注意android上的iptables缺少相关驱动,可以下载使用AFWall+,在设置里选择软件带的iptables,并且在自定义脚本中填写
$IPTABLES -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-destination 192.168.57.30:8888
其中,192.168.57.30:8888是Fiddler或是Charles监听的ip和端口
以上美中不足是对付不了https的通信