Charles使用详解(For macOS)
Charles使用详解
- 下载安装
- 基础配置
- 高级功能
- 请求映射
- Map Local
- Map Remote
- 取消结果替换
- 断点调试
- 修改请求
- 模拟网络环境
- 其他小功能
- 重复请求
- 专注个别请求
- 去除缓存
- 阻塞请求
- 常见问题:
下载安装
官网下载安装一个免费试用版,激活可以在网上找激活码激活即可。
下载地址:https://www.charlesproxy.com/download/
PS: 不激活就隔一段时间就重启,隔一段时间就要等几秒广告。难受滴很。
基础配置
- 手机电脑连接同一网络(同一wifi或同一路由器网络下等)
- Charles菜单-> Proxy->开启Recoding和SSL Proxying
- Charles菜单-> Proxy->SSL Proxying Setting,设置要代理的域名。如果所有请求都抓,可参考设置:
- 手机设置wifi->高级设置->代理->手动
主机名: 使用Charles的电脑的ip地址
代理端口: Charles默认开启端口8888 - 手机打开浏览器(最好Chrome 或 系统自带的浏览器)访问:chls.pro/ssl ,会自动下载一个CA证书
- 打开手机的设置->搜索CA证书->安装证书(各个机型不一样,有的是为本机用户安装,有的可以直接安装)
- 安装证书后,Charles会显示:
点击Allow。 - 重新启动Charles
- 查看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)相关推荐
- 详解苹果 macOS Mail 中的零点击漏洞
聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 本文作者 Mikko Kenttälä 在 Apple Mail 中发现了一个零点击漏洞,可添加或修改 Mail 沙箱环境中的任意文件 ...
- charles使用详解(觉得别人写的挺好的转载一下)
目录与版权 转载请保留顶部的 Charles 中国特惠内容,本文的内容主要包括: Charles 的简介 如何安装 Charles 将 Charles 设置成系统代理 Charles 主界面介绍 过滤 ...
- python网络抓包工具_抓包工具 Charles 用法详解
前言 抓包工具第一篇文章我们讲过,主要有 Charles 和 Fiddler,关于 Fiddler 抓包 APP 的,我之前写过一篇文章:Fiddler抓包APP教程,Fiddler 抓包 App 请 ...
- 手机端安装charles证书详解
Charles介绍: Charles其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的.该软件是用Java写的,能够在Windows,Mac,Linux上使用 ...
- 2019款苹果一体机/笔记本安装/恢复macOS Catalina图文详解
2019款苹果一体机/笔记本安装/恢复macOS Catalina图文详解 1. 开机时按下Option键, 2. 然后按Command+ R键. 3. 选择语言,进入"磁盘工具" ...
- iOS开发——使用Charles进行http网络抓包详解
我在之前一篇博客<网络抓包工具Charles的介绍与使用>中简单介绍了Charles的安装破解,以及进行简单的Charles抓包配置的介绍.今天我们来详细介绍下使用Charles进行htt ...
- iOS开发——使用Charles进行https网络抓包详解
我在前面两篇博客中<网络抓包工具Charles的介绍与使用><iOS开发--使用Charles进行http网络抓包详解>对Charles的http抓包进行了详细的讲解.今天我们 ...
- vm15安装mac 未能与服务器联系,VMware15/16解锁VMware安装MacOS的步骤详解
VMware版本:VMware-workstation-full-16 VMware版本:VMware-workstation-full-15 操作系统版本:Windows 10 VMware下载地址 ...
- Charles抓包详解Xmind版(或存项目使用差异)
本详解以所在项目实战为主 并非八股式 旨在突出工作中Charles使用核心 去掉不常用部分 目前只包含手机端 Web端后期会继续更新 如有任何疑惑 欢迎在评论区留言 !!
- Nginx配置文件nginx.conf中文详解(转)
######Nginx配置文件nginx.conf中文详解######定义Nginx运行的用户和用户组 user www www;#nginx进程数,建议设置为等于CPU总核心数. worker_pr ...
最新文章
- 【机器学习】激活函数(Activation Function)
- 转!!java中File的delete()方法删除文件失败的原因
- JAVA并发-从缓存一致性说volatile 讲的很好
- c++面向对象三大特征封装、继承和多态知识总结
- Intel Sandy Bridge/Ivy Bridge架构/微架构/流水线 (2) - 流水线概述框图
- 用MATLAB解决实际数学问题,用matlab解决一道数学问题
- oracle pl sql安装配置,oracle的安装与plsql的环境配置
- Hadoop启动脚本概览
- weex官方demo weex-hackernews代码解读(上)
- [云原生专题-11]:容器 - 如何构建自己的docker镜像:Docker Dockerfile
- Chrome扩展之书签
- 教师对php作品评语通用,期末教师给学生的评语
- 【2018年12月05日】滚动市盈率PE最低排名
- cent OS 更换源
- 拉里 埃里森_拉里·埃里森(Larry Ellison)的宝座
- 十大三维动画制作软件(转载)
- Code-server阿里云ECS服务器部署
- 操作系统可以控制和管理计算机的硬件资源,Windows操作系统是用来控制和管理计算机所有硬件和软件的...
- 萌新做点小玩意儿DAY-15 线性表(顺序表)及其应用
- 关于卸载Google浏览器后无法重装问题