Iphone8 plus Fiddler 抓包App Https 请求时的坑
1 背景
手机APP 发送中文到后端乱码,排查原始报文乱码,还是接收后字符转换导致的乱码。
2 证书问题
有的app 应用对证书做了验证。所以当配置好抓包后,手机浏览器不能打开,使用抓包时,Fiddler 开启Https 时,不能上网。
当你抓包的应用后端对证书做了校验时,Fidder安装的证书就会被拒绝,出现断开,在Log 中可以看到。
这种情况是代表证书正常可以访问:
3 配置代理
手机端没有配置代理,也无法进行抓包,具体网上都有,就不写怎么配置了。
4 证书安装后一定要信任证书
安装证书后,如果不信任证书,那么很多应用打开都网络不通。 一定要打开。
5. 要检查代理端口是否启用
netstat -antp |findstr "8888"
6. proxy 代码修改
在regedit 表中增加 配置,并修改Fiddler 中的脚本,然后重启。
右键,设置32 DWORD 为 80
编写fiddlerScript rule,点击Rules->Customize Rules,用Ctrl+F查找OnBeforeRequest方法添加一行代码
if (oSession.host.toLowerCase()=="webserver:8888")
{
oSession.host="webserver:80";
}
7 网络测试
如果手机不能上网,关闭此项
关闭后,https 请求无法抓取, 反复验证后,不能联网的原因就是证书的问题,具体可参见Fiddler 的Log, pc端加载 证书后,可以正常访问。
出现这种情况,手机抓取App https 肯定失败,连不通, 所以根本原因就是证书,网上好多都没说明白。