Burp Suite 抓取手机 APP 流量需完成环境配置、证书信任、代理指向三个核心环节,不同移动操作系统(Android/iOS)在证书处理上存在差异,部分 APP 因安全机制需额外绕过措施。
基础环境准备
网络互通
手机与运行 Burp Suite 的电脑需处于同一局域网(同 Wi-Fi 或有线连接至同一路由器)。记录电脑本地 IP 地址(Windows 用 ipconfig,Linux/macOS 用 ifconfig 或 ip addr,如 192.168.1.100)。
Burp 代理设置
打开 Burp Suite → Proxy → Options → Proxy Listeners,点击 Add。
绑定地址选 0.0.0.0(允许所有设备连接),端口默认 8080(可自定义,需避开被占用端口),点击 OK 启用代理。
证书安装(影响 HTTPS 抓包)
Android 系统(以 Android 10+ 为例)
导出 Burp 证书
电脑浏览器访问 http://burp(或 http://127.0.0.1:8080),点击右上角 CA Certificate 下载证书(格式为 .der,默认名为 cacert.der)。
证书转换与推送
通过 openssl 转换格式:openssl x509 -inform DER -in cacert.der -out cacert.pem。
再转换为 Android 系统用户证书格式:openssl x509 -inform PEM -subject_hash_old -in cacert.pem | head -1,得到哈希值(如 abcdef12),将证书重命名为 abcdef12.0。
通过 adb 推送至手机:adb push abcdef12.0 /sdcard/,再进入手机文件管理器,将证书移动至 /system/etc/security/cacerts/(需 root 权限,非 root 设备可在设置 → 安全 → 加密与凭据 → 安装从存储设备的证书,选择下载的 .der 证书,命名后信任)。
iOS 系统
安装证书
手机浏览器访问 http://电脑IP:8080(如 192.168.1.100:8080),点击下载证书,按提示在设置 → 已下载描述文件中安装。
信任证书
进入设置 → 通用 → 关于本机 → 证书信任设置,开启 Burp 证书的完全信任开关。
手机代理配置
Android 代理设置
进入 Wi-Fi 列表,长按当前连接的网络 → 修改网络 → 高级选项 → 代理设为手动。
代理服务器主机名填电脑 IP(如 192.168.1.100),代理服务器端口填 Burp 监听端口(如 8080),保存。
iOS 代理设置
进入设置 → Wi-Fi → 点击当前网络后的感叹号 → 配置代理 → 手动。
服务器填电脑 IP,端口填 8080,关闭 “自动认证”,保存。
抓包操作与验证
测试连接
手机打开浏览器访问任意 HTTPS 网站(如 https://www.zmtests.com,Burp Suite 的 Proxy → Intercept 面板应显示请求包,说明基础配置生效。
抓取 APP 流量
打开目标 APP 进行操作(如登录、刷新数据),Burp 的 Proxy → HTTP history 面板会记录所有请求(包括 GET/POST 方法、URL、参数、响应等)。
若需拦截修改请求,开启 Intercept 开关,在 Intercept 面板点击 Forward 放行或 Drop 丢弃。
常见问题
HTTPS 流量无法解密(显示 unknown)
原因:证书未安装或未信任。
解决:重新检查证书安装步骤,确认系统已信任 Burp 证书。
APP 无网络或提示 “网络异常”
原因:代理设置错误(IP / 端口错误)或 APP 检测到代理。
解决:核对电脑 IP 和端口;部分 APP 会检测代理,可尝试使用 VPN 或修改手机 hosts 绕过。
流量显示 “SSL handshake failed”
原因:APP 启用证书绑定(Certificate Pinning),拒绝非预设证书。
解决:Android 可通过 Xposed 框架 + JustTrustMe 模块禁用证书校验;iOS 可使用 Frida 注入脚本绕过(如 frida -U -f 包名 —no-pause -l bypass-cert-pinning.js)。