一、介绍


Charles 属于抓包软件

Charles 多平台支持,mac、windows、linux。

Charles 是收费软件,可以免费试用 30 天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。

 二、原理


 三、基础功能


 1、主界面

层级关系:session -> request

request 分为两种展示方式:

  1. Structure 视图将网络请求按访问的域名分类。
  2. Sequence 视图将网络请求按访问的时间排序。

 2、抓包电脑

记得把 proxy -> Recording 打开。

 3、抓包手机

以我的 三星 s9 手机为例:

1、针对电脑端的 CA 证书:

Mac 上,打开 Help -> Install Charles SSL Certificate...,会弹出 Keychain Access 窗口,找到 Charles Proxy SSL Proxying 这个CA证书,然后双击

2、针对手机端的 CA 证书:

Android 上,先配好代理(如下图)。

坑:

三星手机不能在已经连好的网络上点高级然后添加代理,而是要忘记网络,然后在初始化连接的时候输入代理设置。

然后,在手机浏览器上打开chls.pro/ssl,信任 Charles 的 CA 证书。

我的手机登入 chls.pro/ssl 后提示我:

但是我却能成功抓包,https 的也能抓到,不知道为什么(所以我暂时忽略了这一步)。

 四、高级功能


1、过滤请求

2、编辑请求 + 重发(支持高级重发:可做压力测试)

3、模拟慢速网络:Throttle 功能

4、修改服务器返回内容

  • Map 功能适合长期地将某一些请求重定向到另一个网络地址或本地文件。

  • Rewrite 功能适合对网络请求进行一些正则替换。

  • Breakpoints 功能适合做一些临时性的修改。

5、反向代理

 五、坑


1、mac 上抓包时好时坏,不知道为什么

原因:是因为我 mac 上使用了 shadowsocks 软件的问题。
解决方案:必须 退出 shadowsocks (注意,仅关闭不退出是没用的)。如果没生效,重启下 Charles 即可。

2、监控手机时抓不到微信朋友圈的请求,不知道为什么

原因:待解决

 参考文章


Charles 从入门到精通

Charles 使用笔记的更多相关文章

  1. Charles 学习笔记

    之前接触过抓包工具Fiddler,一直在Windows下使用,感觉还是挺好用的.今天接触了Charles才有了了解,首先Charles设计的比较美丽,而且页面布局也是简单易学的,但这两款抓包工具本质的 ...

  2. Charles使用笔记

    Charles本身其实是一款十分强大且易用的代理软件,最近用的比较多,大致整理了一下自己用到的一些东西.   Charles的主要作用 1.查看网络请求,手动分析数据 2.代理接口,模拟数据      ...

  3. Charles使用笔记001

    一.抓电脑的请求 Proxy-->勾选Windows Proxy 二.Charles 拦截原理 三.Charles 拦截修改数据 选择一个链接-->右键-->勾选Breakpoint ...

  4. Charles应用指南--安装与代理篇

    Charles是开发测试过程中十分常用的一款代理软件,之前也写了一点基本使用.最近有新同事入职头一次用这个,就写了这么一份基本的安装和配置笔记. Charles 下载地址 mac:链接: https: ...

  5. 【Python学习笔记】Coursera课程《Using Python to Access Web Data 》 密歇根大学 Charles Severance——Week2 Regular Expressions课堂笔记

    Coursera课程<Using Python to Access Web Data > 密歇根大学 Charles Severance Week2 Regular Expressions ...

  6. 【Python学习笔记】Coursera课程《Python Data Structures》 密歇根大学 Charles Severance——Week6 Tuple课堂笔记

    Coursera课程<Python Data Structures> 密歇根大学 Charles Severance Week6 Tuple 10 Tuples 10.1 Tuples A ...

  7. Charles 笔记

    一. Charles工作原理 本质就是一个http抓包分析工具,在工作的时候将charles设置成代理服务器,所有网络请求都会经过Charles,这样就实现了网络封包的截取和分析. 主要功能 截取ht ...

  8. 【Python学习笔记】Coursera课程《Using Databases with Python》 密歇根大学 Charles Severance——Week4 Many-to-Many Relationships in SQL课堂笔记

    Coursera课程<Using Databases with Python> 密歇根大学 Week4 Many-to-Many Relationships in SQL 15.8 Man ...

  9. 【Python学习笔记】Coursera课程《Using Python to Access Web Data》 密歇根大学 Charles Severance——Week6 JSON and the REST Architecture课堂笔记

    Coursera课程<Using Python to Access Web Data> 密歇根大学 Week6 JSON and the REST Architecture 13.5 Ja ...

随机推荐

  1. Java_输入整数求阶乘

    import java.util.Scanner;public class Work4{ public static void main(String[] args){ // 创建Scanner对象 ...

  2. 利用用阿里云API实现DDNS

    前言 之前动态域名解析是用的是腾达路由器上集成的第三方动态解析服务花生壳,解析费用一年40元.后来觉得域名前缀不好,想换掉,花生壳需要重新购买新的域名解析费用,增加1条或者2条动态解析无所谓,万一以后 ...

  3. js中正则表达式的易错点

    文章目录 1. 匹配符部分匹配规则 2. 分组匹配规则: 3. 注意^的不同用法 4. 不要忘记转义 5. 正则表达式对象中lastIndex属性 6. exec VS match 1. 匹配符部分匹 ...

  4. 记录AJAX充电点点滴滴

    首先要明白什么是 AJAX ? AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更 ...

  5. MySQL集群高可用

    目录 MySQL高可用 Galera Cluster Galera Cluster Galera Cluster特点 Galera Cluster 缺点 Galera Cluster工作过程 Gale ...

  6. i2c_msg 标志位 - repeat-start

    i2c_msg标志位      路径:linux-2.6.38/include/linux/i2c.h I2C_M_IGNORE_NAK: 设置这个标志意味当前i2c_msg忽略I2C器件的ack和n ...

  7. Linux_crontab参数表示的意思

    *       *      *       *      * (下面的字体对应) 分     时    日    月    周 星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满 ...

  8. 理解OAuth2

    目录 理解OAuth2 Oatuh2用来做什么 Oauth2具体做法 Oauth2的流程 授权码模式 第三方引导用户跳转至认证服务器的授权页面 用户选择是否给予授权 认证服务器生成code并且让用户重 ...

  9. ESP32的NVS使用指南

    NVS总的来说,就是非易失性存储,类似MCU EEPROM,但实际上调用ESP32这些函数,数据是存储在FLASH中的. 它的管理方式类似数据库的表,在NVS里面可以存储很多个不同的表,每个表下面有不 ...

  10. 【Leetcode 做题学算法周刊】第五期

    首发于微信公众号<前端成长记>,写于 2019.12.06 背景 本文记录刷题过程中的整个思考过程,以供参考.主要内容涵盖: 题目分析设想 编写代码验证 查阅他人解法 思考总结 目录 10 ...