charles 抓包工具

介绍

HTTP的代理工具,支持HTTP和HTTPS代理;支持流量控制(弱网环境测试);支持接口并发;支持重发网络请求;支持断点调试;支持按域名、接口查看报文;支持反向代理;可选择网络类型;可解析AMF协议。

安装

  1. 下载:www.charlesproxy.com/download/
  2. 注册:www.zzzmode.com/mytools/cha...
    • Registered Name:任意输入,点击生成
    • help -> register charles

界面介绍

  1. 主导航栏介绍

2. 请求栏介绍

  • Structure:按照请求域名显示
  • Sequence:按照接口请求时间显示
  1. 请求数据栏介绍
  • overview:请求接口概览信息,比如请求协议、时间、大小。
  • contents:请求内容信息和以不同形式展示的响应内容。

代理配置

访问控制配置

client代理设置

  1. MacOS代理设置
  • 查看charles服务器的ip和端口
  • 设置Http和Https请求时需要转发的代理服务器端口和地址
  1. MacOS快捷代理设置
  • 场景:MacOS客户端和运行的Charles软件是同一台电脑。
  • 操作步骤:打开Charles工具,选择Proxy菜单中的MacOS Proxy。
  1. IOS手机代理配置

https的抓包

charles会拦截设备和服务器之间的HTTPS请求,并在中间插入自己的SSL证书。这样,Charles就可以解密加密的HTTPS通信,并查看其中的内容,然后再重新加密并转发给目标服务器,整个过程对于用户和服务器都是透明的。

但是,为了成功地实施这种中间人攻击,Charles需要在你的设备上安装其自己的根证书。这个根证书充当了一个信任机构,用于签署和验证由Charles生成的SSL证书。

安装Charles的根证书后,你的设备就会信任由Charles生成的SSL证书,这样Charles就能够成功地将自己伪装成目标服务器,并与你的设备进行安全通信,从而拦截和解密HTTPS通信。

  1. 安装证书
  • 打开charles,选择 help->ssl proxy->install charles root certificate

如果MacOS中遇到钥匙串中无法找到Charles证书,并且reset charles root certificate依然无法找到可以尝试手动安装根证书:

  • 查找证书:
sh 复制代码
ll /Library/Keychains/System.keychain /Users/cuiqiaoqiao/Library/Application\ Support/Charles/ca/Charles-proxy-ssl-proxying-certificate.cer
  • 安装证书:
sh 复制代码
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain /Users/zhuoya/Library/Application\ Support/Charles/ca/Charles-proxy-ssl-proxying-certificate.cer
  1. charles配置https proxy
    • 菜单proxy->ssl proxying setting
    • 勾选enable ssl proxying
    • 添加Host为*,端口为443

IOS 手机证书配置

  • 步骤五:再次回到"通用"页面,选择"关于本机"
  • 步骤六:点击"证书信任设置",启用Charles Proxy CA 证书并确认

Charles流量配置

可以模拟2G、3G、4G网络环境,测试弱网;

Charles breakpoints

可以在请求前编辑请求内容

可以在获取请求结果后编辑响应内容

相关推荐
bin9153几秒前
幻境寻踪:Rokid AR眼镜上的沉浸式解谜冒险游戏开发实战
后端·ar·restful·沉浸式体验·ar游戏开发·rokid眼镜·解谜游戏
8***f3955 分钟前
工作中常用springboot启动后执行的方法
java·spring boot·后端
Cisyam18 分钟前
openGauss + LangChain Agent实战:从自然语言到SQL的智能数据分析助手
后端
我叫黑大帅23 分钟前
什么叫可迭代对象?为什么要用它?
前端·后端·python
FleetingLore24 分钟前
C C51 | 按键的单击、双击和长按的按键动作检测
后端
v***88561 小时前
Springboot项目:使用MockMvc测试get和post接口(含单个和多个请求参数场景)
java·spring boot·后端
IMPYLH1 小时前
Lua 的 require 函数
java·开发语言·笔记·后端·junit·lua
爱找乐子的李寻欢1 小时前
线上批量导出 1000 个文件触发 OOM?扒开代码看本质,我是这样根治的
后端
大鸡腿同学2 小时前
大量频繁记录有效击球方式
后端
稚辉君2 小时前
Gemini永久会员 01不等概率随机到01等概率随机
后端