你们知道为什么 WireShark 可能会拒绝在 Windows 上解码经过 gzip 处理的 http 流量吗?
我的配置
在“首选项”/“协议”/“HTTP”中选中“未压缩实体主体”选项。
这是我的“跟随 TCP 流”对话框的样子:
当我第一次打开此对话框时,下面的单选按钮设置为“Raw”,但是当我单击“ASCII”时,没有任何变化。
有什么想法吗?
如果您查看“基于行的文本数据”条目下的协议树,您将看到未压缩的数据。 “跟随 TCP 流”对话框仅显示 TCP 有效负载的内容,不会将其解释为 HTTP 或 gzip 数据或其他任何内容。对话框上的按钮允许您设置流字节的显示格式。
您可以右键单击未压缩的数据(参见下面的红色#)并选择“导出选定的数据包字节...”以保存到文件
Wireshark 现已提供支持。只需右键单击标识为 HTTP 的数据包顶部(协议列 = HTTP),然后单击“Follow”和“HTTP Stream”。这应该将压缩响应解码为纯文本。
就当前 Wireshark 而言,接受的答案是正确答案——但在 IMO 中使用起来相当笨拙。
所以我编写了一个小脚本 wireshark-http-gunzip (需要 Ruby)将整个输出转换为您期望的格式。希望在这里遇到困难的人发现它很有用。
我们遇到了基于行的文本不可见的问题,请确保选中 TCP 配置中的“重新组装乱序段”。