栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Charles 工具配置及常见问题

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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 后重新请求如下:


可以看到监听成功但是请求显示 ,这是因为 Https 安全协议导致的需要 PC 端需要下载证书,如果不下载证书,监听 443 端口后,https 的网站都将无法访问,且 Charles 捕获不到请求,实际上 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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/882729.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号