Iphone8 plus Fiddler 抓包App Https 请求时的坑

1 背景

    手机APP 发送中文到后端乱码,排查原始报文乱码,还是接收后字符转换导致的乱码。

2 证书问题

有的app 应用对证书做了验证。所以当配置好抓包后,手机浏览器不能打开,使用抓包时,Fiddler 开启Https 时,不能上网。

当你抓包的应用后端对证书做了校验时,Fidder安装的证书就会被拒绝,出现断开,在Log 中可以看到。

Iphone8 plus Fiddler 抓包App Https 请求时的坑

Iphone8 plus Fiddler 抓包App Https 请求时的坑 

这种情况是代表证书正常可以访问:

Iphone8 plus Fiddler 抓包App Https 请求时的坑 

 3 配置代理 

手机端没有配置代理,也无法进行抓包,具体网上都有,就不写怎么配置了。

4 证书安装后一定要信任证书

安装证书后,如果不信任证书,那么很多应用打开都网络不通。 一定要打开。

Iphone8 plus Fiddler 抓包App Https 请求时的坑

5. 要检查代理端口是否启用

netstat -antp |findstr "8888"

6. proxy 代码修改

在regedit 表中增加 配置,并修改Fiddler 中的脚本,然后重启。

Iphone8 plus Fiddler 抓包App Https 请求时的坑

右键,设置32 DWORD 为 80

编写fiddlerScript rule,点击Rules->Customize Rules,用Ctrl+F查找OnBeforeRequest方法添加一行代码

if (oSession.host.toLowerCase()=="webserver:8888")

{

oSession.host="webserver:80";

7 网络测试

如果手机不能上网,关闭此项

Iphone8 plus Fiddler 抓包App Https 请求时的坑

关闭后,https 请求无法抓取, 反复验证后,不能联网的原因就是证书的问题,具体可参见Fiddler 的Log, pc端加载 证书后,可以正常访问。

Iphone8 plus Fiddler 抓包App Https 请求时的坑

出现这种情况,手机抓取App https 肯定失败,连不通, 所以根本原因就是证书,网上好多都没说明白。