是否可以使用Fiddler代理捕获HTTP/3(QUIC)流量? (提琴手经典)
我有一个很长的设置,可以使用Fiddler代理来捕获和解密HTTP,我使用越狱手机,以便我也可以绕着证书固定,并通过此代理来捕获流量和分析不同应用程序的访问请求/响应。我喜欢提琴手,因为它允许我随意随意修改内容以找到问题。今天,我遇到了一个不好表现的应用程序,经过几个小时的研究,我的问题似乎是因为该应用程序正在使用HTTP/3,而且我无法使其正常工作。我只是在这里吠叫吗?是否有可能与提琴手代理捕获这样的流量?还有我可以使用的功能相同的替代方案吗?我不是协议和证书等方面的专家。所以请在问题上忍受我:-)。感谢那里的任何大师可以提供帮助!
I have a long time setup which is capturing and decrypting HTTPS using Fiddler Proxy, I use my jailbroken phone so I can go around certificate pinning also and run it thru this proxy to capture traffic and analyze request/responses for different apps. I love Fiddler because it allows me to modify content on the fly at will to find issues. Today I ran into an app that is not behaving nicely and after some hours of research it seems my issue is because the app is using HTTP/3 and I haven't been able to make it work. Am I just barking at the wrong tree here? Is it even possible to capture such traffic with Fiddler Proxy? any alternatives with same like features that I could use? I'm not expert on protocols and certificates, etc. so please bear with me on the question :-). Thanks to any gurus out there that can help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不,这是不可能的。
截至目前,AFAIK没有支持HTTP/3的HTTP调试代理。对于Fiddler而言,他们仅在几个月前(2022年1月,HTTP/2的标准化7年)和仅在Fiddler中提供了HTTP/2的支持。没有提及任何我可以看到的Fiddler Classic运送它的时间表,也许从来没有。
我不能说提琴手团队的原因,但是我也保持了调试代理,总体问题是,大多数语言尚无稳定的库可轻松处理HTTP/3,这使得非常困难。这里有一些背景: https://daniel.haxx.se/blog/2021/10/25/the-quic-api-pi-openssl-will-not-not-provide/ 。现在有一些实验实现,但是在大多数情况下,与HTTP和HTTP/2不同(通常是作为编程语言的核心库的一部分,通常还提供许多经过战斗测试的用户空间实现)不同,没有什么易于集成和可靠的。
从http/2方法中,我猜想,http/3在提琴手中的支持至少要距离几年,只会到处走。 D必须问他们)。
同时,可用的最佳解决方法是完全阻止HTTP/3流量。行为良好的客户应自动退回到HTTP/1或2。使用防火墙阻止端口443上的所有UDP数据包通常就足够了(可以在其他端口上使用,但实际上我从未见过)。
No, it's not possible.
As of right now, AFAIK there are no HTTP debugging proxies that support HTTP/3. For Fiddler specifically, they only shipped HTTP/2 support a few months ago (Jan 2022, 7 years after HTTP/2 was standardized) and only in Fiddler Everywhere. There's no mention of any timeline for shipping it in Fiddler Classic I can see, maybe never.
I can't speak for the Fiddler team's reasons, but I also maintain a debugging proxy and the general problem is that most languages don't yet have stable libraries available to easily handle HTTP/3, which makes it very difficult to support. There's some background on the causes of this here: https://daniel.haxx.se/blog/2021/10/25/the-quic-api-openssl-will-not-provide/. There are some experimental implementations available now, but in most cases nothing that's easy to integrate and reliable, unlike HTTP and HTTP/2 (normally provided as part of programming languages' core libraries, often with many battle-tested userspace implementations available too).
From the HTTP/2 approach, I would guess that HTTP/3 support in Fiddler is a couple of years away at least and will only be coming to Fiddler Everywhere, not to Fiddler Classic (but I don't know for sure - you'd have to ask them).
In the meantime, the best workaround available is to block HTTP/3 traffic entirely. Well-behaved clients should fallback to HTTP/1 or 2 automatically. Blocking all UDP packets on port 443 using a firewall will generally be sufficient (it can be used on other ports, but I've never seen it in practice).