手机如何抓包

以下是在 移动端(Android/iOS)抓包 的详细步骤,涵盖工具选择、代理设置、证书安装及常见问题处理:


一、准备工作

  1. 工具选择

    • Charles/Fiddler(推荐):功能强大的代理工具,支持 HTTPS 解密。
    • Wireshark:需 Root/越狱,适合高级用户。
    • HTTP Toolkit(免费):开源替代品,支持 Android/iOS。
    • Packet Capture(Android):无需 Root,通过 VPN 抓包。
  2. 环境要求

    • 手机与电脑在同一局域网(连接同一 Wi-Fi)。
    • 关闭防火墙或允许代理端口通信。

二、Android 抓包步骤(以 Charles 为例)

1. 电脑端设置

  1. 启动 Charles
    • 菜单栏 Proxy → Proxy Settings,设置代理端口(默认 8888)。
  2. 启用 SSL 解密
    • Proxy → SSL Proxying Settings → Add,输入 *:*(抓取所有域名)。
  3. 获取电脑 IP
    • Windows:ipconfig,查看 IPv4 地址。
    • macOS:ifconfig | grep "inet "

2. 手机端设置

  1. 连接同一 Wi-Fi
    • 进入 Wi-Fi 设置 → 长按当前网络 → 修改网络 → 高级选项。
  2. 配置代理
    • 代理类型:手动。
    • 主机名:电脑 IP(如 192.168.1.100)。
    • 端口:8888(与 Charles 一致)。
  3. 安装 Charles 证书
    • 手机浏览器访问 http://chls.pro/ssl,下载证书。
    • 进入 设置 → 安全 → 加密与凭据 → 安装证书 → CA 证书,选择下载的 .pem 文件。
    • Android 7+ 需额外配置:将证书安装到系统级(需 Root)或修改 App 的网络安全配置。

3. 开始抓包

  1. Charles 开始记录 :点击 Start Recording
  2. 操作手机 App:触发需要分析的网络请求。
  3. 查看请求:Charles 主界面显示所有 HTTP/HTTPS 请求和响应。

三、iOS 抓包步骤(以 Charles 为例)

1. 电脑端设置

同 Android 步骤,确保 Charles 代理端口开放。

2. 手机端设置

  1. 连接同一 Wi-Fi
    • 进入 Wi-Fi 设置 → 点击当前网络 → 配置代理 → 手动。
  2. 配置代理
    • 服务器:电脑 IP(如 192.168.1.100)。
    • 端口:8888
  3. 安装 Charles 证书
    • 手机 Safari 访问 http://chls.pro/ssl,下载描述文件。
    • 进入 设置 → 通用 → VPN与设备管理 → 已下载的描述文件,安装证书。
    • 信任证书设置 → 通用 → 关于本机 → 证书信任设置,启用 Charles 证书。

3. 开始抓包

操作与 Android 相同,iOS 请求会出现在 Charles 中。


四、处理 HTTPS 解密失败

若遇到 HTTPS 数据乱码(未解密),需检查:

  1. 证书是否正确安装:手机必须信任 Charles 的 CA 证书。
  2. App 是否绕过代理:部分 App(如金融类)禁用代理,需反编译或使用 Frida 绕过证书绑定。
  3. Charles 配置 :确保 SSL Proxying 包含目标域名(如 *:*)。

五、替代方案(无需电脑)

1. Android:使用 Packet Capture

  1. 安装 App :Google Play 下载 Packet Capture
  2. 启动 VPN 抓包
    • 点击 ▶️ → 选择目标 App → 开始捕获。
  3. 查看请求:自动解密 HTTPS,显示明文数据。

2. iOS:使用 Stream

  1. 安装 App :App Store 下载 Stream
  2. 配置抓包
    • 启动 → 安装证书 → 信任证书(需手动开启)。
  3. 开始捕获:选择目标 App,记录请求。

六、常见问题解决

1. 抓不到包

  • 检查代理配置:确认手机代理 IP 和端口正确。
  • 关闭 VPN/广告拦截器:可能干扰代理流量。
  • 重启 Charles/手机:清除缓存或临时故障。

2. HTTPS 无法解密

  • 重新安装证书:删除旧证书,重新下载安装。
  • 检查域名配置 :Charles 中 SSL Proxying Settings 需包含目标域名。

3. 数据乱码或加密

  • 禁用 HTTP/2 :Charles 中 Proxy → SSL Proxying Settings → Enable HTTP/2 取消勾选。
  • 使用 Wireshark:若无法解密,直接分析 TCP 层流量。

七、安全注意事项

  1. 仅限测试环境:勿在生产环境或敏感数据场景使用。
  2. 及时删除证书:抓包完成后,卸载 Charles 证书。
  3. 法律合规:确保抓包行为符合隐私政策和法律法规。

通过上述步骤,您可以在移动端轻松捕获并分析 HTTP/HTTPS 请求,快速定位网络问题或优化 API 性能。

相关推荐
带刺的坐椅5 分钟前
Java MCP 的鉴权?好简单的啦
java·鉴权·mcp·solon-ai
Pocker_Spades_A8 分钟前
飞算JavaAI家庭记账系统:从收支记录到财务分析的全流程管理方案
java·开发语言
33255_40857_2805913 分钟前
掌握分页艺术:MyBatis与MyBatis-Plus实战指南(10年Java亲授)
java·mybatis
Ashlee_code29 分钟前
香港券商智能櫃台系統技術解決方案——融合跨境清算與AI風控,助力券商把握滬港雙市爆發機遇**
java·科技·金融·重构·架构·系统架构·php
蚰蜒螟40 分钟前
Spring 和 Lettuce 源码分析 Redis 节点状态检查与失败重连的工作原理
java·redis·spring
小张快跑。44 分钟前
Tomcat下载、安装及配置详细教程
java·服务器·tomcat
神仙别闹1 小时前
基于 JSP+Mysql实现MVC房屋租赁系统
java·mysql·mvc
m0_521329031 小时前
java-单元测试
java
掉鱼的猫1 小时前
Java MCP 的鉴权?好简单的啦
java·mcp
Java水解1 小时前
Java最新面试题(全网最全、最细、附答案)
java·后端·面试