Wang's blog Wang's blog
首页
  • 前端文章

    • HTML教程
    • CSS
    • JavaScript
  • 前端框架

    • Vue
    • React
    • VuePress
    • Electron
  • 后端技术

    • Npm
    • Node
    • TypeScript
  • 编程规范

    • 规范
  • 我的笔记
  • Git
  • GitHub
  • VSCode
  • Mac工具
  • 数据库
  • Google
  • 服务器
  • Python爬虫
  • 前端教程
更多
收藏
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Wang Mings

跟随大神,成为大神!
首页
  • 前端文章

    • HTML教程
    • CSS
    • JavaScript
  • 前端框架

    • Vue
    • React
    • VuePress
    • Electron
  • 后端技术

    • Npm
    • Node
    • TypeScript
  • 编程规范

    • 规范
  • 我的笔记
  • Git
  • GitHub
  • VSCode
  • Mac工具
  • 数据库
  • Google
  • 服务器
  • Python爬虫
  • 前端教程
更多
收藏
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Python爬虫

  • 前端教程

    • 团队规范

    • Project

    • JS

    • NodeJS

    • Vue

    • React

    • 效率工具

      • 前端必备效率工具
      • 初识C++
      • 前端抓包神器Charles
        • [#](#q-charles是什么) Q: Charles是什么
        • [#](#q-charles能干什么) Q: Charles能干什么
        • [#](#q-安装charles) Q: 安装Charles
        • [#](#q-如何抓包http请求) Q: 如何抓包http请求
        • [#](#q-如何抓包https请求) Q: 如何抓包https请求
        • [#](#q-关闭charles后-无法访问网络) Q: 关闭Charles后,无法访问网络
        • [#](#参考文章) 参考文章
      • Docker Kubernetes
      • Git实用命令
      • npm script技巧
      • Python基础语法
      • Python语法精髓
      • 前端常用解决方案
      • Shell Vim
      • VSCode插件开发实践
      • VSCode快捷键及常用插件
      • 你必须知道的yarn
    • 读书笔记

  • 教程
  • 前端教程
  • 效率工具
wangmings
2022-07-19
目录

前端抓包神器Charles

# # 前端抓包神器Charles

# # Q: Charles是什么

A: Charles是一个抓包工具,类似工具还有Fiddler。Charles相当于一个插在服务器和客户端之间的“过滤器”;当客户端向服务器发起请求的时候,先到Charles进行过滤,然后Charles在把最终的数据发送给服务器;

# # Q: Charles能干什么

A: 常做以下这些事:

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

# # Q: 安装Charles

A:从官网 (opens new window) (opens new window)直接下载,并用以下账号注册

    Registered Name: https://zhile.io
    
    License Key: 48891cf209c6d32bf4
    
1
2
3
4

# # Q: 如何抓包http请求

A:开启mac的代理功能即可,这样会把chrome所有的请求都代理到charles中。操作:

  1. Proxy --> 勾选macOS Proxy
  2. 同时确认Proxy-> Proxy settings ->proxies :勾选enable transparent http proxying

# # Q: 如何抓包https请求

A:没有设置任何东西,一般请求到的https是unknown,这是因为https需要信任的本地证书。所以需要在本地安装证书,操作:

  1. 安装并信任证书:Help --> SSL Proxying --> Install Charles Root Certificate会自动安装证书 --> Mac需要输入密码信任证书,找到Charles开头的证书,双击选择信任即可。
  2. 添加https代理:Proxy-> SSL Proxying Settings->SSL Proxying:勾选Enable SSL Proxying + 添加Location(host设置为“*”,Port设置为“443”)

# # Q: 关闭Charles后,无法访问网络

A: 这是因为在使用Charles后,把Mac作为了代理。退出Charles应用程序并不会自动关闭掉Mac的代理,所以需要我们手动关闭Mac代理。操作:

  1. Go to Applications > System Preferences > Network > Advanced > Proxies and deselect any proxies that have been selected.

# # 参考文章

  • 抓包工具Charles的使用教程 (opens new window) (opens new window)
  • mac下配置Charles,安装证书 (opens new window) (opens new window)
编辑 (opens new window)
初识C++
Docker Kubernetes

← 初识C++ Docker Kubernetes→

最近更新
01
theme-vdoing-blog博客静态编译问题
09-16
02
搜索引擎
07-19
03
友情链接
07-19
更多文章>
Theme by Vdoing | Copyright © 2019-2022 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式