Charles 使用教程
简介
Charles 是一款流行的网络调试工具,它允许用户查看发送和接收的所有 HTTP 和 HTTPS 通信。Charles 可以捕获网络请求和响应,显示请求的详细信息,包括请求头、请求体、响应头和响应体。它还提供了代理设置、SSL 代理、流量监控、重发请求、修改请求和响应等功能。
Charles 特别适用于开发者和测试人员,因为它可以帮助他们理解应用程序如何与服务器交互,以及如何调试网络问题。此外,Charles 支持 Mac、Windows 和 Linux 系统。
为什么选择 Charles?
- 全面监控:Charles 能够捕获所有进出的网络请求,让你对数据流动一目了然。
- 请求/响应查看:它提供了一个详细的视图,展示每个请求和响应的头信息和内容。
- SSL 代理:Charles 支持 SSL 代理功能,可以解密 HTTPS 流量,帮助你分析加密的通信。
- 结构化编辑:你可以修改请求和响应,然后重新发送,以测试不同的场景。
- 流量过滤:通过设置过滤规则,你可以专注于你需要监控的特定类型的请求。
官网下载地址
Charles 的官网是 https://www.charlesproxy.com/,你可以在这个网站上找到关于 Charles 的所有信息,包括功能介绍、使用教程和下载链接。下载页面提供了不同操作系统的版本,确保选择适合你操作系统的版本进行下载。
一、基本抓包设置
1.1.Charles设置
1)Charles中设置端口:Proxy --Proxy Seitings
2)设置允许接收的地址范围:Proxy-Access Control Settings
1.2.移动端设置
1)查找自己电脑的ip地址,用于设置手机代理:Local IP Addresses
2)手机端设置代理:点击当前连接的网络,进入代理设置
3)这样就大功告成了,在移动端发起请求就会被监测到
二、抓取HTTPS
Charles默认情况下时抓取不到https的,如下图所示:
2.1.IOS抓取HTTPS接口
2.1.1.Charles设置
1)Charles安装证书:按以下步骤一步一步导入成功即可
2)charles --Proxy -SSL Proxying Settings
2.1.2.移动端证书安装
1)Charles:如图,查看证书下载地址
会弹出一个弹窗:(不同版本的Charles可能会不一样)
2)在手机浏览器(最好是自带浏览器)中输入此网址,根据提示下载安装证书(也叫描述文件)
3)安装成功后,到手机的“设置-通用-关于本机-证书信任设置”中打开信任开关即可。
此处要注意的是:当手机里过往已经安装过多个证书时,可能会导致安装证书失败或者抓包失败,在手机里将废弃的证书清除,重新安装最新的证书即可。
4)然后,我们就可以正常抓取HTTPS接口啦
2.1.3.ios13.0以上版本注意事项
Ios13.0以上系统有些不同,低版本中证书下载下来就会自动安装,但是13.0以上版本,在浏览器中下载证书后只是下载下来,并不会像低版本一样自动安装,需要自己手动去 “设置-通用-描述文件”中点击右上角的安装改描述文件到证书,然后再去“设置-通用-关于本机-证书信任设置”中开启信任。
2.2. Android抓取HTTPS接口设置
Android比较简单一些,只需要在Charles中设置好就可以了,不需要在手机上安装证书。(Charles设置同上面IOS)
三、比较重要的注意事项
3.1.关于设置
Charles中的设置,设置一次下次就不用再设置了,除非你有改动设置,或者在电脑中删除了证书。
3.2.关于关闭代理
一个手机设了代理,后面不用的时候记得关闭代理,否则在Charles关闭状态,会出现无法联网的情况。关闭方法:同开启一样,点击当前连接的网络,进入代理设置,关闭即可
3.3.关于Charles付费
Charles是收费的,但是默认是可以直接免费使用的,但是有个时间限制,就是打开要等到10秒钟,然后每使用30分钟,就会自动关闭,如果只是偶尔使用一下,30分钟应该是足够了。但30分钟自动关闭一下,使用起来很烦人,我们除了交钱外,有以下两种解决办法:
1)百度搜索注册码–然后在 help --Register Charles 中注册即可
2)在此网址生成对应版本的charles.jar包,然后替换即可。
生成网址:https://www.zzzmode.com/mytools/charles/
需要被替换的jar包路径:
macOS:/Applications/Charles.app/Contents/Java/charles.jar
Windows: Charles\lib\charles.jar