环境:Ubuntu16.04系统,Charles4.2.6
破解地址:Charles在线破解地址1 Charles在线破解地址2
一、安装Charles:
1、添加公钥:
wget -q -O - https://www.charlesproxy.com/packages/apt/PublicKey | sudo apt-key add -1AD28806
或者:
sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 1AD28806
2、添加资源库:
sudo sh -c 'echo deb https://www.charlesproxy.com/packages/apt/ charles-proxy main > /etc/apt/sources.list.d/charles.list'
3、更新源,安装Charles:
sudo apt-get update
sudo apt-get install charles-proxy
二、 破解Charles
将下载的Charles.jar包,替换到安装目录下。我的安装目录是默认的,在/usr/lib/charles-proxy/下。
注意:为了保险起见先把原始charles.jar复制到其他目录,将破解后的charles.jar移动到对应位置,确保该目录下只有一个charles.jar就好了。
三、配置
1、下载Charles的SSL根证书:Help -> SSL Proxying -> Install Charles Root Certificate,安装后,应该能在home目录的.charles/ca/中找到charles-proxy-ssl-proxying-certificate.cer和charles-proxy-ssl-proxying-certificate.pem两个文件。
2、转换格式:终端中执行
openssl x509 -outform der -in charles-proxy-ssl-proxying-certificate.pem -out charles-proxy-ssl-proxying-certificate.crt
3、在/usr/share/ca-certificates文件夹下新建一个目录charles,再将转换格式后得到的证书charles-proxy-ssl-proxying-certificate.crt复制到/usr/share/ca-certificates/charles 中
cd /usr/share/ca-certificates
sudo mkdir charles
sudo cp /home/rcw/.charles/ca/charles-proxy-ssl-proxying-certificate.crt /usr/share/ca-certificates/charles/
4、在/etc/ca-certificates.conf这个配置文件的最后追加charles/charles-proxy-ssl-proxying-certificate.crt,用sudo update-ca-certificates更新证书,完成后发现/etc/ssl/certs目录中应该多了一个charles-proxy-ssl-proxying-certificate.pem文件,表示成功
sudo vi /etc/ca-certificates.conf
5、配置Google Chrome浏览器,这时候你需要一个叫SwitchyOmega的代理管理插件,把http代理协议端口写成charles默认的8888,ip就填本地ip就好,另外在Google Chrome浏览器的设置->高级->证书管理->授权中心中添加第四步中复制过的charles-proxy-ssl-proxying-certificate.crt证书,可以重复添加,会提示该证书已添加过,由此证明已经添加成功
下载Google Chrome插件地址:https://switchyomega.com/static/file/v2.5.14/SwitchyOmega_Firefox.xpi
6、在Charles中Proxy -> SSL Proxy Settings -> SSL Proxy中设置一个Host为*,Port为443的Location,主要是用来代理所有的HTTPS请求
7、以上完成的话,基本大功告成,在Google Chrome浏览器中用SwitchyOmega切换至设置的charlse 8888端口的代理,访问一个网站试一试,应该就可以看到Charles能成功抓取HTTP的各种信息了