Charles官网
mac上我一般都会用Charles作为抓包和代理映射工具
1.普通抓包很简单,Charles和需要抓包的网络请求设备处于同一网络环境中,工具栏的proxy -> macOS Proxy勾选就可以抓包本机的请求,移动设备或者其他设备抓包请将代理设置成手动,代理地址即为Charles所在设备的网络环境ip,端口一般为8888,设置完成后Charles会有弹框提醒是否允许信任之类的询问,直接选择allow,这样就可以愉快的抓其他设备的请求包来看了,这种抓包不需要安装ssl证书也可以抓https

2.映射代理抓包,这种不仅仅是抓包,而是一种映射代理,可以把A地址映射到B地址。在不改变A地址情况下,让访问自动跳到B地址,这有点像DNS劫持,钓鱼网站这样的做法,但是我们是用来方便开发,你可以方便的代理线上地址到本地服务或者本地资源进行调试开发,在工具栏的Tools->Map Remote里面进行设置即可。
注意映射的地址要相同,映射的文件名也需要相同才能匹配成功,如果你映射的是两个网站的grade2/class3/*
Charles在A网站找到的
grade2/class3/names.js
在B网站的是
grade2/class3/ages.js
没有names.js那就映射不成功,除非不用grade2/class3/,而是grade2/class3/names.js -> grade2/class3/ages.js进行强制映射也是可以的。
这里如果要映射的地址是https的话,需要下载Charles的ssl证书到你的设备里,否则安全机制会导致映射失败,下载地址在工具栏 Help->SSL proxying里面下载本地版的和移动版的有相关的提示。

Configure your device to use Charles as its HTTP proxy on x.x.x.x:8888, then browse to chls.pro/ssl to download and install the certificate.
大致意思就是移动版的需要连接代理设置端口号,参考方法1,然后访问chls.pro/ssl,就可以下载相应的证书了。
流程示意图如下:

1

原创内容,欢迎交流转载请注明出处