本文介绍 charles 教程 - 代理抓包的使用方法

本文参考了:阿西河Charles教程

Charles是一个HTTP代理/ HTTP监视器/反向代理,使开发人员能够查看其机器和Internet之间的所有HTTP和SSL / HTTPS流量。这包括请求,响应和HTTP标头(包含cookie和缓存信息)

Charles 是在 Mac 下常用的网络封包截取工具,在做 移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。

Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。

除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles 还可以分析 Https 协议

如果您是您一次使用Charles

可能对下面的感兴趣。

  • Charles破解版免费下载和安装教程
  • Charles手机抓包设置
  • Charles的https抓包方法及原理/下载ssl/http证书

如果您已经正在使用Charles

可能感兴趣下面的工具

  • Charles禁止缓存工具
  • Charles禁用cookies工具
  • Charles远程映射工具
  • Charles本地映射工具
  • Charles镜像工具
  • Charles重写工具
  • Charles的black list 和 white list工具
  • CharlesDNS欺骗工具
  • Charles自动储存工具
  • Charles客户端进程工具
  • Charles撰写工具
  • Charles重复发包工具
  • Charles验证工具
  • Charles Publish Gist 工具

如果您想了解顶部菜单栏

可以看下面的

  • Charles View 视图菜单介绍
  • Charles的window和help菜单
  • Charles的Edit菜单介绍
  • Charles的proxy菜单介绍

Charles 相关

如果您有前端测试的需求,推荐 SwitchHosts这个小工具,当然您如果对chrome浏览器的在线改host感兴趣,也可以用下 Host Switch Plus

Charles和windows下的Fiddler都是同性质的代理抓包工具

Chrome DevTool 不能满足所有调试

正常情况下,Chrome DevTool已经满足了日常web开发的需求,但是有的特性:编辑request的参数、重定向request请求的资源、编辑response的数据,ChromeDevTool就很蛋疼了,而且查看和调试移动端资源时候Chrome也并不好用;

我常借用Charles做这些事情

  • 抓取 Http 和 Https 的请求和响应,抓包是最常用的了。
  • 重发网络请求,方便后端调试,复杂和特殊情况下的一件重发还是非常爽的(捕获的记录,直接repeat就可以了,如果想修改还可以修改)。
  • 修改网络请求参数(客户端向服务器发送的时候,可以修改后再转发出去)。
  • 网络请求的截获和动态修改。
  • 支持模拟慢速网络,主要是模仿手机上的2G/3G/4G的访问流程。
  • 支持本地映射和远程映射,比如你可以把线上资源映射到本地某个文件夹下,这样可以方面的处理一些特殊情况下的bug和线上调试(网络的css,js等资源用的是本地代码,这些你可以本地随便修改,数据之类的都是线上的环境,方面在线调试);
  • 可以抓手机端访问的资源(如果是配置HOST的环境,手机可以借用host配置进入测试环境)

charles相当于一个插在服务器和客户端之间的“过滤器”;

当客户端向服务器发起请求的时候,先到charles进行过滤,然后charles在把最终的数据发送给服务器;

注意:此时charles发给服务器的数据,不一定是客户端请求的数据;charles在接到客户端的请求时可以自由的修改数据,甚至可以直接Block客户端发的请求;

服务器接收请求后的返回数据,也会先到charles,经过charles过滤后再发给客户端;

同理:客户端接收的数据,不一定就是服务器返回的数据,而是charles给的数据;

正因为上面的原理,所以charles能实现的功能,对前端开发者来说非常有吸引力,相当于请求和响应都可控的,而且charles为了控制更加方面,提供很多简洁的操作;

注意Charles是收费软件,可以免费试用30天的时间,推荐使用正版,研究学习可以看下 charles破解版免费下载和安装教程(我个人用的是charles4.1.2这个版本,现在用V4.2.28了);

注意问题

如果想要抓包,第一件事情,就是把charles设置成为本机和服务端之间的”过滤器”;

让所有的网络请求全部经过charles,这样就可以捕获并记录到你请求的内容和返回数据了,原理请参照上面那张图片;需要注意的是,如果你访问的是web,可以把所有请求抓到;

但如果你想抓某些应用(比如手机上的应用等),应用使用的某些资源,如果没有向服务器发送请求,而是通过调用内部资源的方式进行展现,那么此时charles是抓不到的;验证这个的方式很简单,就是把网络断掉后,如果还可以继续展现,就是属于调用内部资源的,这种时候就不要想着通过抓包工具来捕获资源了,他都没有像服务器发起请求,手机点烂也抓不到的;

第一次启动 Charles

启动 Charles 后,第一次 Charles 会询问你是否把Charles设置为系统的代理,如果此时你忽略了这个询问敞口,你可以在后期设置的;将 Charles 设置成系统代理:选择菜单中的 “Proxy” -> “Mac OS X Proxy/windows proxy” 来将 Charles 设置成系统代理,参考如下,如果Mac下有管理密码,需要输入密码后方可进行;

本文参考:https://www.axihe.com/

Charles 使用教程相关推荐

  1. 抓包工具 Charles使用教程---抓取接口数据

    1.抓包工具 Charles下载地址:https://xclient.info/s/charles.html#versions 2.使用教程:https://www.jianshu.com/p/fc2 ...

  2. 【测试】 抓包工具 Charles 使用教程

    文章目录 简介 Charles 实现原理 安装Charles Charles 主界面 Charles 抓包教程 PC端抓包 移动端抓包 HTTPS 抓包 Charles 常用功能 重复请求 模拟弱网 ...

  3. iOS Charles Proxy 教程

    原文:Charles Proxy Tutorial for iOS 作者:Aaron Douglas 译者:kmyhy 有时不得不承认--我们曾经写过一些代码,它们不正确,但我们又无法调试.更麻烦的是 ...

  4. 抓包工具 Charles使用教程

    1.抓包工具 Charles Charles下载地址 转载:使用教程 参考文献: Charles使用教程及Https乱码解决 Charles手机安装证书 Charles官网 我们先开宗明义,把问题解决 ...

  5. charles安装教程--以及针对安装证书后https<unknown>爬坑

    一.安装教程(如果是爬坑https<unknown>可以往下翻到底部) 1.官网下载了charles 选好盘符进行安装 安装后打开 界面如下 2.功能介绍 (1)清空所有请求 (2)开始/ ...

  6. 【idm】idm突破cookie封锁 (解决http:1.1 403 forbidden)(附charles使用教程)

    文章目录 一.问题 二.解决方法 (1)在chrome中获得cookies (2)安装配置charles 三.另外的方法 参考 idm的使用教程参考: 一.问题 使用idm下载文件出现如下问题: 测试 ...

  7. mac charles 安装教程、使用教程

    安装教程 1.mac版本的charles安装包下载 mac最新版本charles安装包dmg-其它文档类资源-CSDN下载 2.安装charles证书并进信任 mac上下载并安装证书 Help-> ...

  8. Charles入门教程

    Charles 中国特惠 Charles 正版五折优惠活动(限时:2015 年 11 月 14 日 – 30 日),仅限中国区购买,点击购买.在活动期结束后,价格将从 169 元上涨到 199 元. ...

  9. 抓包神器 Charles 使用教程详解

    目录 安装 配置 核心功能 Charles 设置 过滤网络请求 分析 HTTPS 包 模拟弱网 Mock 数据 安装 1.官网:https://www.charlesproxy.com/downloa ...

  10. Android抓包Charles入门教程

    Android抓包工具有很多,有轻量的如httpCanary直接安装在手机上通过代理进行抓包,有功能强大的WireShark PC 端的抓包工具(也要设置代理啦),还有老牌抓包工具Finder和Cha ...

最新文章

  1. python字符串操作
  2. python树莓派编程_python树莓派编程
  3. Java——标准异常
  4. python实现给定列表和数值,找到列表中的两个或者多个元素和为该数值的元素下标
  5. Opencv实现图像无缝拼接,Sift查找特征点,Flann进行匹配
  6. 网站建设-学习笔记1-建站
  7. iperf3使用方法说明
  8. 基于中间件的开发---中间件技术
  9. 室内定位导航-室内地图导航-高精度地图应用场景
  10. ardupiolt AP_AHRS库类的分析(一)AP_AHRS_NavEKF
  11. 基于FlashWavRecorder实现IE11浏览器录音后用科大讯飞转文字
  12. 使用 htop 和 ps 来监控 Linux 运行
  13. grpc---客户端流式
  14. 2010年度总结-在淘宝的半年日子
  15. egg Cannot find module ‘diagnostics_channel‘
  16. 在阿里云中搭建大数据实验环境
  17. 5GS 协议栈 — PFCP 协议 — FAR 转发操作规则
  18. html 特殊字符 三角形,特殊字符
  19. 色彩静物想要呈现出最好的效果?快看看下面这种画法~
  20. c语言找到10以内素数,C#求10以内所有素数的积

热门文章

  1. virtio iommu
  2. 根据shp文件创建Mask文件
  3. PDFcrack暴力破解pdf密码
  4. 2018年最令人惊讶的WordPress统计数据
  5. CMMI、ISO、6sigma、ITIL软件质量管理体系了解
  6. 简述导线平差计算的五个步骤_附合导线平差计算过程说明
  7. 计算机本地配置文件丢失,电脑C盘文件丢失的常见原因及恢复方法
  8. wincc7.5下载安装教程(Win10系统)
  9. CAd常用的系统变量
  10. java参考文献英文_java论文英文的参考文献