Charles 是一款跨平台的 HTTP 抓包代理工具,能拦截、查看并修改电脑与手机 App 的 HTTP/HTTPS 网络请求,支持 HTTPS 解密、断点改包、弱网模拟等功能,是开发者调试接口、分析网络流量的常用利器,中文圈俗称「青花瓷」。

| 类型 | HTTP 抓包代理 / 网络调试工具 |
| 开发商或厂商 | XK72(Karl von Randow) |
| 推出时间 | 2000 年代初 |
| 国家或地区 | 新西兰 |
| 授权模式 | 付费买断(可免费试用) |
| 官网 | charlesproxy.com |
Charles 是一款跨平台的 HTTP 抓包代理工具(Charles Web Debugging Proxy),能够拦截、记录并修改电脑与手机应用发出的 HTTP/HTTPS 网络请求,广泛用于接口调试、网络流量分析和移动开发测试。
Charles 由新西兰公司 XK72 的开发者 Karl von Randow 开发,于 2000 年代初推出,基于 Java 编写,可在 Windows、macOS、Linux 上运行,后来还推出了 iOS 版本。因其图标是一个花瓶,中文开发者圈常亲切地称它为「青花瓷」。
它的工作原理是在客户端与服务器之间充当代理:浏览器或手机 App 的流量先经过 Charles,再转发给真实服务器,因此每一个请求和响应的地址、参数、头部、返回内容都能被完整看到。配合其根证书,还能以中间人方式解密 HTTPS 流量。抓手机包时,只需让手机与电脑处于同一局域网,把 Wi-Fi 代理指向电脑 IP 和 Charles 端口(默认 8888)即可。
Charles 是付费买断制共享软件,可免费试用,试用版每次运行有时长限制。同类工具中,Fiddler 在 Windows 上流行,mitmproxy 是开源命令行方案,Burp Suite 偏安全测试,Wireshark 则工作在更底层、可分析所有协议的数据包。
问:Charles 是免费的吗?答:不是,它是付费软件,采用买断制授权,但提供免费试用,试用版每次运行有时间限制,功能基本完整。
问:为什么抓不到 HTTPS 或手机 App 的包?答:需要先在电脑和手机上安装并信任 Charles 根证书,并对目标域名开启 SSL Proxying;较新版本的 Android 系统默认不信任用户安装的证书,部分 App 还做了证书校验(SSL Pinning),需要额外处理。
问:Charles 和 Wireshark 有什么区别?答:Charles 是应用层的 HTTP/HTTPS 代理,专注查看和修改网页与 App 的接口请求;Wireshark 在网卡层抓取所有协议的原始数据包,更适合底层网络协议分析。

| 类型 | HTTP 抓包代理 / 网络调试工具 |
| 开发商或厂商 | XK72(Karl von Randow) |
| 推出时间 | 2000 年代初 |
| 国家或地区 | 新西兰 |
| 授权模式 | 付费买断(可免费试用) |
| 官网 | charlesproxy.com |
登录 后参与讨论
暂无讨论,来发表第一条评论吧