场景:开发者有时候需要手机访问接口的入参和响应数据,如果仅靠打印数据,没有抓包的真实和方便,所有需要抓包工具;
注意注意注意:电脑端hosts配置某个域名对应的ip,需要抓包某个域名,每次抓包都会是unknown
1、下载安装CharlesV4.2 for Mac:
(1)官网下载Charles(推荐):
https://www.charlesproxy.com/download/
(2)百度网盘下载:
1) CharlesV4.2.dmg安装包百度网盘:
链接: https://pan.baidu.com/s/1a9MCnwPyqKRZW_dUwAAlRQ 提取码: r5n4
2) 破解文件Charles.jar百度网盘:
链接: https://pan.baidu.com/s/1HQGj01Qt-yydP65iemcepg 提取码: 3gfh
2、安装完成,Finder/应用程序/Charles——显示包内容,将路径Contents/Java/charles.jar文件替换为下载的破解文件charles.jar
3、配置Charles:
1)打开Charles软件,配置Http代理(勾选了SOCKS roxy,可以截获到浏览器的http访问请求):【配置Http代理】
2)配置SSL代理:
首先在charles的 Proxy选项选择SSL Proxy Settings:
点add添加需要监视的域名,支持 *号通配符,端口一般都是443:【配置SSL代理、添加监视域名】
3)安装根证书:
电脑端根证书安装,Help->SSL Proxying->Install Charles Root Certificate:【根证书安装】
钥匙串访问信任证书设置——选择“始终信任”:【钥匙串信任】
安装SSL证书到手机设备:
显示如下弹窗:【证书网址】
iPhone:Safari浏览器输入网址chls.pro/ssl下载证书并安装,安装完成后,设置->通用->关于本机->证书信任设置->针对根证书启用完全信任(iOS10以上版本需启用,否则无法抓取https包)
Android(华为Mate9Pro为例):浏览器输入网址chls.pro/ssl下载证书(记住下载路径,一般默认文件管理-Download中可找到),设置->无线和网络->WLAN->(更多)高级WLAN设置-安装证书(找到证书路径安装)
4)为手机设置代理: