Charles tips

first,https抓包原理:

  • 客户端发起SSL握手请求,包含支持的加密算法,Charles拦截;
  • Charles作为客户端,将拦截的信息发送给服务端;
  • 服务端返回证书(身份+公钥)、确认的加密方法,Charles拦截,解析出公钥(?);
  • Charles用自己的公钥生成新的证书,发送给客户端;
  • 憨批客户端用拿到的公钥加密信息(此处的“信息”为一个随机数,后续会用用服务端确认的加密方法加密后得到通讯秘钥),发出请求;
  • Charles用自己的私钥解密客户端发出的请求,然后用服务端公钥加密信息,发送给服务端;
  • 服务端用自己的私钥解密Charles发出的请求,得到随机数,计算生成会话秘钥,返回确认请求。

then,

1.localhost请求抓不到:服务host改为localhost.charlesproxy.com,有端口加端口;
2.maplocal不支持选择请求方式,而axios请求都附带options导致map失败:抛弃maplocal用rewrite吧,正则填入{[\S\s]*},表示只匹配返回不为空的请求,即可过滤options。

你可能感兴趣的:(Charles tips)