Charles可以抓取手机和PC端所有的网络请求,包括浏览器或app的请求;对于https请求抓取出来是乱码,如果要抓取https请求,需要安装https证书和SSL配置
PC端http抓包
- Proxy设置中的Windows Proxy勾选
设置charles为网络代理,PC端发生网络请求,就可以被Charles截获到,如果只需要抓取手机请求,则取消勾选这个选项。
移动端http抓包
- 确保手机和电脑在一个局域网内
- 电脑端配置
1.关掉电脑防火墙
2.打开Charles的代理功能
打开 Proxy->Proxy Settings ,填入代理端口(端口默认为 8888,不用修改),勾选 Enable transparent HTTP proxying
3.如果不抓取电脑上的网络请求,可以取消勾选Proxy->Windows Proxy - 手机端配置
1.Help->Local IP Address 查看PC端IP地址
2.设置手机端的wifi代理
找到连接的wifi(不能用4G),选择手动代理,IP和端口,输入步骤1的ip和代理端口8888,点击连接该wifi
3.以上配置好后,手机上的任意网络请求,就可以看到Charles弹出手机请求连接的确认菜单(只有首次弹出),点击Allow即可。这样就可以在Charles上进行移动端的抓包
https抓包
Charles默认是对http网络抓包,如果要抓https的包,需要安装https证书和SSL配置;如果不配置,https请求都是乱码;
-
PC端安装https证书
步骤1:点击Help->SSL Proxying->Install Charles Root Certificate
步骤2:弹出的证书,点击安装,将所有的证书放到受信任的根证书颁发机构 -
移动端安装https证书
- 点击Help->SSL Proxying | Install Charles Root Certificate on a Mobile Device or Remote Browser,弹窗界面的chls.pro/ssl为证书路径
- 手机端浏览器打开该地址,下载证书,安装即可
- 配置SSL
安装证书后,还需要配置SSL,否则charles上抓到的https请求结果为乱码
步骤一:开启SSL,
Proxy->SSL Proxying Settings 弹窗,勾选 Enable SSL proxying
步骤二:设置需要抓取的https请求
配置证书和开启SSL代理后,Charles 默认也并不截取 Https 网络通讯的信息,如果你想对截取某个网站上的所有 Https 网络请求,可以在该请求上右击,选择 Enable SSL proxying;也可以手动添加;如添加ip和端口都为*,允许所有https请求
;然后刷新页面,重新抓包