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

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

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

相关推荐
舒一笑1 小时前
PandaCoder:致敬MyBatis Log Plugin,但我们做得更极致!
后端·程序员·intellij idea
简单点了3 小时前
go前后端项目的启动 、打包和部署
开发语言·后端·golang
雨夜之寂3 小时前
mcp java实战 第一章-第一节-MCP协议简介.md
java·后端
摇滚侠3 小时前
Spring Boot 3零基础教程,WEB 开发 Thymeleaf 核心语法 笔记39
spring boot·笔记·后端·thymeleaf
Code blocks5 小时前
GB28181视频服务wvp搭建(二)
后端·音视频
码事漫谈5 小时前
C++与C#布尔类型深度解析:从语言设计到跨平台互操作
后端
程序新视界6 小时前
在MySQL中,一条SQL语句的执行全流程是怎样的?
数据库·后端·mysql
lang201509286 小时前
打造专属Spring Boot Starter
java·spring boot·后端
码事漫谈6 小时前
解决Python调用C++ DLL失败的问题:extern "C"的关键作用
后端
码事漫谈6 小时前
从「能用」到「可靠」:深入探讨C++异常安全
后端