charles监听app请求

时间:2024-04-01 22:34:17
本文主要介绍charles监听app的http请求和https请求。

本文主要参考:

https://www.jianshu.com/p/fb2bdde5b498

下面上货。

charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP headers (包含cookies与caching信息)。

安装charles 可以参考上面的文章:

http正常截获
安装完成后我们进行app应用的http监视。
1、打开charles,查看一下当前本机的ip
charles监听app请求
charles监听app请求

2、在手机端需要保证和charles所在的主机是同一个子网内。
3、设置手机的代理地址:设置==>无线网络==>选中当前的无线==>代理设置==>手动==>服务器地址填写为192.168.0.107==>端口为8888==>保存
4、这时候会charles会出现下面的提示

charles监听app请求

选择allow即可。
5、打开app,查看charles界面。

charles监听app请求

这样就实现了对http请求的监视。


但是从上面的截图我们会发现,有很多请求是我们看不了了,比如带有一个锁头样式的。这是因为这些请求是https的。

https需要配置证书。

1、charles打开ssl代理:

charles监听app请求


charles监听app请求

这时候会发现请求里面会有这样的提示,是因为我们的手机端没有安装证书。
You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu.


3、app安装证书
从charles中导出证书,这里导出的格式是cer的。

charles监听app请求


charles监听app请求

保存后需要在手机端安装证书。线发送到手机上,然后安装。
设置==>指纹和安全==>设备与凭证==>从存储盘安装==>找到对应的cer文件,安装证书即可。

这里有一个谷歌浏览器安装证书的步骤

安装证书之后,可以在访问某个页面或者用app进行访问的时候,就能够正常的检测到https的请求了。

如果去掉本地浏览器安装的证书,我们再访问一下:
charles监听app请求