Charles使用详解

  • 下载安装
  • 基础配置
  • 高级功能
    • 请求映射
      • Map Local
      • Map Remote
      • 取消结果替换
    • 断点调试
    • 修改请求
    • 模拟网络环境
    • 其他小功能
      • 重复请求
      • 专注个别请求
      • 去除缓存
      • 阻塞请求
  • 常见问题:

下载安装

官网下载安装一个免费试用版,激活可以在网上找激活码激活即可。
下载地址:https://www.charlesproxy.com/download/

PS: 不激活就隔一段时间就重启,隔一段时间就要等几秒广告。难受滴很。

基础配置

  1. 手机电脑连接同一网络(同一wifi或同一路由器网络下等)
  2. Charles菜单-> Proxy->开启Recoding和SSL Proxying
  3. Charles菜单-> Proxy->SSL Proxying Setting,设置要代理的域名。如果所有请求都抓,可参考设置:
  4. 手机设置wifi->高级设置->代理->手动
    主机名: 使用Charles的电脑的ip地址
    代理端口: Charles默认开启端口8888
  5. 手机打开浏览器(最好Chrome 或 系统自带的浏览器)访问:chls.pro/ssl ,会自动下载一个CA证书
  6. 打开手机的设置->搜索CA证书->安装证书(各个机型不一样,有的是为本机用户安装,有的可以直接安装)
  7. 安装证书后,Charles会显示:
    点击Allow
  8. 重新启动Charles
  9. 查看Charles,应该可以正常抓包了,包括HTTPS的包。

高级功能

请求映射

Map Local

Map Local就是将请求结果替换成本地数据。用的比较多的场景是mock数据修改;接口方开发未完成时根据协议先进行调试等。
路径: 右键请求->选择Map Local
如:

Tips: 可以保存当前接口返回的数据格式,然后直接在此基础上编辑。(在请求上右击有一个save Response可以保存到本地)

Map Remote

可以将当前请求指向另一个请求。比较常见场景是用在替换域名或者替换请求参数之类。可以直接在测试包下请求生产环境请求,可以自己主动更改请求参数等。
路径: 右键请求->选择Map Remote

取消结果替换

顶部导航栏->Tools->Map Local(Map Remote)

断点调试

右键需要断点的接口,点击BreakPoint,然后在工具栏中点击下方按钮开启


接下来执行时,如果抓到这个请求,会先跳转到断点界面,允许用户Edit Request,此时是编辑发送的请求。

点击Execute之后,会再次触发断点,此时断点的是返回结果的时候,允许用户Edit Response。

此时再点击Executer之后,就会真正返回给客户端了。

注意: 如果修改的时间比较久,而超时时间设置的比较短,很快就超时了,就没有效果了。可以把超时设置的稍微久一点。

修改请求

选择一个请求,在上部工具栏有一个蓝色钢笔按钮(Compose a new request base on selection),可以修改当前请求的参数等,可以用来验证请求数据是否正常,验证请求参数异常情况的返回结果等。

模拟网络环境

模拟网络环境指的是模拟网速之类的,一般场景在测试弱网环境之类的。
路径: 顶部导航栏 -> Proxy -> Throttle Setting

PS: 工具栏里面的绿皮小龟可以快捷开关

其他小功能

重复请求

这个功能可以进行简单的一个压力测试。
路径: 需要重复的请求右键-> Repeat Advanced

专注个别请求

路径: 需要关注的请求右键-> Focus
关注的就在上面显示了,不关注的在下面OtherHosts中收起来了。这样比较清晰。可以只关注我们自己的APP的域名之类的。

去除缓存

有时候由于请求有缓存设置,导致我们可能很难执行后续的步骤。
路径: 需要去除缓存的请求右键-> No Caching

阻塞请求

这个功能主要是模拟一些网络异常的情况,可以直接阻塞接口。
路径: 需要阻塞的请求右键-> BlockList

设置阻塞的请求如何处理,可以直接抛弃,或者返回403
路径: 顶部导航栏 -> Tools -> Block List

常见问题:

1.手机安装了证书,但是存在部分HTTPS请求还是UnKnown状态。
可以看一下APP的网络安全设置,如果没有就加上下面代码这一段内容,代表在debug模式下允许app信任权限为user权限的证书。(官方说正常打debug包就自动会添加这个,但是在Flutter下好像不太行)

app/src/main/res/xml/network_security_config.xml
<debug-overrides><trust-anchors><certificates src="user"/></trust-anchors>
</debug-overrides>

Charles使用详解(For macOS)相关推荐

  1. 详解苹果 macOS Mail 中的零点击漏洞

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 本文作者 Mikko Kenttälä 在 Apple Mail 中发现了一个零点击漏洞,可添加或修改 Mail 沙箱环境中的任意文件 ...

  2. charles使用详解(觉得别人写的挺好的转载一下)

    目录与版权 转载请保留顶部的 Charles 中国特惠内容,本文的内容主要包括: Charles 的简介 如何安装 Charles 将 Charles 设置成系统代理 Charles 主界面介绍 过滤 ...

  3. python网络抓包工具_抓包工具 Charles 用法详解

    前言 抓包工具第一篇文章我们讲过,主要有 Charles 和 Fiddler,关于 Fiddler 抓包 APP 的,我之前写过一篇文章:Fiddler抓包APP教程,Fiddler 抓包 App 请 ...

  4. 手机端安装charles证书详解

    Charles介绍: Charles其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的.该软件是用Java写的,能够在Windows,Mac,Linux上使用 ...

  5. 2019款苹果一体机/笔记本安装/恢复macOS Catalina图文详解

    2019款苹果一体机/笔记本安装/恢复macOS Catalina图文详解 1. 开机时按下Option键, 2. 然后按Command+ R键. 3. 选择语言,进入"磁盘工具" ...

  6. iOS开发——使用Charles进行http网络抓包详解

    我在之前一篇博客<网络抓包工具Charles的介绍与使用>中简单介绍了Charles的安装破解,以及进行简单的Charles抓包配置的介绍.今天我们来详细介绍下使用Charles进行htt ...

  7. iOS开发——使用Charles进行https网络抓包详解

    我在前面两篇博客中<网络抓包工具Charles的介绍与使用><iOS开发--使用Charles进行http网络抓包详解>对Charles的http抓包进行了详细的讲解.今天我们 ...

  8. vm15安装mac 未能与服务器联系,VMware15/16解锁VMware安装MacOS的步骤详解

    VMware版本:VMware-workstation-full-16 VMware版本:VMware-workstation-full-15 操作系统版本:Windows 10 VMware下载地址 ...

  9. Charles抓包详解Xmind版(或存项目使用差异)

    本详解以所在项目实战为主 并非八股式 旨在突出工作中Charles使用核心 去掉不常用部分 目前只包含手机端 Web端后期会继续更新 如有任何疑惑 欢迎在评论区留言 !!

  10. Nginx配置文件nginx.conf中文详解(转)

    ######Nginx配置文件nginx.conf中文详解######定义Nginx运行的用户和用户组 user www www;#nginx进程数,建议设置为等于CPU总核心数. worker_pr ...

最新文章

  1. 【机器学习】激活函数(Activation Function)
  2. 转!!java中File的delete()方法删除文件失败的原因
  3. JAVA并发-从缓存一致性说volatile 讲的很好
  4. c++面向对象三大特征封装、继承和多态知识总结
  5. Intel Sandy Bridge/Ivy Bridge架构/微架构/流水线 (2) - 流水线概述框图
  6. 用MATLAB解决实际数学问题,用matlab解决一道数学问题
  7. oracle pl sql安装配置,oracle的安装与plsql的环境配置
  8. Hadoop启动脚本概览
  9. weex官方demo weex-hackernews代码解读(上)
  10. [云原生专题-11]:容器 - 如何构建自己的docker镜像:Docker Dockerfile
  11. Chrome扩展之书签
  12. 教师对php作品评语通用,期末教师给学生的评语
  13. 【2018年12月05日】滚动市盈率PE最低排名
  14. cent OS 更换源
  15. 拉里 埃里森_拉里·埃里森(Larry Ellison)的宝座
  16. 十大三维动画制作软件(转载)
  17. Code-server阿里云ECS服务器部署
  18. 操作系统可以控制和管理计算机的硬件资源,Windows操作系统是用来控制和管理计算机所有硬件和软件的...
  19. 萌新做点小玩意儿DAY-15 线性表(顺序表)及其应用
  20. 关于卸载Google浏览器后无法重装问题

热门文章

  1. 极限学习机ELM原理与实现
  2. 本科毕业论文查重网站分享(维普、知网、万方、大雅等)
  3. 国际标准UTC时间转化北京时间
  4. 关于身份证OCR识别,你知道多少?
  5. 分布式系统到底是什么
  6. 本机Windows远程操作虚拟机Windows界面
  7. MySQL OCP 认证考试你知道吗?
  8. 下docfetcher先下Java,DocFetcher使用教程——高效的文档文本检索工具
  9. 打补丁更新不适用计算机,安装补丁“此更新不适用于你的计算机”解决办法
  10. 【企业】走近华为,微观世界