首先需要在Mac上打开Charles,并启动代理,完成了一系列配置后,能正常监听流量了以后,再进行下面操作(配置电脑证书等).
PC端Charles设置,可以参考我另外一篇文章https://segmentfault.com/a/11...
监听iOS设备流量(信任https请求),安卓端与iOS类似,只不过安卓端下载证书后,需要去系统文件中打开证书安装并信任(IOS只有下载立即安装,如果下载完成没有安装,以后如果需要安装证书,只能重新下载)
- 打开Charles帮助, 查看移动端证书安装提示
- 按照提示设置IOS WIFI代理.(IOS设备与电脑需要处于同一网络).上图红圈标红的内容是,我电脑在局域网的内网IP,8888是我电脑设置的代理监听端口.
- 如果有必要,修改步骤2红框中的端口
Mac电脑Charles代理设置方式.
上图中1是必选项,只有勾选了,才能启动代理.2是代理监听端口,默认8888 - 配置iOS设置代理(需要与电脑处于同一WIFI),服务器和端口就是步骤2红框中的内容
-
下载证书.
在iOS上配置好WIFI代理后,使用Safari浏览器打开http://chls.pro/ssl ,浏览器会自动下载一个
证书,安装即可.注意:只能用Safari浏览器打开才有用
浏览器打开http://chls.pro/ssl 后的提示
如果下载文件成功,点击允许,会跳转到该界面
点击安装即可.安装成功会如下图所示 - 如果安装成功,在设置--> 通用 --> 描述文件 中会新增一个Charles Proxy的描述文件.
前往 设置--> 通用 --> 关于本机--> 证书信任设置 里,将刚刚新增的Charles证书设置为启用状态,
设置为启用后,应该如下图所示(开关选项会显示为绿色)
- 完成上面的步骤,iOS上的Charles代理https证书就设置完成啦.打开浏览器,随便打开个https网页,电脑端的记录就会显示详细内容了,而不会显示问号
疑难杂症:
- 问: 如果你移动端配置好以后,还是无法监听https流量
答: 请你先确定,你是否能够监听移动端的http流量,如果http流量都无法监听,那么是你电脑Charles设置问题,与移动设备无关- 问: iOS设备用浏览器打开http://chls.pro/ssl 后,手机没有弹出允许的窗口,而是直接让你保存下载文件,或者打开后无反应.
答: 请先确认你手机电脑是否使用到是同一WIFI,并且保证你iOS中WIFI设置的代理是步骤2中的 >IP+端口.
然后,再使用移动设备默认浏览器打开,iOS必须要用Safari浏览器打开
如果你是使用Mac电脑,那么,你还需要检查你的电脑中是否安装有Charles证书,并且设置为始终信任.
下图是我电脑的钥匙串系统证书列表
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。