一、介绍


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_计算1-100的和,奇数和

    public class Work1{ public static void main(String[] args){ // 定义和并赋值 int sum = 0; for(int i = 1;i & ...

  2. 解密国内BAT等大厂前端技术体系-携程篇(长文建议收藏)

    1 引言 为了了解当前前端的发展趋势,让我们从国内各大互联网大厂开始,了解他们的最新动态和未来规划.这是解密大厂前端技术体系的第四篇,前三篇已经讲述了阿里.腾讯.百度在前端技术这几年的技术发展. 这一 ...

  3. 可编程逻辑(FPGA)与硬核处理器(HPS)之间互联的结构

    本周我想进一步探究可编程逻辑(FPGA)与硬核处理器(HPS)之间互联的结构.我发现了三种主要方式,它们是如何映射并处理通信的,哪些组件需要管控时序并且有访问权限. AXI Bridge 为了能够实现 ...

  4. spf13-vim 显示neocomplete requires ...th Lua support

    安装spf13-vim的时候下载了许多插件,neocomplete应该是比较重要的一个,毕竟自动补全.但是在使用时却一直有:neocomplete requires ...th Lua support ...

  5. 《Java练习题》Java编程题合集(全)

    前言:不仅仅要实现,更要提升性能,精益求精,用尽量少的时间复杂度和空间复杂度解决问题. 初学者: <Java练习题>习题集一   https://www.cnblogs.com/jssj/ ...

  6. CreateDefaultBuilder方法都做了什么?

    当我们创建好一个新的ASP.NET Core Web应用时,系统会使用CreateDefaultBuilder方法,这个方法完成了以下操作: use Kestrel as the web server ...

  7. Stm32使用串口空闲中断,基于队列来接收不定长、不定时数据

    串口持续地接收不定长.不定时的数据,把每一帧数据缓存下来且灵活地利用内存空间,下面提供一种方式供参考.原理是利用串口空闲中断和DMA,每当对方发来一帧完整的数据后,串口接收开始空闲,触发中断,在中断处 ...

  8. 大数据理论篇 - 通俗易懂,揭秘谷歌《The Dataflow Model》的核心思想(一)

    目录 前言 目标 核心的设计原则 通用的数据处理流程 切合实际的解决方案 总结 延伸阅读 最后 作者:justmine 头条号:大数据达摩院 创作不易,未经授权,禁止转载,否则保留追究法律责任的权利. ...

  9. System.out.println高并发下导致应用暂停

    今天在进行序列号压测的时候,通过调用genSeqId方法来获取序列号,100并发,16台压测机器,发现无论怎么压测,调用量达到140w左右的时候,此方法的ops直接掉到了0,具体图示如下: 从上图可以 ...

  10. python爬虫学习心得:中国大学排名(附代码)

    今天下午花时间学习了python爬虫的中国大学排名实例,颇有心得,于是在博客园与各位分享 首先直接搬代码: import requests from bs4 import BeautifulSoup ...