美文网首页
Charles使用介绍

Charles使用介绍

作者: 月下溪明 | 来源:发表于2020-04-12 20:36 被阅读0次

Charles是常用的网络封包截取工具,在做移动开发和测试时常常需要截取网络封包来分析。

Charles是通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析, 更多详细内容移步官方网站:https://www.charlesproxy.com/

Charles 虽然是收费软件,但即使不购买也能长期使用,并且功能上不会缺斤短两。唯一要付出的代价是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。

低调低调 破解方法 低调低调

本文旨在介绍下常用的功能,其他更多的功能依据需求自行摸索。

Charles在移动端测试的主要应用

一、Charles抓包HTTP、HTTPS

1、安装根证书:


image.png

Tips: 安装根证书,默认不信任,需要到钥匙串里,点击信任:


image.png
将移动设备和本机置于同一个网络下,在移动设备上的网络中添加代理 -> 手动 -> 填写主机名和端口。一般来说,Charles默认的端口是8888,在Proxy -> Proxy Settings可设置。主机名就是本机的IP的地址,在Charles -> Help -> Local IP Address可查看。 image.png

一般初次连接时会提示是否允许进行连接,点击allow允许就好了。如果不小心点击拒绝,那么有两种方法,第一种重启Charles;第二种,Proxy -> Access Contro Settings中添加移动设备的IP地址。

image.png

2、Charles抓移动设备HTTPS请求
点开 Help -> SSL Prox -> Install Charles Root Certificate on a Mobile Devices or Remote Browser

image.png

提示很明显,先让设备连上Chalres,然后在设备上用系统浏览器访问chls.pro/ssl,然后会自动下载一个证书,选择安装证书。之后便可以抓取https协议的包了。

通过手机内证书管理程序,从设备存储空间安装


image.png

之后在需要的请求上,点击Enable SSL Proxy即可, 或者在Proxy -> SSL Proxy Settings中勾选上Enable,并且添加指定host。


image.png

例如抓取全部https,host输入通配符“ * ”,port填443。


image.png
3、Android 7.0 HTTPS抓包

Android 7.0以上版本,Google更新了网络安全性配置,不再信任用户导入的CA根证书。所以即便是安装了证书,也得不到系统的信任,需要在应用中添加信任才行。参考:http://confluence.mobvista.com/pages/viewpage.action?pageId=7969125

二、Charles过滤请求
一般来说,我们只关心特定HOST的请求。当我们仅想监控这些请求时,可以使用Charles的过滤功能。

1、Record Settings设置include/exclude
Proxy -> Recording Setttings include:需要监控的host。如果列表为空时,默认监控所有请求 exclude:不需要监控的host

image.png

2、Filter
Filter一栏中输入需要要过滤的host或者关键字。也可以在勾选上Foucsed,并制定focus哪些host。


image.png

3、Repeat
可以使用 Charles 的 Repeat 功能来简单地测试服务器的并发处理能力,方法如下。

  • 我们在想打压的网络请求上(POST 或 GET 请求均可)右击,然后选择 「Repeat Advanced」菜单项,如下所示:


    image.png

在弹出的对话框中,选择打压的并发线程数以及打压次数,确定之后即可执行


image.png

4、BlackList&WhiteList
黑名单表示对名单内的所有请求做过滤


image.png

白名单表示仅对名单内的请求做响应


image.png

三、Charles网速模拟
1、Throttle Setting
Charles内置几种网络模型可直接使用,也可自定义来满足特定需求。 当然更可以只针对特定host模拟网速,只需要勾选上Only for select hosts就ok了。

image.png

四、Charles修改请求及返回值
移动端测试中,Charles最常用的应该就是修改请求返回值了,有几种方式可以实现。

1、breakpoints
像断点一样,当执行到指定规则链接时,触发breakpoints。即可以在请求到服务端前中断,也可以在返回到客户端前中断。在这个过程中便可以修改Request或者ResponseR。不过值得注意的是,在移动端的测试中,使用breakpoints会大概率导致客户端的请求超时。因为手动修改是需要花时间的,所以一般很少使用断点的操作来修改请求和返回参数。

image.png

2、重定向 -- Map Local、Map Remote
顾名思义,Map Remote 是将指定的网络请求重定向到另一个网址请求地址,Map Local 是将指定的网络请求重定向到本地文件。 Map Remote简单的实例:


image.png

Map Local简单的实例:


image.png

3、rewrite
Rewrite 功能功能适合对某一类网络请求进行一些正则替换。 Rewrite功能很强大,能很方便的在各种测试环境切来切去,就像图中列表所展示。


image.png

具体功能不做详细解释,可以在使用中根据实际场景进行相应的修改。


image.png

相关文章

  • Charles使用介绍

    Charles是常用的网络封包截取工具,在做移动开发和测试时常常需要截取网络封包来分析。 Charles是通过将自...

  • Charles抓包工具使用

    参见:Charles 功能介绍和使用教程

  • Charles 抓包使用教程

    charles使用教程 将 Charles 设置成系统代理 Charles 主界面介绍 过滤网络请求 截取 iPh...

  • iOS 逆向工程二 Charles 的使用

    这里只是简单的介绍一下 Charles 的使用: 一、安装 Charles 大家可以百度,Charles 破解版,...

  • charles使用教程详细介绍

    之前一直没用Charles抓过包,今天用了确实挺好用的,https的也可以抓到,非常方便,下面介绍一下我用到的功能...

  • Charles的使用详细介绍

    一、Charles简介 1.Charles的功能 Charles 是在 PC 端常用的网络封包截取工具,在做移动开...

  • Charles的使用详细介绍

    一、Charles简介 1.Charles的功能 Charles 是在 PC 端常用的网络封包截取工具,在做移动开...

  • Charles超详细使用文档

    Charles 的简介 如何安装 Charles 将 Charles 设置成系统代理 Charles 主界面介绍 ...

  • Charles收集整理

    目录:Charles 的简介如何安装 Charles将 Charles 设置成系统代理Charles 主界面介绍过...

  • 浅谈Charles抓包原理

    类似Charles这样的抓包工具,对于高效程序员是必不可少的;本文不会介绍Charles的安装及使用,主要是浅显的...

网友评论

      本文标题:Charles使用介绍

      本文链接:https://www.haomeiwen.com/subject/tnnbmhtx.html