学习Charles能做什么:

能够用charles分析前后端问题

能够使用charles模拟弱网测试环境

能够使用charles断点构建异常的测试环境

Charles 简介

1.Charles是什么?

Charles 基于http协议的代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的。(代理服务器,跨平台)

2.Charles 工作原理是

3.Charles主要功能

  支持http和https代理

  支持流量控制

  支持接口并发请求

  支持重发网络请求

  支持断电调试

4.Charles的优点

  对比Fiddler

  charles 支持,windows,linux,MacOs,  Fiddler对windows

  charles 支持 按域名和接口查看报文,见解明了

  charles 支持反向代理

  charles 支持网络限速

  charles 支持解析AMF协议

Charles安装与配置

1.Charles安装

下载路径(官网): https://www.charlesproxy.com/download/

默认安装就好

 2.Charles激活码 :https://www.zzzmode.com/mytools/charles/

 激活码生成完毕并激活操作

安装完成!!! 

如果这时候查看带有https的报文,会看到都是乱码的情况(后面会讲)

 3.Charles组件介绍

 主导航栏介绍

4.Charles代理设置

 启动Charles代理服务(端口配置)

 5.Charles访问控制(控制哪个IP可以访问到我们Charles)

6.Charles(电脑客户端)代理设置

这里的作用 就是 将你电脑所有的请求都经过这个代理服务器, 如果你也想看别人电脑每天请求的报文,在同一个网络的情况下那就在别人电脑代理这个地方 填写你电脑的Ip加端口就好了。

总结:如果是本机电脑,默认已经给我们设置好了,  如果代理其他电脑要改成其他电脑的ip

7.Charles手机客户端设置

抓取手机应用中的报文信息(一定要再同一个wifi下)

ios手机代理设置

1 手机中选择 "设置" "无线局域网"

2 点击同一个wifi 名称

3 在http代理配置中选择 “手动”

4 输入服务器Ip地址及端口,点击“存储”

以下效果

IOS证书配置(重要)

在手机浏览器中输入 : http://charlesproxy.com/getssl 或者 https://www.charlesproxy.com/assets/legacy-ssl/charles.crt ,点击下载,然后就是(普通的证书信任设置操作)

证书安装好以后 在 设置 -> 通用 -> 关于本机 -> 证书信任设置  -> 完全信任

都配置好后,这个时候你访问 你手机里的百度 有可能会出现这个

 允许后访问,其实你会发现这一点其实就是上面 “ charles 访问控制”  说的,你再去看“ 访问控制” 中 这个页面 ,会发现 手机上的 iP 已经配置在里面了

 这时候,手机访问浏览器等信息,就可以在 charles 中抓取到报文信息了

https配置

如果在未安装该网站的ssl证书的情况,看到的是 unknown 和一堆乱码

windows证书安装

https 代理配置

1 在charles 窗口中点击菜单 “proxy” -> "SSL proxying setting"

2 在打开的窗口中勾选 “Enable SSL Proxying”

3 添加 locatIon  *:443

4 点击ok

再次查看 已成功解析https报文

Charles流量配置

可以模拟不同的网络环境,2g/3g/ 等

1菜单“proxy” -> "throttle setting"

2 在打开的窗口中 勾选 “Enable Throttling”

3 在 “Throttle preset” 下拉框中选择对应的网络类型

4 点击ok

使用完毕后 建议关掉 可能会影响正常网络使用

Charles断点设置

选中要打断点的请求,一定要右键选中 “Breakpoints”  ,然后再次发动请求

再次发送请求

点击 “Execute” 执行结束

 完!!!

Charles抓包工具详解的更多相关文章

  1. fillder 抓包工具详解

    一.安装详解 直接点击.exe可执行文件,一直下一步直到安装完成即可.打开主要为5个部分: 二.安装jmeter插件详解 三.工具详解 3.1:工具条:,可以给指定的请求添加备注信息,在导出后可以查看 ...

  2. Linux系统诊断必备技能之二:tcpdump抓包工具详解

    一.简述 TcpDump可以将网络中传送的数据包完全截获下来提供分析.它支持针对网络层.协议.主机.网络或端口的过滤,并提供and.or.not等逻辑语句来帮助你去掉无用的信息. Linux作为网络服 ...

  3. Fiddler 抓包工具详解

    Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获.重发.编辑.转存等操作.也可以用来检测网络安全.反正好处多多,举之不尽呀!当年学习的时候也蛮费劲,一些蛮实用隐藏的小功能 ...

  4. fiddler抓包工具详解

    转自:http://www.cnblogs.com/yyhh/p/5140852.html Fiddler 抓包工具总结   阅读目录 1. Fiddler 抓包简介 1). 字段说明 2). Sta ...

  5. Charles抓包实战详解

    访问我的博客 前言 通过上一篇文章,想必你已经掌握了如何正确安装抓包神器 Charles,如果还是抓不了包,可以再看看. 今天要做是抓包实战,因为我在做网络文学的公司就职,所以就拿网络文学的 APP ...

  6. fildder抓包工具详解

    fildder页面介绍名称和含义 名称 含义 # 抓取HTTP Request的顺序,从1开始,以此递增 Result HTTP状态码 Protocol 请求使用的协议,如HTTP/HTTPS/FTP ...

  7. fillder抓包工具详解

    https://www.cnblogs.com/yyhh/p/5140852.html

  8. 抓包工具:tcpdump抓包命令详解

    抓包工具:tcpdump抓包命令详解 简介: tcpdump全称:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以 ...

  9. Charles抓包工具使用

    Charles抓包工具使用和进行接口数据模拟 打开软件,选择Tools  >>  Map Local  >>  勾选enable  >>  add  >> ...

  10. Charles 抓包工具(新猿旺学习总结)

    Charles 抓包工具安装机操作 1.Charles 抓包工具是代理服务器工具,可以拦截数据,进行更改,返回数据,以实现前端后台的请求和响应数据的测试2.Charles 菜单介绍 Charles抓包 ...

随机推荐

  1. 东方CannonBall

    代码 #include<cstdio> using namespace std; const int N = 1e5; double fx[N + 5] , fy[N + 5] , g[N ...

  2. BI工具术语表大全:从字母A-Z全面收录

    谈到商业智能行业,变革是不可避免的.为了跟上步伐,各种各样的BI 解决方案正在快速迭代更新,以满足企业的数字化需求,那么市场上BI 工具种类繁杂,到底如何选择适合功能全面.满足自己企业运转情况的.合适 ...

  3. 代码随想录算法训练营day17 | leetcode ● 110.平衡二叉树 ● 257. 二叉树的所有路径 ● 404.左叶子之和

    LeetCode 110.平衡二叉树 分析1.0 求左子树高度和右子树高度,若高度差>1,则返回false,所以我递归了两遍 class Solution { public boolean is ...

  4. Docker 安装mysql8

    1.获取镜像 docker pull mysql:8 2.创建数据卷 必须创建数据卷,不然容器挂了数据就丢了 docker volume create mysql-data #创建docker vol ...

  5. 干货!超实用的 Linux 初始化脚本

    咸鱼今天给大家分享一个无论是学习还是工作中都很实用的 Linux 系统初始化脚本,其实就是各种命令的集合 完整代码在文章最后哦 定义相关变量   配置 yum 镜像源 获取阿里云 yum 镜像源 判断 ...

  6. linux 进程组和会话 守护进程

    这两个概念的产生,是为了shell更好的管理作业,管理其创建的子进程 对其进行暂停,终止 执行命令,命令之间有时还需要管道进行通信 进程组是进程的合集 会话是进程组的合集 一个会话共用一个控制终端,也 ...

  7. Mybatis-概览地图

    思考: "为什么在使用 Mybatis 的时候,只需定义一个接口,不用写实现类就能使用XML中或者注解上配置好的SQL语句,就能完成对数据库 CRUD 的操作呢?" 这是因为用到了 ...

  8. 多个module的verilog文件分割为多个文件

    python 分割含有多个module的verilog文件,按照module名来命名文件 import re # 读取 Verilog 文件 with open('test.v', 'r') as f ...

  9. Qt中的多窗体编程(续二)

    四.实现子窗体的按钮功能. 1.在显示时间的子窗体中,有两个默认的按钮,都还没有定义其功能,下面就来定义,无论单击哪个按钮,都将线束时钟显示的线程并关闭窗体. 2.在子窗体的可视化设计界面中,在窗体的 ...

  10. Solidity8.0-03

    对应崔棉大师 41-50课程https://www.bilibili.com/video/BV1yS4y1N7yu/?spm_id_from=333.788&vd_source=c81b130 ...