Skip to content

Instantly share code, notes, and snippets.

@binderclip
Last active September 20, 2018 10:05
Show Gist options
  • Save binderclip/1b5678783ea79f807e80 to your computer and use it in GitHub Desktop.
Save binderclip/1b5678783ea79f807e80 to your computer and use it in GitHub Desktop.
使用 Charles 做一些抓包工作

HTTPS 抓包

普通的 HTTPS 抓包配置

一般的公开的网站用这种方式就好了。

  1. 首先装上 Charles 的根证书    1. 电脑的话:Help -> SSL Proxying -> Install Charles Root Cetificate    2. 手机的话:Help -> SSL Proxying -> Install Charles Root Cetificate on a Mobile Device or Remote Browser 会有提示       1. 大概是在手机设置了代理之后用浏览器访问 chls.pro/ssl 来下载、安装证书        2. iOS 10.xx(具体版本忘记了)之后需要额外到 设置 - 通用 - 关于本机 - 证书信任设置 来信任一下刚刚装的证书        3. Android 有的机器好像装不上,暂不知如何解决
  2. 默认是不启动 HTTPS 抓包的,主动设置要抓包的 URL ,在 Proxy -> SSL Proxying Settings -> SSL Proxying,添加要抓的 HTTPS 的地址比如 github.com:443

带有客户端认证的 HTTPS 的抓包配置

比如我们的开发服、test、stag,都需要客户端验证,这个验证可以在 Charles 。

  1. 首先完成「普通的 HTTPS 抓包配置」里面的操作
  2. Proxy -> SSL Proxying Settings -> Client Certificates 给对应的 HOST 添加 p12 格式的客户端证书即可

下面是一些可能有用的脚本,用来设置 Mac 的网络,有时候去点击软件里面的设置会过于耗时。

sudo networksetup -setautoproxystate Wi-Fi off              # 关闭 auto 模式
sudo networksetup -setwebproxy Wi-Fi 127.0.0.1 8888         # 设置 HTTP 代理
sudo networksetup -setsecurewebproxy Wi-Fi 127.0.0.1 8888   # 设置 HTTPS 代理
@FarmerLi
Copy link

请问客户端证书怎么来?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment