刚开始用 Burp Suite 做 Web 抓包时,最容易卡住的往往不是改包、重放这些功能,而是最基础的代理设置。
我见过的典型情况包括:浏览器打开网页后一直转圈、Burp 里看不到任何请求、HTTP 能抓但 HTTPS 提示证书错误。看起来是三个问题,实际上都和代理路径有关。
这篇按照我平时配置测试环境的顺序,把 Burp 代理监听、浏览器代理和 HTTPS 证书安装串起来讲一遍。以下操作只适用于自有系统或已经获得授权的测试环境。
Burp 抓包的工作路径
浏览器默认会直接连接网站。配置 Burp 后,请求路径会变成:
浏览器
↓
127.0.0.1:8080
↓
Burp Proxy
↓
目标网站或接口
这里涉及三个配置点:
- Burp 需要监听本机端口;
- 浏览器需要把请求发送到该端口;
- 抓取 HTTPS 时,浏览器还要信任 Burp CA 证书。
只要其中一项没有配对,抓包就可能失败。
图 1 建议:绘制“浏览器—Burp Proxy—目标服务器”的请求转发关系图。
第一步:检查 Burp 监听地址
启动 Burp Suite,依次进入:
Proxy → Proxy settings → Proxy listeners
正常情况下,可以看到默认监听项:
127.0.0.1:8080
其中:
127.0.0.1表示仅接收本机请求;8080是 Burp 默认使用的代理端口。
如果列表中没有监听项,可以新建一个:
Bind to address:127.0.0.1
Bind to port:8080
创建后确认 Running 或 Enabled 状态已经打开。
我一般不会一开始就改端口。先用默认的 8080 跑通,后面如果发现端口被占用,再统一改成 8081 或其他空闲端口。要注意,Burp 和浏览器填写的端口必须完全一致。
图 2 建议:截取 Proxy listeners 页面,标注监听地址、端口和运行状态。
第二步:配置 Chrome 或 Edge 代理
Chrome 和 Edge 通常使用系统代理。以 Windows 为例,进入:
设置 → 网络和 Internet → 代理 → 手动设置代理
打开“使用代理服务器”,填写:
地址:127.0.0.1
端口:8080
保存后,浏览器访问:
http://burp
如果能够打开 Burp 内置页面,说明浏览器请求已经进入 Burp。
如果不想修改整个系统的代理,也可以使用浏览器代理插件,单独建立一个 Burp 配置:
代理类型:HTTP
服务器:127.0.0.1
端口:8080
插件方式切换更方便,也不容易影响其他桌面软件。
第三步:配置 Firefox 代理
Firefox 可以使用独立的网络代理设置。路径为:
设置 → 常规 → 网络设置 → 设置
选择“手动配置代理”,填写:
HTTP 代理:127.0.0.1
端口:8080
HTTPS 代理:127.0.0.1
端口:8080
也可以勾选“对所有协议使用此代理服务器”。
如果测试对象是本机服务,还要检查“不使用代理”列表。Firefox 经常默认排除:
localhost
127.0.0.1
这会导致访问本地服务时绕过 Burp。需要抓取这类请求时,可以暂时移除对应排除项。
第四步:验证 Burp 能否抓到 HTTP 请求
进入:
Proxy → Intercept
确认当前状态为:
Intercept is on
然后访问一个 HTTP 测试页面。请求进入 Burp 后,浏览器会暂时等待,Intercept 页面则会显示类似内容:
GET / HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0
Accept: text/html
此时点击 Forward,请求才会继续发送。
如果只是查看流量,不需要逐条拦截,可以切换为:
Intercept is off
请求不会停住,但仍然会保存在:
Proxy → HTTP history
我平时排接口问题时,大部分时间都关闭 Intercept,直接从 HTTP history 里筛选域名和请求。只有需要临时修改参数、Cookie 或 Header 时,才打开拦截。
第五步:安装 Burp CA 证书
HTTP 抓包正常,但访问 HTTPS 页面提示证书错误,通常说明 Burp CA 证书还没有被信任。
保持浏览器代理开启,访问:
http://burp
点击页面中的 CA Certificate,下载证书。文件名通常类似:
cacert.der
Windows 安装方法
双击证书文件,选择“安装证书”,然后依次选择:
当前用户
→ 将所有证书都放入下列存储
→ 受信任的根证书颁发机构
完成后关闭并重新打开浏览器。
macOS 安装方法
双击证书,将其添加到“钥匙串访问”。找到对应的 Burp 证书后,展开“信任”,将“使用此证书时”改为:
始终信任
保存时需要输入系统密码。
Firefox 安装方法
Firefox 可能不会直接使用系统证书库,需要单独导入:
设置
→ 隐私与安全
→ 证书
→ 查看证书
→ 证书颁发机构
→ 导入
选择 Burp CA 证书,并勾选“信任由此证书颁发机构来标识网站”。
图 3 建议:展示证书下载入口,以及“受信任的根证书颁发机构”的选择位置。
第六步:检查 HTTPS 抓包结果
重新打开浏览器,访问一个授权测试站点。
然后进入:
Proxy → HTTP history
如果可以看到 HTTPS 请求的 URL、请求头、Cookie、参数和响应内容,说明证书与代理配置均已生效。
建议分别检查:
Request:请求方法、路径、Header、参数
Response:状态码、响应头、响应正文
如果页面能访问,但 history 中没有记录,优先检查浏览器是否被代理插件切换到了其他配置。
Burp 抓不到包怎么排查
Burp 中完全没有请求
先访问:
http://burp
如果该页面也打不开,说明浏览器没有正确进入 Burp,应该检查系统代理或浏览器代理插件。
网页一直加载
看看 Intercept 页面是否停着一条请求。如果有,点击 Forward,或者关闭 Intercept。
HTTP 正常,HTTPS 报错
重新检查 Burp CA 是否已经导入正确的证书存储位置。Firefox 用户还要确认是否在浏览器内部完成导入。
本地接口抓不到
检查代理排除列表中是否包含:
localhost
127.0.0.1
必要时使用电脑的局域网 IP 访问本地服务。
Burp 和浏览器端口不一致
例如 Burp 监听的是:
127.0.0.1:8081
浏览器却填写:
127.0.0.1:8080
这种情况下请求不会进入 Burp。修改端口时,两边必须同步。
我常用的配置顺序
为了减少干扰,我通常按下面的顺序操作:
1. 确认 Burp 正在监听 127.0.0.1:8080
2. 设置浏览器代理
3. 访问 http://burp 验证代理路径
4. 测试 HTTP 请求
5. 下载并安装 Burp CA
6. 测试 HTTPS 请求
7. 在 HTTP history 中确认完整记录
8. 最后再配置手机、虚拟机或其他代理
Burp 代理设置不难,难的是同时开着系统代理、浏览器插件、VPN 和公司网络代理时,请求到底走了哪条路。
第一次配置时,尽量只保留 Burp 这一层代理。先把最简单的浏览器抓包跑通,再处理手机、App 和复杂网络环境,排查效率会高很多。