Charles抓包App教程

概要

项目上经常会有需要对App端应用进行抓包去分析请求的情况,这里分享一下Charles抓包手机应用的教程

步骤

1.环境准备
2.配置PC端环境
  • PC端配置http代理:启动Charles->Proxy->Proxy Setting,端口默认8888即可
    在这里插入图片描述

  • 查看并记录IP地址,之后手机端设置代理时要用到,点击Help->Local IP Address
    在这里插入图片描述
    在这里插入图片描述

  • 安装支持手机端抓包的证书,点击Help->SSL Proxying->Install Charles Root Certificate on a Mobile Device or Remote Browser
    在这里插入图片描述
    在这里插入图片描述

  • PC端配置Https抓包,点击Help->SSL Proxying->Install Charles root Certificate,安装证书
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

  • 设置SSL Proxy Setting,点击Proxy->SSL Proxy Setting,配置白名单,没有443就手动添加一下,至此Charles客户端配置完毕
    在这里插入图片描述
3.配置手机端代理

这里我用的是小米手机,以此为例,进入 设置->WLAN->进入WIFI设置界面->点击代理
在这里插入图片描述
这时Charles客户端会弹出提示,一定要点击允许(Allow)
在这里插入图片描述
至此已经可以抓取http请求的包了

4.配置抓取手机端https请求

如果想抓取https请求,需要像在电脑端一样,在手机端也需要安装证书

  • 保持之前的wifi设置不变,在手机浏览器中访问地址 http://chls.pro/ssl
  • 此时会下载xxx.crt文件,然后我们安装此证书
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

安装完毕后理论上就可以抓包我们开发的APP的https请求了,为什么说是理论上呢,因为目前的Android版本需要手动配置network_security_config,才可以抓包,正常的线上环境是不可以抓包,所以有了接下来的配置

5.Android Studio配置network_security_config
  • 打开android工程,进入src->main->res->xml(没有该文件夹就创建一个)
  • 在xml文件夹中创建 network_security_config.xml文件,文件代码如下
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" overridePins="true" />
            <certificates src="user" overridePins="true" />
        </trust-anchors>
    </base-config>
</network-security-config>
  • 在 AndroidManifest.xml文件中 application标签中加入此属性
    在这里插入图片描述
android:networkSecurityConfig="@xml/network_security_config"
  • 重新打包App即可抓包请求

小结

以上就是Charles抓包的全部配置,需要注意的几个点

  1. 要把防火墙彻底关闭
  2. 提示是否允许手机端链接的弹窗一定要有,否则就是配置不正确
  3. Android App要配置 network_security_config
  • 23
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值