使用的是charles-window。之前使过fiddler但是感觉并没有charles好用以及一目了然。
链接: https://pan.baidu.com/s/1NMNXa8M4niLObQKIsCNL3A 提取码: 2wsa
安装包可以通过连接下载,官网的下载速度简直慢到......下载完正常安装就可以。
proxy ->取消勾选 windows proxy (勾选则抓取计算机的请求)
https的请求需要添加证书,无论是charles还是手机端都需要安装证书。
1.设置charles
proxy -> SSL Proxy Settings 弹出一个 ssl代理设置界面
勾选Enable SSL Proxying,点击Add添加需要抓包的host,添加默认端口号443。
还是当前弹窗,选中Client Certificates,添加域名的证书,操作一样。
View -> Foucused Hosts 用于设置重点关心域名,在列表中会独立显示
添加域名和之前操作一样。
Help -> ssl proxy -> Install Charles Root Certificate
点击“安装证书”
之后就点下一步完成就可以了。以上pc端的证书配置完成,接下来配置手机端。
Help -> ssl proxy -> Install Charles Root Certificate on a Moblie Device or Remote Browser
1,可以看到一个弹窗给出了手机端需要配置的域名和端口,域名就是172.xxx.xx.117,端口号就是8888。接下来配置手机中的wifi设置,需要电脑和手机连接同一个wifi,在手机端中修改当前wifi设置,将代理选择手动,服务器主机名填入域名,服务器端口输入8888。手机域名配置完成
2,打开浏览器输入“chls.pro/ssl”回车会进入charles证书下载,加载之后是一个.pem文件,需要重命名更成成.crt后缀,这是手机端的证书安装包,直接打开安装即可,证书的名称可以自己命名。注:.pem文件保留下来,后面需要用到。
****正常来说步骤到现在一般的抓包就完成了,但是如果你的手机是安卓7以后的版本,就会失败 一直是“unknow”。应用程序不再信任用户或管理员添加的CA用于安全连接。
解决办法:
配置文件中添加:
在res/xml中添加“network_security_config.xml”文件。
api.xj.mydeertrip.com //需要抓包的域名
//手机中下载的.pem格式证书文件 名称
其中charles是.pem文件名,就是手机中下载的.pem证书文件放入工程的res/raw文件夹中即可。
此时在安装app即可发现charles有报文了