使用charles抓取手机APP的数据包,https请求一样能抓取

在开发过程中,经常会遇到真机调试的场景,但是受环境限制,只能使用数据抓包的办法来查看http请求的数据结果和状态,下面就为大家介绍一款非常好用的数据抓包工具及使用方法;

工具介绍

Charles 是一款收费的抓包修改工具,易上手,数据请求容易控制,修改简单,抓取数据的开始暂停方便等优势!

下载地址:https://www.charlesproxy.com/download/

 

1.下载charles

通过上面的下载地址,下载并安装好charles,安装过程就按照默认一直点击next就行,在此就不再赘述;

 

2.使用及配置

  • 打开Charles软件,确保iOS设备iphone或ipad与运行Charles的mac电脑处于同一个wifi环境下。
  • 查看本机的局域网IP地址
    • window:打开cmd,输入ipconfig,ipv4对应的IP就是本机的当前局域网IP
    • MAC:系统偏好设置->网络->wifi->高级->TCP/IP就看到了
  • 打开iOS设备,这里以iphone为例
    • 使用charles抓取手机APP的数据包,https请求一样能抓取使用charles抓取手机APP的数据包,https请求一样能抓取使用charles抓取手机APP的数据包,https请求一样能抓取使用charles抓取手机APP的数据包,https请求一样能抓取

注意,此处的IP地址就设置为之前查到的局域网IPV4的IP地址,端口需要与charles内的端口保持一致

 使用charles抓取手机APP的数据包,https请求一样能抓取使用charles抓取手机APP的数据包,https请求一样能抓取

 以上步骤做完,如果出现以下弹框,点击“allow”

使用charles抓取手机APP的数据包,https请求一样能抓取

完成以上工作之后,理论上是可以正常使用抓包了

但是我发现很多https的请求是抓取不到的,就像下面的状态一样

使用charles抓取手机APP的数据包,https请求一样能抓取这是因为手机上没有安装证书的缘故;

用设置过代理的手机在浏览器访问:chls.pro/ssl

就会提示下载一个证书文件

使用charles抓取手机APP的数据包,https请求一样能抓取

 下载好证书文件之后,进入设置进行安装

使用charles抓取手机APP的数据包,https请求一样能抓取使用charles抓取手机APP的数据包,https请求一样能抓取

之后进入  设置 -》通用 -》关于本机 ,打开队已安装的证书的信任按钮

使用charles抓取手机APP的数据包,https请求一样能抓取 使用charles抓取手机APP的数据包,https请求一样能抓取

完成以上配置之后,https请求的数据包也能够获取到了

使用charles抓取手机APP的数据包,https请求一样能抓取