关于 HTTP/2 抓包

2021-08-02 15:37:35 +08:00
 cjw1115

Fiddler 好像是不支持 http/2,

Wireshark 虽然可以抓到 HTTP/2, 但是只限于 Chrome 浏览器和自己拥有密钥的服务器。

我想抓一个 Windows Update 相关的的 servie,在 wireshark 里看到它用了 HTTP/2, 愁啊。

各位老哥有什么经验吗,好用的工具吗?

2264 次点击
所在节点    问与答
16 条回复
lx0758
2021-08-02 17:00:41 +08:00
Http2 是基于 Https 的, 你想, 你使劲想
2kCS5c0b0ITXE5k2
2021-08-02 17:26:49 +08:00
自签一个根证书.
wellsc
2021-08-02 17:35:12 +08:00
@lx0758
hronro
2021-08-02 18:25:36 +08:00
@wellsc 基于 HTTPS 的话,除非自签证书,不然不可能解密包的
des
2021-08-02 18:31:07 +08:00
@hronro 我记得浏览器可以设置环境变量,导出密钥的,不用自签
locoz
2021-08-02 19:28:45 +08:00
Charles 应该是支持 HTTP2 的,这工具追新追得很快,很多 Fiddler 搞不定的它都可以搞。话说不能降级处理吗?你要抓包的东西强制 HTTP2 了?
wellsc
2021-08-02 19:53:32 +08:00
@hronro 我想说 http2 难道不是基于 tcp 的吗?
ysc3839
2021-08-02 20:39:07 +08:00
就算 Fiddler 不支持 HTTP/2,在配置了中间人攻击的情况下也能强制降级为 HTTP/1.x 吧?不确定 Fiddler 有没有这个功能,没有的话可以看看 mitmproxy 。
locoz
2021-08-02 22:01:11 +08:00
@ysc3839 #8 有降级功能,但是如果别人强制走 HTTP2 的话其实也没啥办法…
cjw1115
2021-08-03 01:01:09 +08:00
@ysc3839 同时用 fiddler 和 wireshark, fiddler 里面看不到,wireshark 能看到是 http2
cjw1115
2021-08-03 01:04:16 +08:00
@locoz 因为是 windows,那天简单试了下 charles,好像也不行。我要抓的东西是和 windows update 相关的,http2 请求是从 windows update 的 service 内部发出的
cz5424
2021-08-03 08:36:36 +08:00
Wireshark 没有仅限于 Chrome,用法错误?试一下 ping 微软的域名,然后 Wireshark 过滤出来。我没尝试过 Wireshark 解 ssl
7gugu
2021-08-03 09:31:36 +08:00
whistle ?
whwlsfb
2021-08-03 10:16:46 +08:00
用 Burpsuite 抓包,最新版本已经支持抓 HTTP/2 的流量
cjw1115
2021-08-03 13:29:33 +08:00
@cz5424 因为 chrome 可以把 http2 里握手阶段相关的密钥信息保存在一个特定文件,wireshark 可以读取这个文件,所以可以用来解相关的包,但是我现在抓的那个他不往那个文件写密钥信息,所以不好搞。
cjw1115
2021-08-03 17:36:06 +08:00
@whwlsfb 感谢老哥,这个工具用起来很酷

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/793172

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX