安卓APP抓包解决方案(教程)
字数 1593 2025-08-26 22:11:45
Android APP抓包解决方案教程
环境准备
所需工具
- Kali Linux:用于证书转换操作
- Windows系统:运行Charles和Burp Suite
- Burp Suite:用于渗透测试和修改数据包
- 夜神模拟器:推荐版本V7.0.2.2000,Android 7.0以上系统
- Charles:HTTP/HTTPS抓包工具
- Postern:Android全局代理工具
工具下载地址
详细配置步骤
1. 安装Postern
- 下载Postern安装包(APK文件)
- 直接将APK文件拖入夜神模拟器中自动安装
2. 安装Charles
- 运行Charles安装程序
- 按照向导完成安装(确保系统中没有已安装的Charles)
Charles破解方法(可选)
- 使用在线工具生成随机license key
- 打开Charles → Help → Register Charles
- 填入生成的license key
3. 安卓导入Charles系统级证书
生成证书
- 在Charles中:Help → SSL Proxying → Save Charles Root Certificate
- 保存为.pem格式证书文件
证书转换
- 使用Kali Linux中的openssl计算证书文件名:
输出类似:openssl x509 -inform PEM -subject_hash_old -in charles-ssl-proxying-certificate.pem | head -11d5ca3e1 - 将证书文件重命名为
1d5ca3e1.0
推送证书到安卓系统
- 连接模拟器adb:
adb connect 127.0.0.1:62001 - 给/system目录读写权限:
adb root adb remount - 推送证书:
adb push 1d5ca3e1.0 /system/etc/security/cacerts/ - 重启模拟器:
adb reboot
4. Burp Suite导入Charles证书
- 在Charles中:Help → SSL Proxying → Save Charles Root Certificate
- 选择.p12格式导出
- 在Burp Suite中:Proxy → Options → Import / export CA certificate
- 选择导出的.p12文件并输入密码
5. Charles工具配置
代理设置
- Proxy → Proxy Settings
- 选择SOCKS Proxy模式
- 配置:
- Host: 127.0.0.1
- Port: 8889
- 取消勾选"Windows Proxy"
SSL代理设置
- Proxy → SSL Proxy Settings
- 点击Add添加:
- Host: *
- Port: 443
- 保存设置
6. Postern工具配置
代理配置
- 打开Postern应用
- 点击左上角菜单 → 代理 → 添加代理
- 配置:
- 名称:任意(如Charles)
- 服务器地址:PC本机IP(如192.168.x.x)
- 端口:8889(与Charles SOCKS设置一致)
- 类型:SOCKS5
- 保存配置
规则配置
- 删除所有默认规则
- 添加新规则:
- 操作:代理
- 代理:选择刚创建的代理
- 其余保持默认
- 保存规则
启用代理
- 在Postern主界面底部启用开关
- 启用后右上角会出现钥匙图标
7. 联合Burp Suite配置
- 在Charles中:Proxy → External Proxy Settings
- 配置:
- HTTP Proxy: 127.0.0.1:8080
- HTTPS Proxy: 127.0.0.1:8080
(端口与Burp监听端口一致)
测试验证
- 在模拟器中访问百度或其他网站
- 检查Charles是否能捕获请求
- 检查Burp Suite是否能接收到转发请求
注意事项
- Charles免费版每次只能运行30分钟,需手动重启
- 确保所有工具的端口配置一致
- 部分APP可能有额外的证书校验机制,需要额外处理
- 抓包完成后及时关闭Postern代理,避免影响正常使用
通过这套配置,可以解决90%以上的Android APP抓包问题,为渗透测试工作提供便利。