解压缩记录的 GZIP 二进制数据

解压缩记录的 GZIP 二进制数据

为了验证我的应用程序是否正确地与服务器进行通信,我运行了

tcpdump -w ~/capture.txt -s 0 port 80

在一台服务器上,中间放置代理来捕获所有请求。这很有效,只是我的浏览器和服务器配置为在发送数据时使用 gzip。我现在有一个包含一堆二进制数据的 capture.txt 文件。解码这些数据以验证我的 api 调用是否正常工作的最简单方法是什么?

我曾尝试将请求的二进制负载复制到单独的文件中,然后对其进行压缩,但这不起作用...我只想以最简单的方式查看来回发送内容的纯文本版本。

答案1

不幸的是,我认为没有任何命令可以仅对文件的压缩部分进行 gunzip 处理。我认为您必须想办法让 tcpdump 管道输出通过 gunzip 压缩后的输出,然后再将其放入文件中。

顺便说一下,你为什么不使用像 curl 这样的东西http://服务器/api> apilog.txt ? 或者客户端是移动设备?

答案2

我现在有一个包含一堆二进制数据的 capture.txt 文件。

或者更准确地说,你有一个pcap 文件,带有误导性的后缀.txt(“误导”是因为它不是一个文本文件 - tcpdump 的输出-w绝不一个文本文件!),顾名思义,它是一堆二进制数据。

除了我的浏览器和服务器配置为在发送数据时使用 gzip 之外,这非常有效。

尝试加载 pcap 文件Wireshark;它有对压缩后的有效负载进行解压缩的代码。

相关内容