Charles抓包工具实战教程(每晚持续更新中,预计9.17日更新完)
Posted 社畜阿藏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Charles抓包工具实战教程(每晚持续更新中,预计9.17日更新完)相关的知识,希望对你有一定的参考价值。
Charles抓包工具测试实战教程
学习准备
- 有功能测试经验
- 需求
- 测试用例
- 测试工具
- 测试方法
- 熟悉接口测试
- 接口概念
- 接口测试
目标
- 能够用Charles来分析前后端的问题
- 能够用Charles模拟弱网测试环境(弱网:网络不好的情况,或者实现2g,3g情况)
- 能使用Charles的断点构建一场的测试场景(针对特殊测试场景,通过修改请求参数以及修改返回参数)
文章介绍
- Charles介绍
- Charles安装和配置
- Charles实战
Charles介绍
Charles是什么?
Charles中文名叫青花瓷是一个基于http协议的代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的
特点:跨平台,半免费
Charles工作原理?
- 前置步骤:
- 需要运行Charles并配置代理
- 在客户端上面需要配置代理
- 步骤
- 有客户端发送请求
- Charles接收再发送给服务器
- 服务端返回请求结果给Charles
- 由Charles转发给客户端
Charles能做什么?
- 支持HTTP及HTTPS代理
- 支持流量控制
- 支持接口并发请求
- 支持重发网络请求
- 支持断点调试
Charles简介
对比fiddler
- Charles能够支持Linux, MacOs
- Charles支持按域名和按接口查看报文,简洁明了
- Charles支持反向代理
- Charles网络限速可选择网络类型
- Charles可以解析AMF协议
Charles安装和配置
下载地址:https://www.charlesproxy.com/
安装过程不难,要是那装不明白的话,多下载几遍qq或者微信然后安装一下就可以举一反三了
Charles组件介绍
Charles主导航栏介绍
-
清除请求数据
-
开始/取消抓包
-
开/关ssl代理
-
开启/关闭慢速网络
-
开启/关闭断点设置
-
请求数据
-
重新发送请求
-
校验返回的请求
-
工具
-
设置
Charles代理配置
- 首先Proxy > Proxy Settings* 点开之后默认的端口号会是8888,这里我们不做修改,但工作中如果有不同端口的话需要及时进行调整
Charles访问控制
-
首先点开Proxy > Access Control Settings
-
点开后
这里讲解一下点击add会让你添加ip这个ip只的就是你使用设备代理到抓包电脑的的ip,一般来讲就是你需要被抓包的设备的ip
当然我这里所填写的192.168.100.1就是我需要被抓包的设备ip,这里一般情况下需要保证被抓包设备已经是和您抓包的设备在同一网络内或者在您抓包设备的子网中,这里如果有不明白的话,可以去打字的看一下计算机网络相关知识.
我们在上上图中会发现这样一行字,大致的意思就是
- 当你勾选之后您的抓包设备配置了对应的代理网络ip和端口可以对应您抓包设备的ip和您之前在proxy settings中配置的端口相同时,他会向您询问是否将新的被抓包设备ip加入到ip range中
- 如果您不勾选的话那么,如果您不手动添加ip的话,那么是没有办法直接允许使用代理网络的
-
当配置完对应的是没办法马上就可以进行抓包的这时候我们要进行下面的操作设置对应系统的代理才可以进行有效合理的抓包
windows代理设置
-
在对应的浏览器中进入设置,这里推荐使用chrome,在地址栏中输入
chrome://settings/
这个地址仅限于chrome浏览器
-
在搜索框中输入“代理”
-
点击“打开您计算机的代理设备”
-
在手动设置代理中开启代理
-
在地址输入框中输入您抓包设备的IP地址以及端口
-
点击“保存”,关闭页面
注意⚠️: 如果您的抓包设备和您被抓包的设备是同一台的win电脑的时候默认情况下,charles会默认配置好的,但是如果不是同一台win的话那么就需要一以上的操作
mac代理设置
待更新(9.14)
mac快捷代理设置
待更新(9.14)
ios代理设置
-
首先打开设置
-
然后打开wifi(一般情况下是wifi除非您使用了usb或者蓝牙共享网络,这种骚操作暂时不讨论)
-
接下来点击已经链接上的wifi后面的小感叹号
-
拉到最下面点击 : HTTP代理>配置代理 > 选择手动然后在下方填写,您Charles运行的设备的ip以及您proxy setting中的端口号
-
完活!
andriods代理设置
待更新手里没有安卓手机暂时f*ck(9.14)
Charles实战!!!
抓包问题分析
- 前端?
- 后端?
模拟具体实战问题:
假如在某一个系统中进行了点击某个按钮后返回以下两种提示信息:
- 数据异常
- 弹出两次数据异常
实施的具体步骤首先: Charles代理配置>客户端代理配置>操作客户端软件>分析请求数据
使用抓包工具,根据请求数据来判断是否为前端还是后端问题…此处详解等待本周休息日我写一个模拟案例之后截图进行讲解(9.16日之前)
https抓包
-
首先判断Charles是否可以进行https抓包
-
我们打开https://azang.blog.csdn.net
-
这里说明我们是可以抓到https的报文的,但是因为「粗浅的解释:HTTP是超文本传输协议,信息是明文传输,HTTPS是具有安全性的SSL加密传输协议,所以HTTPS被报文被进行了加密」,所以对于Charles需要进行的一定的配置. 这里的解决方案就是安装SSL证书
—未完待续
-
以上是关于Charles抓包工具实战教程(每晚持续更新中,预计9.17日更新完)的主要内容,如果未能解决你的问题,请参考以下文章