2021.5.15
注意点:
电脑使用抓包
- charles 使用需要一开始就配置好 http 证书,否则抓得全都看不到,毕竟现在都是 https了。 在 help 里选择安装证书,注意要选择证书存储为:“受信任的根证书颁发机构”(Windows 下) 另外在 proxy 选项中打开 SSL 设置,把443和*填进去。
手机抓包
- 首先连接和电脑同一个WiFi,并且手动配置代理,地址是电脑的ipv4地址,端口是 charles 默认设置中的 8888
- 然后同样使用 help 选项里的安装到移动设备中,到chls.pro/ssl网站中下载并安装证书。
坑点:
chls.pro/ssl打不开,其实还是第一步代理没通,因为Windows默认开启了防火墙,所以在系统设置里要把防火墙关了
另外:
想要抓取手机app的包不一定能实现。原因是 charles 抓包原理实际上是 https 中间人攻击,只不过我们手动安装并信任了这个中间人的证书。
问题在于,游览器默认是信任这个证书的,但app不一定啊[和安卓版本有关系],app客户端完全可以先验证证书是不是自己公司的,发现不是直接拒绝并停止网络请求[这种技术叫做 SSL Pining,防止中间人攻击的],这就是为什么抓包时很多app连不上网的原因。
测试了好几个我常用的app,发现只有 taptap 是可以抓到的。
当然看到网上有人直接反编译app之类的操作,那就完全不可取了,不够通用。
但看到网上有人用Xposed的框架 + JustTrustMe 绕过的,不太清楚其原理,也暂未做尝试。
放上两个从底层绕过 SSL 证书校验的方法,无论是安卓还是苹果,都需要越狱。
苹果的 https://github.com/nabla-c0d3/ssl-kill-switch2
安卓的 https://github.com/Fuzion24/JustTrustMe
app 抓包问题已解决: 我at我自己,无视SSLPinning