安卓APP抓包实战:从零搭建Postern+Charles+Burpsuite三件套

移动应用安全测试的第一步往往是流量分析。许多开发者初次尝试抓包时会遇到各种阻碍——APP禁用代理、HTTPS证书校验、数据加密传输等问题接踵而至。本文将用最直白的语言,带你一步步搭建能应对复杂场景的抓包环境。不同于单工具方案,这套组合拳能突破90%的流量拦截限制。

1. 环境准备与工具定位

工欲善其事,必先利其器。我们先理清各工具的分工:

  • Postern 3.1.2:作为VPN通道强制转发所有流量,突破APP的代理限制
  • Charles 4.6.4:主抓包工具,负责SOCKS代理和流量可视化
  • Burpsuite:专业安全测试工具,用于深度流量分析和修改

必备材料清单

1. 安卓手机(需Android 7+)
2. 电脑(Windows/Mac均可)
3. USB数据线/同一WiFi网络
4. Postern_3.1.2.apk
5. Charles-proxy-4.6.4.dmg/exe
6. Burpsuite专业版/社区版

注意:所有工具建议从官网下载,避免第三方修改版的安全风险。Charles试用版有30分钟重启限制,正式测试前请做好时间规划。

2. Charles的核心配置

启动Charles后,按以下步骤建立SOCKS代理通道:

  1. 进入Proxy -> Proxy Settings菜单
  2. 勾选Enable SOCKS proxy
  3. 设置端口号为16666(可自定义未被占用的端口)
  4. 保存设置无需重启服务

关键参数对照表

配置项 推荐值 注意事项
SOCKS代理状态 启用 必须勾选
监听端口 16666 避开常见服务端口范围
代理绑定地址 0.0.0.0 允许所有网络接口连接

此时在终端运行以下命令验证端口监听:

netstat -an | grep 16666
# 应看到类似: tcp6   0   0  *.16666    *.*    LISTEN

3. Postern的VPN魔法

在手机上安装Postern后,需要建立与Charles的桥梁:

  1. 打开App点击Proxy List
  2. 新增代理配置:
    • 类型:SOCKS5
    • 主机:填写电脑的局域网IP(ifconfig/ipconfig查看)
    • 端口:16666(与Charles设置一致)
  3. 进入Rules添加全局规则:
    • 目标:All
    • 动作:Proxy
    • 代理:选择刚创建的SOCKS代理
  4. 返回主界面启动VPN开关

常见问题排查

  • 如果VPN图标不显示,检查手机系统设置中的VPN配置
  • 出现连接超时需确认电脑防火墙放行了16666端口
  • 数据不通时尝试关闭WiFi的私有地址功能(iOS)或随机MAC(Android)

4. Burpsuite的协同作战

让流量经过Burpsuite需要两步关键操作:

  1. 在Charles中设置上游代理:

    • 进入External Proxy Settings
    • 启用Use external proxy servers
    • 添加HTTP代理指向Burpsuite(默认127.0.0.1:8080)
  2. 配置Burpsuite监听:

# 在Proxy -> Options中添加监听项
{
  "bind_address": "0.0.0.0",
  "bind_port": 8080,
  "support_invisible_proxying": true
}

提示:遇到HTTPS网站显示乱码时,需在手机和电脑分别安装Charles/Burpsuite的CA证书。Android 7+需要将证书安装到系统级信任区才能绕过证书锁定。

5. 实战验证与高阶技巧

完成所有配置后,打开目标APP应能看到:

  • Charles显示SOCKS连接建立
  • Burpsuite接收到经过解密的HTTP流量
  • Postern状态栏显示VPN活跃和数据传输

效率提升技巧

  • 在Charles中设置Focus功能过滤目标域名
  • 使用Burpsuite的Match and Replace自动修改特定请求
  • 对加密参数可启用Intruder模块进行暴力破解

测试结束后,建议:

  1. 关闭Postern的VPN开关
  2. 清除Charles的会话记录
  3. 重置Burpsuite的代理设置

这套环境最妙之处在于它的灵活性——你可以随时通过开关Postern切换抓包模式,无需反复修改手机网络设置。对于需要同时监测多个APP的场景,只需保持VPN开启,所有流量都会乖乖地流经你的分析工具。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐