计网零基础CS人谈谈Charles这玩儿意到底怎么用

一、前期准备

1.官网下载Charles

https://www.charlesproxy.com/,mac安装很简单Charles提供两种查看封包的页签,一个是Structure,另一个是Sequence,Structure用来将访问请求按访问的域名分类,Sequence用来将请求按访问的时间排序。任何程序都可以在Charles中的Structure窗口中看到访问的域名。
mac:
在这里插入图片描述

2.激活charles

前往https://www.zzzmode.com/mytools/charles/,输入RegisterName,对应生成一段key,复制后前往charles - Help - SSL Proxying - Install Charles Root Certificate输入之前的RegisterName和key。

3.charles设置端口号

charles内点击setting-Proxy Settings, 将port改为8888(或任意四位数字)。

4.手机连接到charles客户端的代理地址(这里以iOS系统为例)

(1):打开手机的设置页面;
(2):选择无线局域网
(3):IOS点击连接的WIFI后面的感叹号,安卓应该是长按连接的WIFI;(注:这里主要以IOS为例)
(4):点击配置代理–>手动
(5):输入本机IP地址以及端口号8888,这是我本机的,根据自己情况合理配置,本机IP可以在Charles软件中 - Help - Local IP Address中找到
(6):点击存储

5.手机安装证书

safari浏览器(或手机自带浏览器)进入chls.pro/ssl,会直接弹窗要求下载证书,点击确认即刻完成,进入设置,点击安装。同时去 关于手机-证书信任中打开此证书的信任开关,即可在charles客户端查看手机app抓包情况。

6.安卓手机抓包配置

安卓手机抓包安装证书需要用.cer格式的证书才能安装,charles默认下载的证书是.pem的。可以在Charles- Help- SSL proxying- Save Charles Root Certificate选择.cer格式的证书下载,下载好后传到手机里去,在手机里安装即可(Wi-Fi高级设置或者安全里安装证书)。
在这里插入图片描述
目前到这里安卓可以抓到接口了,但是部分https的会显示unknown还未解决?
解决方法:
请开发在安卓的APP代码里配置如下内容,安卓就可以抓包了。
在这里插入图片描述

二、常用操作

mac:
在这里插入图片描述
windows:
在这里插入图片描述
可以将charles的分为以下几个模块:

1.菜单栏

一些全局相关的配置,如:偏好设置、记录显示与编辑、记录展示方式、代理配置、常用的工具、帮助等等。

  • File:可以导入导出保存记录,文件格式为.chls
  • View:高亮或者聚焦(会将其他请求折叠进一个文件夹)某个具体的请求,方便调试,也可以在对应请求的URL上面右键选中Focus进行聚焦。
    在这里插入图片描述
  • Proxy(重要):设置代理、网速、HTTPS、断点、DNS等等功能。
    Reverse Proxy:反向代理,可以将本地的请求反向代理到其他请求。
    Access Control Setting:用来配置局域网中的其他机器代理规则,可以配置哪些ip允许代理,默认会允许所有ip代理的。
    弱网测试Throttle Settings下面会详细讲解。
    在这里插入图片描述
  • Tools
    在这里插入图片描述
    Block Cookies:阻塞请求,当请求访问特定地址时,它的 Cookie 就会被阻止,添加后再刷新后再列表中就看不到了。
    在这里插入图片描述
    Help:Local IP Address可以查看本机的IP,下面的install主要用于安装证书,后文会讲到。
    在这里插入图片描述

2.工具栏

快捷设置菜单,如:清除记录、开关记录、开启弱网、断点设置、执行请求、重新请求等等。
在这里插入图片描述
例:重新发送请求
在这里插入图片描述

3.请求详情

请求详情来显示当前请求的具体信息,如:请求头、响应主体、请求主体、TLS、Timing(一些请求连接时间)、size、状态码等等信息,还可以用不同类型格式查看请求或响应内容。
在这里插入图片描述
在这里插入图片描述

三、弱网测试

1.proxy- Throttle Settings

在这里插入图片描述

2.勾选Enable Throttling

若仅勾选这个,不设置其他任何域名时,为全局设置,所有的https和http请求都走弱网。
在这里插入图片描述

3.Add,添加对应域名信息

勾选Only for selected hosts时,可以设置只对部分域名进行弱网,点击Add,可以添加对应域名信息。
在这里插入图片描述

4.设置网速

使用工具内部给定的网速:点击Throttle preset,下拉框选择想要的网速。(一般的弱网选3G就可以了)
在这里插入图片描述

5.其他参数解释

Bandwith-带宽、Utilistation-利用百分比、Round-trip-往返延迟、MTU-最大传输单元、download-下行速率、upload-上行速率。一般配置download和upload就够了,其他字段默认就行。
在这里插入图片描述
在这里插入图片描述

四、修改接口返回数据

1.rewrite

(1)Tools- rewrite
在这里插入图片描述
(2)勾选Enable Rewrite
在这里插入图片描述
(3)点击右边的第一个Add,添加重写的请求接口数据。
在这里插入图片描述
(4)点击右边的第二个Add,添加重写数据的规则。
在这里插入图片描述
(5)刷新页面重新请求,接口就会按修改后的请求返回了。

2.Breakpoints

适用于每次请求都需要修改部分值的场景
(1)Proxy-Breakpoint Settings
(2)勾选上Enable Breakpoints
在这里插入图片描述
(3)点击Add添加需要修改的请求
在这里插入图片描述
(4)刷新页面进行请求
(5)Charles会截取请求
在这里插入图片描述
(6)需要修改请求数据,可以点击Add添加修改规则,然后点击Execute执行请求(不修改请求数据就直接点击Execute)。
(7)点击一次Execute后会再次截取请求,可以修改响应数据,编辑后点击Execute即可按修改后的数据返回。
在这里插入图片描述

3.MAP

(1)先使用breakpoints,在接口拦截修改页(breakpoints的第7步页面)右击将响应结果保存到本地。
(2)在本地打开响应结果修改想要修改的字段信息
(3)关闭breakpoints,重新发起请求
(4)找到接口,右击选择Map Local
在这里插入图片描述
(5)弹出的设置界面,choose选择刚刚本地修改的文件。
在这里插入图片描述
(6)重新发起请求即可按预期的响应值返回了。

五、QA

1.Windows 11安装Charles的乱码问题

(1)首先把证书配好
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)安装好证书后,进入Charles的安装文件夹,在配置文件 Charles.ini 添加一句话:vmarg.5=-Dfile.encoding=UTF-8
在这里插入图片描述
在这里插入图片描述
(3)点击 Proxy菜单,SSL Proxy Settings,添加Location
在这里插入图片描述
(4)点击Add:Host填写*,Port 就填写 HTTPS 的端口:443,重复刚才的步骤,Host填写*,Port 就填写*,然后点击 OK ,接着重启 Charles 不在乱码。

2.Firefox插件问题

如果用户安装了Firefox浏览器,Charles会询问用户是否安装了Firefox的Charles插件。这个插件允许Charles与Firefox集成,以便更容易地捕获网络流量。

六、小结

制作不易,欢迎大家补充哈!😊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

钻石程序的金锄

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

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

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

打赏作者

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

抵扣说明:

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

余额充值