问题描述:
大家按照网上的教程,下载fiddler,配置代理、安装证书后,往往发现,对app还是死活不能抓包,抓取的数据显示“Tunnel to......443”,如下图:
又或者开启抓包后部分app无法上网。
原因是:app开启了ssl pinning(ssl证书绑定),ssl pinning是一种防止中间人攻击(MITM)的技术,主要是在客户端发起请求到收到服务器发来的证书这一步之后,对收到的证书进行校验,如果收到的证书不被客户端信任,就直接断开连接不继续请求。所以我们抓包就只能看到一些无关的请求,找不到自己想要的接口。
那么如何解决tunnel to 443的问题呢,下面提供部分解决办法:
iOS手机提供了系统层面的设置,所以在确认证书安装好、代理设置没问题后,点击通用--关于本机,找到证书信任设置,将fiddler证书信任即可。
安卓手机目前没有提供系统层面的设置,需要在app中配置响应代码,这样就比较麻烦。其实还有一种处理办法,那就是使用Xposed+JustTrustMe。
具体步骤:
①下载virtualxposed和justtrustme.apk
(链接:https://pan.baidu.com/s/1FPQ1A192tmn56LWTDrCDZQ
提取码:jv4g)
②justtrustme.apk是插件,不会生成桌面图标,需要在virtualxposed的界面安装。
③使用同样的安装方式安装需要抓包的app,就可以抓包啦