logo头像
Snippet 博客主题

抓包神器Charles使用

本文于369天之前发表,文中内容可能已经过时。

在软件开发过程中,抓包是常见的必备技能之一。本文主要介绍一下Mac下的抓包利器Charles(另一神器是Fiddler,相关文章:Fiddler),使用Charles可以非常方便的抓取Http/Https请求,从而提高我们的开发效率。官方dmg下载地址:点击此处下载

Charles抓取Http请求

  1. 安装完成之后打开Charles,设置端口号:8888(端口号可以自定义)。选择“Proxy”菜单下的“Proxy Settings”子菜单。打开“Proxy Settings”对话框。
    这里写图片描述
  2. 在“Proxy Settings”对话框中设置端口号:8888,并勾选“Enable transparent Http proxying”项。
    这里写图片描述
  3. 打开“网络偏好设置”查看电脑IP地址,将手机的代理网络设置成你的电脑IP(iOS),端口设置为8888。
    这里写图片描述
  4. 打开需要抓包的手机APP,初次使用时,Charles会弹出确认对话框,直接点击”Allow”按钮后就可以看到对应的请求数据。

Charles抓取Https请求

  1. 安装SSL证书
    选中Charles,在“Help”菜单中选择—>“SSL Proxying”—>“Install Charles Root Certificate”会自动打开钥匙串访问窗口。
    这里写图片描述

在“钥匙串访问”窗口中找到对应的证书,双击打开。设置“使用证书时”项为:始终信任。
这里写图片描述
安装后效果如下图:
这里写图片描述

  1. 手机安装证书
    在手机已经设置好手动代理后,在手机Safari浏览器中输入下面的链接地址:http://charlesproxy.com/getssl。手机会自动跳转安装“Charles Proxy SSL Proxying”描述文件。如下图所示。
    这里写图片描述

  2. 在Charles工具栏上点击设置按钮,选择“SSL Proxying Settings…”,打开“SSL Proxying Settings”对话框。
    这里写图片描述

  3. 点击“Add”添加:Host中输入*表示匹配所有主机。https默认端口号:443。
    这里写图片描述
  4. 安装手机证书之后,我们就可以访问了,例如
    这里写图片描述

针对Charles代理访问https有些正常有些失败的处理方法,可以访问:点击此处

支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

上一篇