HTTP代理服务器、HTTP监视器、反转代理服务器,当浏览器连接Charles的代理访问互联网时,CHarles可以监控浏览器发送和接收所有数据。

其他类似工具有fiddler

下载:https://www.charlesproxy.com/download/

工作原理:

  1. 客户端向服务器发起HTTPS请求

  2. Charles拦截客户端的请求,伪装成客户端向服务器进行请求

  3. 服务器向“客户端”(实际上是CHarles)返回服务器的CA证书

  4. Charles拦截服务器的响应,获取服务器证书公钥,然后自己制作一个证书,讲服务器证书替换后发送给客户端

  5. 客户端接收到“服务器”(Charles)的证书后,生成一个对称密钥,用Charles的公钥加密,发送给服务器(Charles)

  6. Charles拦截客户端的响应,用自己的私钥解密对称密钥,然后用服务器证书公钥加密,发送给服务器

  7. 服务器用自己的私钥解密对称密钥,向“客户端”(charles)发送响应

  8. Charles拦截服务器的响应,替换自己的证书发送给客户端

  9. 连接建立,Charles拿到服务器证书的公钥和客户端与服务器协商的对称密钥,就可以解密或修改加密的报文