Charles
1.1、Charles简介

Charles是使用Java实现的一个HTTPHTTPS代理工具。

Charles通常被软件开发人员用来调试应用,被软件测试人员用来测试应用。

Charles官网:https://www.charlesproxy.com

1.2、通过包管理器安装Charles
操作系统包管理器安装命令
WindowsChocolateychoco install -y charles4
macOSHomeBrewbrew cask install charles
apt参考
CentOSyum参考
dnf参考

Arch Linux

ArcoLinux

Manjaro Linux

yaysudo yay -Syyu --noconfirm
sudo yay -S    --noconfirm charles
1.3、在GNU/Linux中通过下载编译好的二进制压缩包安装Charles

step1、安装依赖

下载时cURL
解压时targzip
运行时JRE | JDK

step2、使用curl命令下载编译好的Charles二进制压缩包 (

curl -LO https://www.charlesproxy.com/assets/release/4.2.8/charles-proxy-4.2.8_amd64.tar.gz

step3、使用tar解压Charles压缩包

tar vxf charles-proxy-4.2.8_amd64.tar.gz

step4、将charles/bin目录加入PATH环境变量中

export PATH=~/charles/bin:$PATH
1.4、Charles的使用
1.4.1、注意

Charles是一个收费软件,如果没有购买licence的话, 打开软件30分钟之后会出现如下的提示:

意思就是告诉您,如果不想有此提示的话,就请购买,否则您只能关闭,然后再重新启动。

1.4.2、明确问题

Charles是一个HTTPHTTPS代理工具,所以,在使用前,我们应该明确2个问题:

  • 到底是HTTP请求?还是HTTPS请求? 还是两种请求都有?
  • 代理哪个设备发出的HTTPHTTPS请求?
1.4.3、功能
1.4.3.1、抓包

抓包就是查看HTTPHTTPS请求和响应的内容。

PC本机AndroidiOS
HTTP
HTTPS
1.4.3.2、重写

重写就是半路拦截,重新改写HTTPHTTPS请求或者响应的内容。

重写功能通常被测试人员用来测试。

1.4.3.3、控制请求速率

控制请求速率可以用来模拟弱网络情形。