新手如何使用charles调试移动端
大牛请绕道,下文是本人在工作中得到的一些经验,希望可以给小白菜们一些帮助!
Charles是macOS上的最常用的抓包工具,今天来总结一下Charles的最新使用方法,主要是抓HTTPS包的使用方法。
1. 准备工作
安装JDK
Charles由Java开发,请先安装好JDK(笔者JDK版本为1.8.0_91)。
下载Charles
官网下载地址,目前最新版本4.0.2支持macOS 10.7 - 10.12(笔者macOS版本为10.12.4)。
关闭VPN/代理
为了正常使用Charles,请关闭自己的VPN或者其他代理设置。
2. Charles客户端配置
安装好Charles后,在菜单栏勾选『Proxy -> macOS Proxy』,macOS系统HTTP/HTTPS代理将会被自动设置为本地代理,默认端口8888。
Charles正常连接,代理则是自动设置访问HTTP数据链接,可以开始抓取HTTP包。
图上状态为正常抓包3. 抓macOS应用程序包(HTTPS)
在菜单栏选择 『Help -> SSL Proxying -> Install Charles Root Certificate』,会自动导入 Charles Proxy CA 证书并打开 Keychain Access,双击新导入的证书弹出证书信息页面,将 Secure Sockets Layer(SSL) 设置为Always Trust,关闭页面后弹出密码提示,输入密码更新系统信任设置。
将此处设置为信任在菜单栏选择 『Proxy -> SSL Proxy Settings...』,在SSL Proxying选项卡中可以添加需要抓包的域名端口。
这里可以自己设置,例:locallhost:8000或者直接在『Structure』列表中右击需要抓HTTPS包的地址,选择 Enable SSL Proxying,也可以添加到上述列表中。
访问HTTPS数据链接,可以开始抓取HTTPS包。
两指双击便可设置4. 抓iOS应用程序包
在Mac上先打开Charles,确保iOS设备和Mac处于同一局域网内(可使用Mac创建热点分享给iOS设备)。
设置iOS HTTP代理,打开iOS设备对应WIFI设置,添加代理IP地址(Mac的局域网地址)和端口号(8888)。
终端获取服务器地址,端口号与图一同步Command + 空格键弹出 “聚焦” 搜索 “终端”
图中192.168.1.101则是小编的ip也可以在Charles中从菜单栏『Help -> Local IP Address』获取
在iOS设备上访问数据链接,Charles 弹出 Access Control 确认对话框,选择Allow,可以开始抓取HTTP包。
上图为正常连接 利用google找到二维码扩展此时在程序中输入alert (" https://www.jianshu.com/u/7f57dc754743 ") , 刷新页面正常弹出alert,相当于调试台debugger
参考资料
网友评论