Charles 工具配置及常见问题

Charles 官网下载地
https://www.charlesproxy.com/download/

Charles 介绍
专业介绍可以搜索百度百科,这里只通俗介绍下 Charles 是一个 HTTP 代理服务器,我们通常用它来抓取 http、https协议的请求,俗称抓包工具。
支持 Windows、macOS、Linux。

Charles 安装
官网下载对应系统,Windows 系统双击打开一直下一步就可以了,macOS 拖动安装就可完成安装,Linux tar 包解压或者 yum install 。

Charles 版权
推荐购买正版,如果没有购买不会影响使用,只是数据都是临时的,不能保存。

重点来了,下面我们开始进行 Charles 的配置,博主这里 PC 端使用的是 Windows 系统,移动端是 IOS 系统。

Charles 抓包 PC 端配置
Proxy Settings 端口设置,默认端口:8888,在端口不冲突情况下可以随意修改。
双击打开 Charles
1:端口配置
点击 Proxy -> Proxy Settings ... 
以下为默认配置


2:代理设置
点击 Proxy -> SSL Proxying Settings ...
默认是没有配置的,但是还是会监听 http、https 请求
http 默认监听 80
https 监听 443 

3:监听事例
未监听 443 请求如下

可以看到 http 与 https 请求是有区别的,http 请求标识是蓝色说明监听是成功的,https 标识是灰色锁状说明监听不成功,这是因为我们在第 2 点没有设置监听 https 443 端口的原因,http 80 端口虽然没有设置但默认是监听的。
可以在第 2 点中,做如下配置

* 代表监听所有请求
监听 443 后重新请求如下:


可以看到监听成功但是请求显示 <unknown>,这是因为 Https 安全协议导致的需要 PC 端需要下载证书,如果不下载证书,监听 443 端口后,https 的网站都将无法访问,且 Charles 捕获不到请求<unknown>,实际上 https 并没有发送到服务端 ,这是因为 https 的安全机制导致的,如图

所以,PC 端需要安装证书来欺骗浏览器

安装到 受信任的根证书颁发机构

安装成功后访问如下

如果安装证书未生效,如要重启 Charles

 Charles 抓包 移动端配置
移动端配置需要注意
1. PC 端与移动端必须在同一网络下(wifi),即需要连接同一个 wifi
2. 如果有 VPN, 需要关闭 PC 端与移动 的 VPN 连接
3. 关闭 PC 端防火墙

1:代理设置
这一步很重要,需要将代理恢复到默认设置,不要监听 443 端口,如下


如果配置了监听 443 端口就会导致移动端访问不到 https 网络,是因为 https 安全机制导致的,这时候就需要我们下载证书


2:移动端配置代理
2.1 根据 Charles 来配置移动端代理,如下
点击 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser


打开移动端 设置 -> 无线局域网 -> 点击链接的网络 -> 配置代理 -> 手动,服务器配置为上图 Charles 指定的 192.168.0.101 端口 8888,同学们根据实际情况配置

 
移动端配置完代理后,PC 端 Charles 就会提示是否允许监听,我们选在允许就可以了


2.2 根据提示,我们需要去 http://chls.pro/ssl 下载移动端证书,在手机浏览器打开该网址

 
出现这个 描述文件 说明证书下载成功


2.3 IOS 需要安装证书并信任证书
安装证书 通用 -> VPN 与设备管理 -> 安装

信任证书 通用 -> 关于本机 -> 证书信任设置

 

3:PC 端设置代理
完成上边两部操作后,这个时候再 PC 端监听 https 443 端口,配置如下

 4:监听移动端事例
手机端打开百度搜索,可以看到 Charles 已经监听到移动端请求

总结:
1. PC 端抓包,其实应用下载下来直接可以用,默认监听 http 80 端口,如果需要抓取 https 请求就需要监听 443 端口。
2. 移动端抓包,最重要的是需要移动端下载证书。

Charles 乱码问题:
请求乱码问题,其实是 https 的加密
PC http 请求不会乱码,是因为默认监听了 80 端口,https 请求乱码(加密),是因为 HTTPS 协议导致的,需要监听 443 端口。
移动端 请求乱码是因为没有监听 443 端口,如下

监听 443 端口即可,会发现正常请求都是这个标识 

Charles 网络问题,https 请求都访问不到
是因为没有安装证书,安装证书后就可以了

证书下载问题注意:
证书下载必须是 PC 端与移动端一一对应。不要从其它地址下载,博主也是在下载证书的时候折腾了很久,浏览器访问 http://chls.pro/ssl 不生效,排查好久终于找到原因,需要注意,证书下载就不会有问题
1. 移动端与 PC 端网络必须保持一致,移动端代理服务配置必须与 PC IP 一致
2. 移动端下载证书时 http://chls.pro/ssl 没有反应,要检查网络与移动端代理是否正确

ios 证书下载没有反应可以切换浏览器,ios 自带 Safari 浏览器就可以

证书其实是为了绕过 https 安全机制的,这样才能捕获到 https 的请求信息

windows 查看证书位置
win + R 输入命令 certlm.msc

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值