charles工具的使用
charles工具使用
charles除了之前介绍过模拟弱网的功能外,还有很多强大的功能。最近客户端测试用到的功能介绍如下:
一.准备工作
1.手机设置代理
charles设置代理端口号8888:Proxy→ Proxy Settings

手机设置代理,连接wifi,点开设置http代理,选择手动,服务器填写charles所在本机的ip地址,端口号8888

2.SSL代理设置,允许抓取https协议
Proxy→SSL Proxying Settings→勾取Enable SSL Proxying→add→添加想要抓取的域名和端口号,以抓取阿波罗app数据为例

二.拦截某个软件的接口数据
手机代理到电脑,charles会出现弹窗,询问allow还是deny,选择allow,连接成功。
通常情况下,我们需要对网络请求进行过滤,只监控向指定目录服务器上发送的请求。
在Charles的菜单栏选择"Proxy"->"Recording Settings",然后选择Include栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了。如下图截取阿波罗app数据:

如果只测试一个功能的情况下,可以只截取单个接口,例如测试阿波罗首页广告,只需截取splash接口,添加并勾选。

勾选Proxy →Start Recording,开启抓取记录,可以在charles界面看到你所过滤的网络请求,以阿波罗app为例:

Charles主要提供2种查看封包的视图,分别名为“Structure”和"Sequence"。
- Structure视图将网络请求按访问的域名分类。
- Sequence视图将网络请求按访问的时间排序。
大家可以根据具体的需要在这两种视图之前来回切换。
对于某一个具体的网络请求,你可以查看其详细的请求内容和响应内容。如果响应内容是JSON格式的,那么Charles可以自动帮你将JSON内容格式化,方便你查看。
三.更改返回数据来测试各种情况
1.强大的mapping功能
a.Map Local
可以将远程的某个文件代理到本地文件,进行调试。使用方法如下:
Tools→Map Local→勾选Enable Map Local→Add→填入需要映射本地文件的协议,主机地址,端口号

本地文件可以是自己造的测试数据,也可以是接口返回的数据保存到本地再进行修改,只需先将接口返回数据进行保存到本地:点击某接口response,右击save response。
b.Map Remote
Map Remote的功能原理和Map Local的原理相同,都是替换请求,只不过Map Local替换的请求为本地文件,而Map Remote替换的请求为线上请求。
使用方法:Tools→Map Remote→勾选Enable Map Remote→Add→填入需要替换请求的协议,主机地址,端口号。

如图,splash接口映射到entry接口,splash接口访问的是entry接口的数据。
2.断点功能
我们可以通过使用断点功能来篡改请求的数据或者返回的数据,达到模拟的效果,已测试阿波罗app为例方法如下:
类似于mapping,我们可以针对接口右键选择"BreakPoints",这样这个接口就被加入到断点状态了

需要进一步修改断点的属性,可以在菜单栏"Proxy"–>"Breakpoints Settings"里进行添加删除或者修改,配置方式和mapping雷同,并且可以选择这个断点是在request还是response,还是两者都要。

这个时候再刷新app界面,会直接跳转到断点模版,这个时候你可以在对应状态情况下修改request或者response,然后点击下方按钮“Execute”。
跳转到断点界面,先点击下方执行按钮“Execute”。

然后点开Edit Response界面,选择JSON格式,格式清晰,方便修改,直接在上面进行数据修改,改成你想要测试的数据,然后点击执行按钮

再次刷新app界面,然后app返回的是新改的数据,根据返回数据测试客户端显示是否正确。
不断更新。。。
charles工具的使用的更多相关文章
- charles工具抓包教程(http跟https)
1.下载charles 可以去charles官网下载,下载地址:http://www.charlesproxy.com/download/ 根据自己的操作系统下载对应的版本,然后进行安装,然后打 ...
- 【已采纳】charles工具使用心得
1.下载charles 可以去charles官网下载,下载地址:http://www.charlesproxy.com/download/ 根据自己的操作系统下载对应的版本,然后进行安装,然后打 ...
- 抓包(Charles工具入门)
一.charles工具简单使用 1.录制操作 录制请求.清空录制请求: 两种展示请求的视图方式: 2.录制请求的简单分析 (1)请求的总览页面Overview:可查看请求路径.请求方式.请求时间等有关 ...
- Windows环境中,通过Charles工具,抓取安卓手机、苹果手机中APP应用的http、https请求包信息
Windows环境中,通过Charles工具,抓取安卓手机.苹果手机中APP应用的http.https请求包信息1.抓取安卓手机中APP应用的http请求包信息1)在电脑上操作,查看Windows机器 ...
- charles 工具菜单总结
本文参考:charles 工具菜单总结 主要是下面的功能,具体可以点击对应菜单查看 工具菜单总结 禁用缓存 禁用Cookies 远程映射到URL地址 映射到本地 重写工具 黑名单 白名单 DNS欺骗 ...
- charles工具教程
本文的内容主要包括: Charles 的简介 如何安装 Charles 将 Charles 设置成系统代理 Charles 主界面介绍 过滤网络请求 截取 iPhone 上的网络封包 截取 Https ...
- charles工具过滤腾讯视频播放器广告
Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当程序连接Charles的代理访问互联网时,Charles可以监控这个程序发送和接收的所有数据.它允许一个开发者查看所有连接互联 ...
- charles工具页面介绍
charles的主页面介绍 手机连上代理之后,每在手机上进行操作我们便会在charles上接收到请求.此时的charles页面将会变成如下密密麻麻的内容,故这节课我们来讲解一下Charles的主页面 ...
- Charles工具内存不足时解决办法
Charles runs out of memory After recording for a while Charles will run low on available memory. To ...
随机推荐
- [leetCode][016] Add Two Numbers
[题目]: You are given two linked lists representing two non-negative numbers. The digits are stored in ...
- NSMutableArray 存放BOOL
注意BOOL是不能直接存放在NSMutableArray中的 NSNumber* yesObj = [NSNumber numberWithBool:YES]; NSMutableArray* arr ...
- 洛谷 P1541 乌龟棋 Label:O(n^4)的dp
题目背景 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物. 题目描述 乌龟棋的棋盘是一行N个格子,每个格子上一个分数(非负整数).棋盘第1格是唯一的起点,第N格是终点,游戏要求玩家控制一个乌龟棋子从起 ...
- 【BZOJ】1269: [AHOI2006]文本编辑器editor(Splay)
http://www.lydsy.com/JudgeOnline/problem.php?id=1269 这题RE2次啊,好不爽啊,我一直以为是splay的问题,其实是数组开小了......(我老犯这 ...
- 使用mybatis执行oracle存储过程
存储过程在小公司用的不多,但是如果业务比较复杂或者性能要求比较苛刻的时候存储过程就派上用场了,ibatis的前期的一些版本貌似不支持存储过程因此我选择了mybatis来做实验. 1.无输入和输出参数的 ...
- MS10048依旧是Windows 2003 x86 的杀器
今天搞了个wow的游戏论坛,服务器环境是win03 x86+iis6.0+php+mysql. 提权的时候各种无奈,mysql无权限,而且没root,试了几个别的方法都不行,实在没办法的时候,用MS1 ...
- MySQL 服务器的加快运行速度有哪些方法?
关于 MySQL 调优 有 3 种方法可以加快 MySQL 服务器的运行速度,效率从低到高依次为: 替换有问题的硬件.对 MySQL 进程的设置进行调优. 对查询进行优化. 替换有问题的硬件通常是我们 ...
- HDU 1698 Just a Hook(线段树区间替换)
Just a Hook Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- ProtocalBuffers学习记录
Google Protocol Buffer 的使用和原理 Google Protocol Buffers 概述 Google Protocol Buffers 入门 Protocol Buffers ...
- DS实验题 Old_Driver UnionFindSet结构 指针实现邻接表存储
题目见前文:DS实验题 Old_Driver UnionFindSet结构 这里使用邻接表存储敌人之间的关系,邻接表用指针实现: // // main.cpp // Old_Driver3 // // ...