Charles工具常用功能
背景:Charles工具常用功能使用
前提条件:使用抓包功能确保手机和电脑处于同一个局域网
http抓包:
忽略(和抓取https步骤重复,忽略..)
https协议抓包(操作以Charles 4.5.6示例)
背景:https抓包设置也有很多文章写了,但有些写得不是很全,同事教我常用的一些功能就先记录下来了,
备注:需要抓取https协议,电脑端与手机端都需要安装证书,如果未安装,抓包时,请求接口会显示unknow,操作如下:
电脑端设置
安装证书(win10示例)
- 打开charles工具,charles,help-> ssl proxying-> install charles root certifica
- 跟着向导指引一步步安装即可,最后一步提示“导入成功”
Charles工具设置
- Charles工具切换到Proxy→SSL Proxying Settings→SSL Proxying→Include选项点击“Add”,
- Host及 Port都添加:*→ok→勾选”Enable SSL Proxying”,使其生效(都配置*代表匹配所有接口与端口)
Ios端设置(iPhone X 12示例)
设置代理
- 手机端进入系统设置页面→WiFi,选择和电脑端同一局域网的网络进行设置
2. 配置代理:选择手动方式
服务器地址:windows电脑打开cmd窗口输入ipconfig可以获取
端口:默认8888,端口没有被占用的情况下,就用默认的端口即可。
若端口被占用,也可以修改端口,修改方法:Chroxies工具→Proxy Settings→HTTP Proxy,选项,输入要修改的端口后,点击ok报错
设置完毕,点击页面的存储键退出
切记:若修改了默认端口,手机代理端口也同步用修改后的端口!!
下载并安装证书
打开手机浏览器输入:chls.pro/ssl,前往下载后并安装
启用证书
手机系统设置→通用→关于本机→证书信任设置→证书开关开启→“根证书警告”点击继续,输入密码完成
电脑端Charlse工具弹出是否允许调试窗口,这时候点击Allow(允许)选项即可。
Android端设置(以realme手机示例)
设置代理(同ios端)
1. 手机端进入系统设置页面→WiFi,选择和电脑端同一局域网的网络进行设置,代理与端口设置同ios一样,设置后退出保存
下载并安装证书
备注:android
打开手机浏览器输入:chls.pro/ssl,前往下载后并安装
下载完成后,打开手机,系统设置→密码与安全→系统安全→凭证存储→从存储设备安装证书→ CA证书→仍然安装→选择下载好的证书点击并安装
Ios手机删除证书
系统设置→通用→VPN与设备管理页面→选择对应的描述文件→移除描述文件
备注:有些手机在通用页面的VPN下即可看到描述文件名称→点击进去→移除描述文件
android删除证书
系统设置→密码与安全→系统安全→凭证存储→从存储设备安装证书→ 删除所有用户证书
接口显示Unkunow解决办法
1. 测试过程中,可能会发现之前可以正常抓包的设备,突然显示unknow有可能是因为SSL Proxying Settings的开关给关闭了,这时候重新开启下即可。
2. 有时候可能是因为证书过期了或有异常,把证书删除后重新安装再设置下代理即可。
Charles打断点功能
打断点可以验证一些测试场景,功能是否满足
如下操作示例:该接口headers头的deviceuuid不满足*位会触发另一个接口,这里打断点修改headers头的deviceuuid不满足条件(uuid只有1位,2位,3位…..)是否触发对应的接口
开启方法:
1、抓包后,选择对应的接口右键执行Breakpoints(再次点击会取消打断点)
2.触发该接口,修改接口请求头的deviceuuid→点击执行Executes,即可验证是否有触发另外另一个接口
同一个报文,可以重新去请求,选择要重新请求的报文,执行工具栏的Repeat selected requests,即重新请求
Charles拦截接口
测试场景可能会有用到拦截**接口会触发什么样的效果,或其他的场景,如下示例,该接口被拦截后触发3次重试机制,
开启方法:
- 选择要连接的接口右键执行Block list, (or 选择接口后点击工具栏Tools→Block list)
- 触发该接口后,选择中止abort按钮,再检查是否达到预期效果
Charles设置弱网功能
我们的测试场景可能涉及到一些接口超时*s后会重新请求,或有的接口弱网下若请求失败,某些数据上报为空等场景,就需要设置弱网功能
开启方法:
- 工具栏选择Proxy→Throttle Settings,打开网络设置页面
2、勾选Enable Throttling,在Throttling preset中选择工具自身提供的一些默认网络配置
指定域名限制弱网
如果只想单独对某些域名限制网络,勾选Only for selected hosts,点击Add添加,填写对应域名及选择协议类型(或黏贴对应的接口URL过来),添加完成后,在对应的域名上勾选
如上,点击OK后,只对勾选的域名产生弱网效果,触发对应的接口后,即可看到设置的弱网效果,面板右侧切换到Chart可看到接口请求的响应时间
常设置的是Bandwidth(kbps)带宽,Utilisation(%)带宽可用率,
弱网参考文章:https://blog.csdn.net/qq_15283475/article/details/127760790
Charles工具常用功能相关推荐
- 抓包神器之Charles,常用功能都在这里了(转自https://blog.csdn.net/mxw2552261/article/details/78645118)...
我们在开发网站项目的时候,我们可以通过浏览器的debug模式来看request以及response的数据,那么如果我们开发移动端项目没有网页呢?如何抓取数据呢? 前几天有个做服务端的师弟跟我说他不用抓 ...
- 【Android 内存优化】Android Profiler 工具常用功能 ( 监测内存 | 内存快照 )
文章目录 一. 内存泄漏排查 ( Android Profiler 工具 ) 二. Android Profiler 内存监测相关功能 三.内存快照分析 内存泄漏原理 : 长生命周期对象 , 持有短生 ...
- whistle工具常用功能
whistle常见使用场景 1.捕获网络数据包 在浏览器或者手机端按照上一篇文件进行配置并下载好证书(whistle 抓包工具的安装与使用),然后进行网络请求相关操作,在PC端whistle配置页面中 ...
- charles常用功能使用说明
Charles 是常用的网络封包截取工具,在做移动开发时,为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析.Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求 ...
- Charles使用及常用功能介绍
Charles是一款常用的网络抓包工具,启动Charles后,会自动开启的浏览器代理进行网络请求截取,Charles和Fiddler基本功能差不多,只是Fiddler是免费的,但是没有MAC版,Cha ...
- 抓包工具charles中面板功能大致讲解
文章目录 前言 一.charles常用功能(面板字段) 二.响应和请求面板(字段解释) 总结 前言 使用charles中,遇见的不明白的地方,在这里总结一下. 一.charles常用功能(面板字段) ...
- 程序猿二三事之工具使用-Eclipse调试Java常用功能介绍
[ TOC ] 调试常用功能介绍 日常java开发中实际写代码的时间并不会很多,花在整理思路,代码重构,调试bug会占用很大部分时间. 熟练掌握调试工具,了解调试相关技巧,是java开发中减少调试时间 ...
- 基于 Openlayers 实现的地图常用功能工具集合
基于 Openlayers 实现的地图常用功能工具集合 地图工具介绍 使用示例 在项目开发中,经常会需要使用一些坐标做测试,或者手动标绘点线面,或者坐标转换等. 使用代码当然是可以做到的,但是有时候懒 ...
- Charles工具使用教程,以及注意事项。
Charles 的简介 如何安装 Charles 将 Charles 设置成系统代理 Charles 主界面介绍 过滤网络请求 截取 iPhone 上的网络封包 截取 Https 通讯信息 模拟慢速网 ...
最新文章
- 05年之前我的程序员生涯
- 大地震前有三个明显征兆:1.井水异常2.牲畜反应异常3.专家出来辟谣。但是细心网友指出,第三和第二重复了。...
- app 崩溃测试 (转:CSDN 我去热饭)
- 使用命令行加载 jMeter 自定义配置文件里的自定义 property
- linux的vi命令详解,Linux上Vi命令详解
- ip地址异常判定python_python检测异常ip,并查询ip详细信息
- NFS exports命令
- 框架对比_2020 年前端框架性能对比和评测
- kotlin泛型_Kotlin泛型
- MySQL主从复制--mysql-proxy实现MySQL-5.6读写分离
- 解决浏览器不能安装idm插件
- pandas处理df函数及plt绘图函数(作业总结笔记待补充...)
- java18.取球游戏,12种球类游戏,想怎么玩就怎么玩!
- Nginx 实现域名访问以及反向代理
- 【OpenGL】绘制四边形
- FinalShell Mac OS版安装
- 虚拟机中安装软路由RouterOS详解教程
- FFmpeg编译出来的库太大?试试这几招
- 统计函数耗费时间,简单的图像运算,定义感兴趣区域 第二章
- i++与++i是什么意思?