Charles -- 从0-1教你如何使用抓包工具

1. 安装

去官网下载,地址:https://www.charlesproxy.com/download/
在这里插入图片描述

2. 激活

这里是网上找的激活账号,填入即可

![Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4 ])

3. 配置

3.1 证书安装

Help->ssl proxying在这里插入图片描述

  1. Charles Root Certificate
  2. Charles Root Certificate in iOS Simulators
  3. 钥匙串中改为始终信任
    在这里插入图片描述
  4. iphone证书安装
    在这里插入图片描述
    打开Charles Root Certificate on a Mobile Device or Remote Browser,会出现如图
    在这里插入图片描述

先配置代理,跳转3.2/3.3配置代理,配置完成后访问

Chls.pro/ssl

即会弹出框询问是否安装,同意安装即可。

不要高兴太早,安装完成要在手机设置->通用->关于本机->证书信任设置->charles Proxy CA,勾选开关,证书才生效。
在这里插入图片描述

3.2 代理设置

可以设置抓包数据类型,包括http与socket数据。可以根据需要在proxies栏下勾选。
在这里插入图片描述
如果需要抓Mac上的浏览器数据,需要在macOS栏,勾选http.
image

3.3 手机使用代理

手机连接局域网下wifi,与charles必须为同一外网下。

  1. 自动代理

在已连接的wifi上点击更多,进入配置代理页。勾选自动,在输入框URL中输入:

Https://chls.pro/10.10.11.235:6666.pac

即设置了自动代理。

  1. 手动代理
    输入charles的ip与端口即可
    在这里插入图片描述

3.4 HTTPS抓包

HTTPS抓包,需要经过SSL。

Proxy->SSL Proxy setting

会打开如下界面。点击Add,Host栏与Port栏都填空(表示抓所有SSL请求),确定即可。
在这里插入图片描述
注:如果未配置此项,在访问https数据的时候,你会发现访问失败,Structure栏显示小锁标识。
image-20180802152135614

3.5 可接入控制

charles可以通过Access control Settings来控制允许访问列表。如果未允许本机器IP,访问不会走Charles,当然也抓不了包。
image
未配置过时,列表为空。当手机第一次访问时,charles会弹出是否允许弹框,点击allow,即同意此手机连接。
image-20180802153454267
此手机的ip地址也会出现在Access control Settings的列表中。

我一般配置为允许所有,在Access control Settings中Add,输入0.0.0.0/0,添加即可。
image-20180802153731725

3.5 Map Local

这个功能相当有用,可以把数据请求的response从本地文件获得。
比如:我有一个系统升级功能,升级方式upgradeType有三种:强制/普通/静默,然而,自己想要测试验证三种场景,就得麻烦后台去修改数据。这时候,Map Local可以上场了。

  1. 保存远端response:
    在这里插入图片描述

  2. 设置Map Local:
    在这里插入图片描述
    选择json文件

  3. 打到保存的json文件,修改返回值:
    在这里插入图片描述
    然后重新请求,就会走你修改后的本地文件数据了。再也不用频繁麻烦后端同学了,自己就能模拟各种数据场景。
    如何关闭?
    charles工具栏 -> Tools -> Map Local,点击进入

4. 一些常见问题

4.1 真机验证应用时卡住?

作为苹果开发,很多时候需要通过Xcode把自己做的小Demo运行到手机上,用的又是免费的个人证书,需要在手机上信任证书,及验证应用。如果你设置了抓包,ssl是验证不过的。
解决办法:
ssl时,只抓指定的网址,不要设置全抓* 。charles工具栏 -> Proxy -> SSL Proxy Settings,只抓项目后台地址。
image
5. 总结
把上面步骤过了,就可以愉快的抓https了。总结一下:

证书:Mac/模拟器/iphone证书(不要忘记信任证书)。
Proxy setting勾选HTTP与SOCKS。
同一局域网。
手机设置代理。
Access control Settings同意接入 SSL proxy添加星。

当然,charles功能不仅仅于此,非常强大,还有很多功能等待发现。如:断点/拦截,返回修改后数据/模拟断网/模拟网络差。

原文链接:https://www.jianshu.com/p/9f4ebde9c518

### 如何下载和安装 Charles 抓包工具 #### 下载 Charles 抓包工具 Charles 是一款跨平台的抓包工具,支持多种操作系统。以下是针对不同操作系统的下载方法: 对于 **Windows**、**Mac** 和 **Linux** 用户,可以通过官方渠道获取最新版本的 Charles 工具[^2]。 - 访问 Charles 的官方网站:[https://www.charlesproxy.com/download/](https://www.charlesproxy.com/download/)。 - 根据你的操作系统选择对应的版本进行下载。例如,在 Windows 上可以选择 `.exe` 文件;在 macOS 上则选择 `.dmg` 文件;而对于 Linux,则提供了一个压缩包文件供手动解压安装。 如果无法访问官网或者希望更快捷地获得资源,可以考虑第三方网盘链接(需注意安全性),比如以下百度网盘地址: - 链接: [https://pan.baidu.com/s/1DRK0bardui7pCeH3MK-YEA](https://pan.baidu.com/s/1DRK0bardui7pCeH3MK-YEA),提取码: `q7n4`。 --- #### 安装 Charles 抓包工具 ##### 对于 **macOS** 完成下载后双击 `.dmg` 文件启动安装向导,并按照提示逐步执行即可完成基本安装过程[^3]。需要注意的是,某些情况下可能需要更新软件内部的核心组件来适配最新的系统环境。具体做法如下: - 删除原有 lib 目录中的 charles.jar; - 将重新下载的新版 jar 文件放置到指定路径 `/Applications/Charles.app/Contents/lib/` 中替换旧版本。 ##### 对于 **Windows** 运行所下载的可执行程序 (.exe),遵循屏幕上的指示直至结束整个设置流程。通常无需额外调整,默认选项已满足大多数用户的日常需求。 ##### 对于 **Linux** 由于缺乏图形化界面的支持,建议采用命令行方式进行部署。先解压 tar.gz 压缩文档至目标位置后再赋予脚本权限以便顺利激活服务: ```bash tar -zxvf charles-proxy-version.tar.gz cd charles-proxy-version/bin/ chmod +x ./charles.sh ./charles.sh start ``` --- #### SSL证书配置 为了能够拦截 HTTPS 流量并查看加密后的请求详情,还需要进一步配置根 CA 证书。进入菜单栏找到 Help -> SSL Proxying Settings... 页面开启全局代理功能之后再点击 Install Charles Root Certificate on a Mobile Device or Remote Browser 来导入信任凭证给设备使用[^4]。 --- ### 总结 以上便是关于如何正确下载以及初步设定 Charles 软件的方法说明,无论是哪一类计算平台都能依照上述指南顺利完成基础搭建工作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

么贺贵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值