charles | 抓取ios设备接口数据
方法/步骤
-
首先,下载安装charles
-
把电脑配置成手机的代理服务器。这样才能让我们的 MAC 顺利的拦截到手机软件的网络接口。
1.我们先看一下自己的电脑ip:在系统偏好设置 --> 网络 --> 查看当前 IP;
2.然后配置手机网络设置,前提:确保你的手机和你的电脑在同一个局域网中。打开手机无线网的配置,看到配置,找到到Http代理,选择“手动”,在服务器一项,填写刚才查看的电脑的ip,端口添加8888,然后返回;
3.接着,在电脑上打开 Charles。然后配置一下,主要是配置端口:Proxy-Proxy Settings,Port设置为8888,勾选Enable transparent HTTP proxying. -
手机配置代理
1.打开你的iPhone:设置 -> Wifi -> 连接上和电脑同一路由器的Wifi,点击右边的 i 进入配置配置:拉到底部,找到HTTP代理,选择手动, 服务器填入电脑的IP地址,端口号写 8888 ;
2.然后返回会刷新Wifi连接此处配置完成后,Charles会弹出提示框,提示请求连接Charles ip是xxx.xxx.xxx.xxx是否允许?此处需要点击allow;
3.到此,即可正常抓取iPhone的连接。但,目前苹果的大部分App都采用了更安全的HTTPS进行数据交互,所以我们要抓取HTTPS还需要进一步的配置。 -
电脑安装charles证书
1.回到Charles,进行证书安装:
1.Charles菜单:Help -> SSL Proxying -> Install Charles Root Certificate 点击后自动打开钥匙串访问,请输入电脑开机密码
2.Help -> SSL Proxying -> Install Charles Root Certificate
2.完成后你会看见两个证书:
1.双击证书,打开证书详情:展开信任 -> 使用此证书时:修改为 始终信任,关闭证书详情要求输入开机密码
2.信任 -> 使用此证书时,两个证书都设置为始终信任。 -
安装手机端证书
1.手机端证书下载配置:
1.回到Charles,菜单:Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser 2.Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser 点击后会弹出对话框,大意是:配置你的设备来使用Charles,证书下载地址:chls.pro/ssl; 3.配置手机端证书: * 打开手机Safari,访问下载地址:chls.pro/ssl * 正常情况下访问此地址会请求安装一个配置文件。若无请求请检查Wifi是否设置了 HTTP代理 (参考配置图:设置 -> Wifi -> i -> HTTP代理 手动)。
2.信任证书:打开iphon设置:通用>关于手机>拉到最底部,证书信任设置>开启刚刚安装的证书
-
回到Charles进行最后的收尾设置:
菜单:Proxy -> SSL Proxying Settings... 勾选:Enable SSL Proxying,点击 Add 添加规则 域名:配置完上述所有内容后,你会在Charles中看到很多请求,都是以域名为标题。 端口:恒定为443 若不需要指定HTTPS连接(即抓取所有HTTPS连接),域名填写 * 即可。
-
备注:
若charles界面无数据,显示空白,点击菜单:File -> New Session就有数据了。