Charles
介绍
基于http协议的代理服务器 ,通过成为电脑或者浏览器的代理,截取请求和请求结果达到分析抓包的目的
工作原理
前置步骤
- 运行charles并配置代理
- 客户端上配置代理
步骤
- 客户端发送请求
- charles接受并发给服务端
- 服务端返回请求结果给charles
- 由charles发给客户端
功能
- 支持HTTP HTTPS代理
- 支持流量控制
- 支持接口并发请求
- 支持重发网络请求
- 支持断点调试功能
优点与Fiddler比较
- 支持linux MacOs
- 支持按域名和按接口查看报文
- 支持反向代理
- 网络限速可选择网络类型
- 可以解析AMF协议
组件介绍
- overview:接口信息
- contents:对应请求内容相应内容
charles代理配置
-
proxy-----Proxy Settings
-
Port 修改代理端口
-
点击OK
charles访问控制
- proxy
- Access Control Settings
- Add 此时可以编辑输入框 输入ip地址
- 注意:不在列表的地址 且没有勾选 Prompt to allow unauthorized connections 默认不让通过charles访问
代理配置
查看Charles的IP地址
- 点击头部栏中的local
- 选择Local IP Addresses 就会显示当前电脑的IP地址
客户端 Windows
- 电脑搜索栏中搜索 代理
- 打开手动设置代理’
- 输入charles的地址和端口
客户端 MacOs代理设置
-
点击苹果图标 打开系统偏好设置
-
选择网络
-
点击高级
-
选择代理选项卡
-
勾选左边框里的web代理HTTP
输入代理服务器的ip地址
输入代理端口
-
勾选左端web代理(HTTP5)
输入代理服务器的ip地址
输入代理端口
-
手动
客户端 MacOS快捷代理设置
(MacOS客户端和运行Charles软件工具的电脑是同一台电脑时)
- 打开Charles工具后,选择”Proxy“菜单中的”macOS Proxy“选项
客户端 IOS手机代理设置
- 手机选择设置 无线局域网
- 点击已连接上的无线网络名称
- 在HTTP代理的配置中选择“手动”
- 输入服务器IP地址及端点,点击”存储“
客户端 Android手机代理设置
- 设置 – WLAN
- 长按已连接的无线网络名称,点击”修改网络“
- 勾选”显示高级选项“
- 在代理选项中选择”手动“
- 输入服务器IP地址端口,点击”存储“
抓包分析问题
https抓包
(会乱码 需要安装SSL证书)
- Windows配置
- 打开charles 选择 help --> SSL Proxying --> Install Charles Root Certificate
- 在打开的证书框中,点击”安装证书“,选择”本地计算机“,点击”下一步“
- 选择”将所有证书都存放在下列存储中“,再点击”浏览“
- 选择”受信任的根证书颁发机构“,点击”确定“–> “下一步”–> “完成”
Charles Https代理配置
- 在charles窗口中点击菜单“proxy” -> “SSL proxying setting”
- 在打开的设窗口中勾选“Enable SSL Proxying”
- 点击“OK”
IOS证书配置
- 在电脑上运行charles 在ios手机上设置好代理
- 在浏览器中输入http://charlesproxy.com/getssl
- 回到设置打开已下载的描述文件 安装描述文件 安装
- 返回“通用”页面 选择“关于本机”
- 点击“证书信任设置”,启用Charles Proxy CA证书并确认
Charles流量配置
- Charles窗口中点击菜单“Proxy” -> “Throttle Setting”
- 在打开的设置窗口中勾选“Enable Throttling”
- 在“Throttle preset”下拉框中选择对应的网络类型
- 点击“OK”
Charles 断点配置
- 右击接口链接,选择“Breakpoints”
- 在浏览器刷新对应接口的页面
- 此时会自动跳转到Charles并显示出接口请求信息
- 点击“Edit Request”,修改请求信息,点击“Execute”
- 点击“Edit Response”
- 在数据格式栏中选择合适的显示格式,比如“json”
- 修改对应的数据,点击“Execute”
- 回到浏览器查看数据应该为修改之后的Response的信息