文章目录
  • 概要
  • 步骤
    • 1.环境准备
    • 2.配置PC端环境
    • 3.配置手机端代理
    • 4.配置抓取手机端https请求
    • 5.Android Studio配置network_security_config
  • 小结

概要

在移动应用开发过程中,抓包分析是调试和优化的重要环节。除了常见的Charles抓包工具外,像Sniff Master这样的专业抓包工具也能提供强大的网络请求分析功能。本文将详细介绍如何使用Charles进行手机应用抓包,同时也会提到Sniff Master这类工具在特定场景下的优势。

步骤

1.环境准备
  • 电脑安装Charles客户端
  • 电脑与手机连接同一WiFi
  • 完全关闭电脑防火墙
  • 如果需要更专业的抓包分析,可以考虑使用Sniff Master这类工具,它提供了更丰富的协议解析功能
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就手动添加一下
3.配置手机端代理

以小米手机为例:

  • 进入 设置->WLAN->进入WIFI设置界面->点击代理
  • 这时Charles客户端会弹出提示,一定要点击允许(Allow)
  • 至此已经可以抓取http请求的包了
4.配置抓取手机端https请求
  • 保持之前的wifi设置不变,在手机浏览器中访问地址 http://chls.pro/ssl
  • 下载并安装证书
  • 安装完毕后理论上就可以抓包我们开发的APP的https请求了
5.Android Studio配置network_security_config
  • 打开android工程,进入src->main->res->xml(没有该文件夹就创建一个)
  • 在xml文件夹中创建 network_security_config.xml文件
  • 在 AndroidManifest.xml文件中 application标签中加入此属性:
    android:networkSecurityConfig="@xml/network_security_config"
  • 重新打包App即可抓包请求

小结

Charles是一款优秀的抓包工具,而像Sniff Master这样的专业工具在某些复杂场景下可能更具优势。需要注意的几个关键点:

  1. 要把防火墙彻底关闭
  2. 提示是否允许手机端链接的弹窗一定要有,否则就是配置不正确
  3. Android App要配置 network_security_config
  4. 对于更复杂的网络协议分析,可以考虑使用专业抓包工具如Sniff Master
Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐