背景:Charles工具常用功能使用

前提条件:使用抓包功能确保手机和电脑处于同一个局域网

http抓包:

忽略(和抓取https步骤重复,忽略..)

https协议抓包(操作以Charles 4.5.6示例)

背景:https抓包设置也有很多文章写了,但有些写得不是很全,同事教我常用的一些功能就先记录下来了,

备注:需要抓取https协议,电脑端与手机端都需要安装证书,如果未安装,抓包时,请求接口会显示unknow,操作如下:

电脑端设置

安装证书(win10示例)

  1. 打开charles工具,charles,help-> ssl proxying-> install charles root certifica
  2. 跟着向导指引一步步安装即可,最后一步提示“导入成功”

Charles工具设置

  1. Charles工具切换到Proxy→SSL Proxying Settings→SSL Proxying→Include选项点击“Add”,
  2. Host及 Port都添加:*→ok→勾选”Enable SSL Proxying”,使其生效(都配置*代表匹配所有接口与端口)

Ios端设置(iPhone X 12示例)

设置代理

  1. 手机端进入系统设置页面→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次重试机制,

开启方法:

  1. 选择要连接的接口右键执行Block list, (or 选择接口后点击工具栏Tools→Block list)
  2. 触发该接口后,选择中止abort按钮,再检查是否达到预期效果

Charles设置弱网功能

我们的测试场景可能涉及到一些接口超时*s后会重新请求,或有的接口弱网下若请求失败,某些数据上报为空等场景,就需要设置弱网功能

开启方法:

  1. 工具栏选择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工具常用功能相关推荐

  1. 抓包神器之Charles,常用功能都在这里了(转自https://blog.csdn.net/mxw2552261/article/details/78645118)...

    我们在开发网站项目的时候,我们可以通过浏览器的debug模式来看request以及response的数据,那么如果我们开发移动端项目没有网页呢?如何抓取数据呢? 前几天有个做服务端的师弟跟我说他不用抓 ...

  2. 【Android 内存优化】Android Profiler 工具常用功能 ( 监测内存 | 内存快照 )

    文章目录 一. 内存泄漏排查 ( Android Profiler 工具 ) 二. Android Profiler 内存监测相关功能 三.内存快照分析 内存泄漏原理 : 长生命周期对象 , 持有短生 ...

  3. whistle工具常用功能

    whistle常见使用场景 1.捕获网络数据包 在浏览器或者手机端按照上一篇文件进行配置并下载好证书(whistle 抓包工具的安装与使用),然后进行网络请求相关操作,在PC端whistle配置页面中 ...

  4. charles常用功能使用说明

    Charles 是常用的网络封包截取工具,在做移动开发时,为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析.Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求 ...

  5. Charles使用及常用功能介绍

    Charles是一款常用的网络抓包工具,启动Charles后,会自动开启的浏览器代理进行网络请求截取,Charles和Fiddler基本功能差不多,只是Fiddler是免费的,但是没有MAC版,Cha ...

  6. 抓包工具charles中面板功能大致讲解

    文章目录 前言 一.charles常用功能(面板字段) 二.响应和请求面板(字段解释) 总结 前言 使用charles中,遇见的不明白的地方,在这里总结一下. 一.charles常用功能(面板字段) ...

  7. 程序猿二三事之工具使用-Eclipse调试Java常用功能介绍

    [ TOC ] 调试常用功能介绍 日常java开发中实际写代码的时间并不会很多,花在整理思路,代码重构,调试bug会占用很大部分时间. 熟练掌握调试工具,了解调试相关技巧,是java开发中减少调试时间 ...

  8. 基于 Openlayers 实现的地图常用功能工具集合

    基于 Openlayers 实现的地图常用功能工具集合 地图工具介绍 使用示例 在项目开发中,经常会需要使用一些坐标做测试,或者手动标绘点线面,或者坐标转换等. 使用代码当然是可以做到的,但是有时候懒 ...

  9. Charles工具使用教程,以及注意事项。

    Charles 的简介 如何安装 Charles 将 Charles 设置成系统代理 Charles 主界面介绍 过滤网络请求 截取 iPhone 上的网络封包 截取 Https 通讯信息 模拟慢速网 ...

最新文章

  1. 05年之前我的程序员生涯
  2. 大地震前有三个明显征兆:1.井水异常2.牲畜反应异常3.专家出来辟谣。但是细心网友指出,第三和第二重复了。...
  3. app 崩溃测试 (转:CSDN 我去热饭)
  4. 使用命令行加载 jMeter 自定义配置文件里的自定义 property
  5. linux的vi命令详解,Linux上Vi命令详解
  6. ip地址异常判定python_python检测异常ip,并查询ip详细信息
  7. NFS exports命令
  8. 框架对比_2020 年前端框架性能对比和评测
  9. kotlin泛型_Kotlin泛型
  10. MySQL主从复制--mysql-proxy实现MySQL-5.6读写分离
  11. 解决浏览器不能安装idm插件
  12. pandas处理df函数及plt绘图函数(作业总结笔记待补充...)
  13. java18.取球游戏,12种球类游戏,想怎么玩就怎么玩!
  14. Nginx 实现域名访问以及反向代理
  15. 【OpenGL】绘制四边形
  16. FinalShell Mac OS版安装
  17. 虚拟机中安装软路由RouterOS详解教程
  18. FFmpeg编译出来的库太大?试试这几招
  19. 统计函数耗费时间,简单的图像运算,定义感兴趣区域 第二章
  20. i++与++i是什么意思?

热门文章

  1. Sklearn标准化和归一化方法汇总(2):Min-Max归一化
  2. Django的下载与安装
  3. 谷粒商城11——认证服务、短信验证、Gitee-OAuth 社交登录、分布式session
  4. Acrel-2000Z电力监控系统在某区块页岩气地面集输工程中的应用分析
  5. UA PHYS515A 电磁理论IV 时变电磁场理论3 电磁场的能量守恒
  6. Origin绘图教程(一)
  7. DOS下常用BAT(cmd)命令
  8. 区块链如何提高支付安全性
  9. NOIp2014 题解
  10. 微信开发者导入微信小程序项目