前言
最近公司开发的一个小程序上线了,线上出了些问题,我排查的时候要通过调后端接口来复现。但是呢,线上服务都是使用的https,用wireshark抓包之后不能正常解析,因为https使用了非对称加密和对称加密来配合传输内容,并且引入了https证书。
Fiddler
使用wireshark是可以抓到包,但是解析不了,同事给推荐了一个代理调试神器——Fiddler。
https://www.telerik.com/fiddler
下载下来长这样

Fiddler并不是一个单纯的抓包工具,它实际上是一个代理调试工具,打开Fiddler之后,它会自动为当前pc设置代理,默认是127.0.0.1:8888,当关闭之后,它又会自动删除这个代理。
Fiddler是可以用来抓https的包的,其原理是为浏览器设置了代理,这样浏览器的所有请求都会经过fiddler,然后fiddler再和服务端建立链接,伪造证书。实际上这个过程中,fiddler成为了客户端,因此它可以对https进行解密。
配置
Fiddler默认是不会解密https的,需要配置,在tools>options里面

首先是配置https

然后是Connections

这里的端口是可以自己设置的,我改成了8866,只要不和电脑上的其他应用监听的端口重复就行。
Allow remote computers to connect:这个配置是当我们把手机连上电脑的时候,抓手机的包,需要勾选这个。
抓包

参考
https://www.telerik.com/fiddler
https://blog.csdn.net/yu1014745867/article/details/73222032
https://developers.weixin.qq.com/community/develop/doc/0000624ff20df0007de73cfc25bc00
https://www.hotbak.net/key/android%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E6%8A%93%E5%8C%85%E5%B7%A5%E5%85%B7.html