分类
经验

手机使用Charles抓包

在Web和Internet开发中,你无法看到Web浏览器/客户端与服务器之间正在发送和接收的内容。没有这种可见性,很难准确地确定故障所在。Charles可以很容易地查看正在发生的事情,因此你可以快速诊断和解决问题。

Charles是一个HTTP代理服务器、HTTP监视器、反转代理服务器,Charles在你的计算机上运行的Web代理(HTTP代理/ HTTP监视器),然后将你的Web浏览器(或任何其他Internet应用程序)配置为通过Charles访问Internet,Charles可以为您记录和显示所有发送和接收的数据。当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据,它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request,、response和HTTP headers (包含cookies与caching信息)。
在Web和Internet开发中,你无法看到Web浏览器/客户端与服务器之间正在发送和接收的内容。没有这种可见性,很难准确地确定故障所在。Charles可以很容易地查看正在发生的事情,因此你可以快速诊断和解决问题。

主要功能

  • 支持SSL代理。可以截取分析SSL的请求。
  • 支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。
  • 支持AJAX调试。可以自动将json或xml数据格式化,方便查看。
  • 支持AMF调试。可以将Flash Remoting 或 Flex Remoting信息格式化,方便查看。
  • 支持重发网络请求,方便后端调试。
  • 支持修改网络请求参数。
  • 支持网络请求的截获并动态修改。
  • 检查HTML、CSS和RSS内容是否符合W3C标准。

在(macOS)PC上使用Charles

第一步:到官网下载Charles安装程序。Charles目前支持Windows、macOS、Linux,Charles是一款收费软件,提供试用机会,试用阶段每次使用不超过30分钟。

第二步:开启HTTP代理并设置代理端口号。依次点击:Proxy——Proxy Settings…,按照下图设置。

开启代理HTTP代理,并填写端口号
开启代理HTTP代理,并填写端口号

第三步:下载并安装Root Certficate根证书。依次点击:Help——SSL Proxying——Install Charles Root Certficate。

安装Root Certficate根证书
安装Root Certficate根证书

第四步:执行信任Root Certficate根证书操作。同时按下⌘+空格键呼出聚焦搜索——输入钥匙串访问——种类选所有项目——找到Charles Proxy CA…——双击这个证书

执行信任操作
执行信任操作

第五步:信任此CA证书。依次点击:信任——使用此证书时:始终信任——点击X——输入开机密码进行确认。

信任此证书
信任此证书

第六步:此时,你在PC上的浏览浏览任意网站,Charles上应该已经同步显示你访问的网页抓包信息了,但可能出现乱码。

Headers中出现乱码
Headers中出现乱码

此时已经可以抓包了,但为了排除乱码的问题,再设置一下SSL代理设置。依次点击:Proxy——SSL Proxying Settings

继续进行SSL Proxying Settings设置
继续进行SSL Proxying Settings设置

勾选Enable SSL Proxying——Add Include——参照下图添加,然后点击OK。

SSL Proxying Settings
SSL Proxying Settings

现在可以如下图正常显示SSL的Headers了。

现在可以正常显示Headers了
现在可以正常显示Headers了

在(Android)手机上使用Charles

第一步:在以上设置的基础上,继续下面的设置。依次点击:Proxy——Proxy Settings…,按照下图设置。

第二步:手机上设置代理,让手机以PC的IP地址和端口来访问网络,下面以小米手机为例进行设置。

特别说明:手机和PC必须在同一个局域网下。

第三步:在手机上打开浏览器,还没有访问具体网页就发现了MIUI相关的后台请求,如下图。

手机浏览器打开后,就发现了miui的相关请求
手机浏览器打开后,就发现了miui的相关请求

发表评论

电子邮件地址不会被公开。 必填项已用*标注