解压 gzip 后的 HTTP 消息

发布于 08-19 14:23 字数 171 浏览 6 评论 0原文

我正在用 C 分析 Pcap 捕获,我需要解压缩 HTTP 的 Gzipped 主体 回复。 我知道我可以使用 Wireshark 手动执行此操作,但我需要在程序中动态执行此操作。

我的理解是我应该研究 zlib 和 RFC。但由于它是一个小分析程序,你知道我在哪里可以找到快速解决方案吗?

谢谢

I am analyzing Pcap captures with C and I need to uncompress the Gzipped body of the HTTP
replies.
I know that I can do that using Wireshark manually, but I would need to do it on the fly, inside my program.

My understanding is that I should look into zlib and the RFC. But since it's a little analysis program, do you know where I could find a quick solution?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

清晰传感2024-08-26 14:23:04

听起来您不需要从您已知的内容中阅读任何其他 RFC。您无需了解压缩算法即可使用它。

使用 zlib 非常简单。
您可以在几行代码内完成此压缩:这是一个示例

It doesn't sound like you'll need to read any additional RFCs from what you already know. You don't need to understand the compression algorithm to use it.

Using zlib is pretty easy.
You can do this deflating within a few lines of code: Here is an example.

孤独岁月2024-08-26 14:23:04

也许,无论您使用什么语言构建分析程序,都应该有一个已经准备好用于解码 gzip 压缩流的库。 Google 或 Bing 搜索“您选择的语言 gzip 实现”或类似内容,您可能会得到问题的解决方案。

作为最后的手段,你总是可以让你的程序使用 GNU gzip (必须有一个适合你的程序的版本)选择的系统)通过向其提供数据并使用 gzip 的解压缩输出进行处理。

Probably, whatever language you're building your analysis program in, there should be a library already ready to use to decode gzip compressed streams. Google or Bing for "your-language-of-choice gzip implementation" or something alike and you'll likely get the solution for your problem.

As a last resort, you may always get your program to use GNU gzip (there must be a build for your system of choice) by feeding the data to it and using gzip's decompressed output to work on.

颜漓半夏2024-08-26 14:23:04

解决了!我发现了一个名为 minigzip 的 gzip 实现。这是一个很好的小程序,可以解决这个问题,我将用作参考实现。

Solved! I found an implementation on gzip called minigzip. It's a little nice program that does the trick, i will use as a reference implementation.

南七夏2024-08-26 14:23:04

通过代理将 Accept-Encoding cleint 标头重写为 Accept-Encoding: compress;q=0, gzip;q=0 来运行它不是更简单吗

C.

Wouldn't it be simpler to run it rhough a proxy that rewrites the Accept-Encoding cleint header to Accept-Encoding: compress;q=0, gzip;q=0

?

C.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文