2012-10-17 33 views
12

你們知道爲什麼WireShark可能拒絕解碼Windows上的gzip'ed http流量嗎?WireShark不解碼Windows上的gzip'ed http流量

我的配置

  • 是Wireshark 1.8.3
  • Windows 7旗艦版64位
  • 的WinPcap 4.1.2

選項 「未壓縮實體機構」 在首選項/協議檢查/ HTTP 。

這裏是我的「跟隨TCP流」對話框中的樣子:

enter image description here

當我第一次打開此對話框單選按鈕下方設置爲「原始」,但是當我點擊「ASCII 「 沒有什麼變化。

任何想法?

回答

22

如果您查看「基於行的文本數據」條目下的協議樹,您將看到未壓縮的數據。 「Follow TCP Stream」對話框僅顯示TCP有效負載的內容,不會將其解釋爲HTTP或gzip壓縮數據或其他任何內容。對話框上的按鈕允許您設置流字節的顯示格式。

您可以在未壓縮的數據(見下面的紅色#)右鍵單擊,選擇「導出所選包字節...」,保存到一個文件

enter image description here

+0

謝謝!不幸的是,我不確定我明白你指的是什麼。我無法在UI中找到「基於行的文本數據」。您能否詳細說明或者/或者添加屏幕截圖? – expert

+0

在按詳細順序列出所有協議的數據包詳細信息窗格中,「超文本傳輸​​協議」條目底部下方將出現一個名爲「基於行的文本數據」的項目。在十六進制字節窗格的「未壓縮實體主體」中也會有完整的十六進制和ASCII轉儲數據。在https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3528還有一個長期的增強請求,使Follow TCP流對話框顯示未壓縮的數據。 –

+1

這是該死的不幸。我會看看源代碼。也許我可以實施它。 – expert

2

接受的答案是根據目前的Wireshark正確答案 - 但使用IMO相當笨拙。

所以我寫了一個小腳本wireshark-http-gunzip(需要Ruby)將整個輸出轉換爲您期望的格式。希望任何在這裏絆倒的人都覺得它有用。

+0

該腳本就像一個魅力! – Mine