BurpSuite中文网站 > 新手入门 > BurpSuite HTTP/2抓包看不到数据怎么办 BurpSuite HTTP/2解析选项怎么开启
教程中心分类
BurpSuite HTTP/2抓包看不到数据怎么办 BurpSuite HTTP/2解析选项怎么开启
发布时间:2026/01/26 14:56:34

  做Web测试时,如果站点或客户端默认走HTTP/2,你在BurpSuite里却看不到请求体、响应体,甚至HTTP history里没有任何条目,往往会让排查方向跑偏。处理这类问题要先确认流量是否真的进了代理链路,再把HTTP/2相关的入站与出站开关分别核对清楚,最后用协议显示位确认每条请求实际用的版本,避免“看起来像没数据”其实只是展示口径不同。

 

  一、BurpSuite HTTP/2抓包看不到数据怎么办

 

  HTTP/2抓包“看不到数据”常见有三种表现:HTTP history不增长、只有CONNECT看不到解密后的明文、条目存在但正文为空或只显示片段。建议按下面顺序定位,先把代理链路与证书问题排干净,再进入HTTP/2相关设置。

 

  1、先看【Proxy】→【HTTP history】是否有新条目

 

  打开【Proxy】→【HTTP history】,在浏览器里对同一页面连续刷新几次,如果条目能增长,说明流量已进入BurpSuite但可能没被拦截;如果条目完全不增长,优先回到浏览器代理设置与监听器状态排查。

  2、确认【Settings】→【Tools】→【Proxy】里监听器处于Running

 

  点击顶部【Settings】打开设置对话框,进入【Tools】→【Proxy】,在Proxy listeners表格里确认至少有一条监听器勾选Running;如果无法勾选或提示端口占用,先在【Edit】里换一个端口并保存,然后同步把浏览器代理端口改成一致。

 

  3、页面能打开但只有CONNECT或HTTPS内容不完整时,先把证书链路补齐

 

  如果浏览器能通过BurpSuite访问HTTPS站点,但页面资源缺失、脚本加载不全,通常是浏览器未信任BurpSuite的CA证书导致;把CA证书安装到浏览器或系统信任库后,再观察HTTP history里是否出现完整的请求与响应。

 

  4、条目存在但响应体为空时,检查是否被当作Streaming处理

 

  遇到SSE或长连接类接口时,BurpSuite可能把它当作Streaming response直接透传,历史记录里会出现“看起来没有完整正文”的情况;进入【Settings】→【Network】→【HTTP】,在Streaming responses区域启用Store streaming responses,并确认相关URL匹配规则覆盖到目标接口,再回到HTTP history重新触发请求观察是否能存下完整内容。

 

  5、特定客户端走HTTP/2时异常,先把客户端到Burp的HTTP/2入站关掉验证

 

  少数客户端的HTTP/2实现不稳定,可能导致代理侧解析不完整;点击【Settings】→【Tools】→【Proxy】,在Proxy listeners里选中对应监听器点【Edit】,切到【HTTP/2】页签,取消勾选Support HTTP/2,让该监听器只接受HTTP/1,然后再重试抓包对比差异。

 

  6、需要临时强制走HTTP/1排除协议因素时,改项目默认协议

 

  如果你只是要先把业务数据抓全、再回头做协议层测试,可以先把项目默认协议改成HTTP/1;进入【Settings】→【Network】→【HTTP】,取消Default to HTTP/2 if the server supports it,BurpSuite将优先用HTTP/1与服务器通信,后续仍可对单条请求再切回HTTP/2验证。

 

  二、BurpSuite HTTP/2解析选项怎么开启

 

  BurpSuite的HTTP/2相关开关可以按“入站与出站”来理解:入站是客户端到BurpSuite代理监听器是否允许HTTP/2,出站是BurpSuite到目标服务器是否默认使用HTTP/2。把这两处都对齐后,再用协议显示位确认解析已生效。

 

  1、开启客户端到代理监听器的HTTP/2支持

 

  点击【Settings】→【Tools】→【Proxy】,在Proxy listeners里选中你正在使用的监听器点击【Edit】,进入【HTTP/2】页签,勾选Support HTTP/2;这决定浏览器或App与BurpSuite之间是否允许使用HTTP/2。

 

  2、开启BurpSuite到服务器的默认HTTP/2行为

 

  点击【Settings】→【Network】→【HTTP】,勾选Default to HTTP/2 if the server supports it;该选项开启后,BurpSuite会在TLS握手阶段基于ALPN协商结果,对支持HTTP/2的服务器默认走HTTP/2。

  3、用消息编辑器里的协议版本确认是否已按HTTP/2解析展示

 

  在消息编辑器里查看请求行与状态行,BurpSuite会在这里显示协议版本;即便底层是HTTP/2,编辑器也会以HTTP/1风格的可读形式呈现,同时保留协议版本提示,方便你快速识别当前请求走的是HTTP/1还是HTTP/2。

 

  4、需要查看伪首部与更贴近原始HTTP/2结构时,用Inspector视图

 

  在【Proxy】→【HTTP history】点开单条记录,查看右侧Inspector,在Request Attributes里可以看到协议版本信息;对可编辑的请求场景,如拦截到的请求或发到Repeater的请求,还可以用Protocol开关在HTTP/1与HTTP/2之间切换发送。

 

  5、目标未通过ALPN宣告HTTP/2但你要验证隐藏面时,开启Repeater的ALPN override

 

  如果你需要在BurpSuite里尝试对未显式宣告HTTP/2的目标发送HTTP/2请求,用于验证隐藏HTTP/2支持,可在Repeater顶部菜单里启用Allow HTTP/2 ALPN override;开启后,Repeater允许在不满足常规ALPN宣告条件时尝试发送HTTP/2请求。

 

  三、BurpSuite协议显示与切换怎么处理

 

  很多“HTTP/2看不到数据”的误判来自两点:一是你没确认每条请求到底走了哪个版本,二是你在不该强行走HTTP/2的场景里混用了协议。把协议显示位用起来,再根据目的选择合适的切换方式,抓包与复测会顺很多。

 

  1、把“这条请求用的协议”固定为必查项

 

  在消息编辑器的请求行与状态行能看到协议版本;在Repeater界面右上角也会显示当前协议;Inspector的Request Attributes同样能显示协议版本,这三个位置任选一个养成固定核对习惯。

 

  2、调试阶段先用HTTP/1把数据链路跑通,再回切HTTP/2做专项验证

 

  当你优先目标是把业务流程跑通、把关键请求响应抓全时,先在【Settings】→【Network】→【HTTP】里关闭Default to HTTP/2 if the server supports it,让BurpSuite更稳定地以HTTP/1工作;等数据链路确认无误后,再对关键请求在Inspector里切换到HTTP/2做对比验证。

 

  3、遇到客户端侧HTTP/2实现导致的不稳定,优先收敛入站协议

 

  如果是某个浏览器版本、移动端WebView或特定SDK导致抓包异常,优先在代理监听器层面把Support HTTP/2关掉,用HTTP/1稳定接入;这不会改变BurpSuite到服务器的出站协议选择,你可以把变量拆开逐个验证,定位更快。

  4、长连接与流式接口要把存储方式一并调整

 

  接口本身是持续推送或分段返回时,即使协议没问题,也会出现“历史里正文不全”的观感;把Streaming responses的Store streaming responses开关与URL匹配规则配置好,再观察HTTP history与Repeater里是否能得到你需要的完整内容与可回放证据。

 

  总结

 

  BurpSuite遇到HTTP/2抓包看不到数据时,先用【Proxy】→【HTTP history】和【Settings】→【Tools】→【Proxy】把代理链路跑通,再分别核对HTTP/2的入站Support HTTP/2与出站Default to HTTP/2 if the server supports it两处开关。确认解析生效后,用消息编辑器与Inspector的协议显示位锁定每条请求实际版本,必要时先降到HTTP/1稳定取证,再回切HTTP/2做协议层验证,整体排查会更可控。

读者也访问过这里:
135 2431 0251