Charles在Mac中抓包使用说明
在工作期间,经过同事介绍,发现一款很强大的抓包工具Charles,现在记录下来分享给大家。常用的有以下几款功能:
1.支持配置抓取定向地址的网络请求
- 打开charles,打开Proxy->Recording Settings
- 点击add,可以将需要抓取的地址添加进去,这边抓取淘宝的请求,如下图添加,点击“OK”,然后浏览器访问www.taobao.com:
- 发现Charles抓取到了*.taobao.com的请求,如下图所示,点开一个请求,里面都是unkown,而且左侧有个“🔒”的符号:
说明:因为虽然之前添加了https://*.taobao.com过滤配置,但是Charles默认抓取的是http请求,所以对于https请求需要单独开启SSL配置
- 打开Proxy->SSL Proxying Settings
- 点击add,将*.taobao.com添加进去,https的端口默认是443,然后点击OK
- 重新访问www.taobao.com,发现Charles中抓取到了相关的信息。
(有些朋友到这边仍然不能抓取https的包,可以查看钥匙串中Charles Proxy CA证书是否已经被设为“信任”,如果没有,则双击,设为“始终信任”)
2.支持将服务器上的请求映射到本地进行代码调试
有些开发人员在某些情况下,需要定位线上问题的时候,除了使用tomcat的远程debug,但是这个需要在服务器启动脚本中增加参数。
Charles有一个功能,很简单就可以将线上的请求映射到本地,进行调试
- 打开Tools->Recording Settings
- 点击add,将服务器上进程的地址和端口映射到loaclhost,然后在本地启动服务,进行debug即可。
3.手机上配置代理,抓取手机上的请求信息
有些客户端测试的时候,需要查看请求信息,那么可以使用Charles来抓取,如果是https请求,需要在手机上安装证书并信任
- 打开Help->SSL Proxying->Install Charles...
- 打开手机WIFI,连接和电脑相同的WIFI,然后选中该无线网,添加http代理,即上图中的10.242.131.136.8888,然后访问chls.pro/ssl下载并安装证书
- 进入通用->关于本机->证书信任设置,将刚刚安装的证书设为信任即可。