Linux

如何從遠端 Linux 主機收集 Wireshark 中的 HTTP 數據?

  • January 7, 2018

我正在嘗試使用Wireshark使用 SSH 隧道從遠端主機收集 HTTP 請求和響應。所以我有一個帶有Wireshark的****Windows 主機,一個帶有tcpdump的****Linux主機和一個監聽埠 5000 的 Web 伺服器。

我在 linux 主機上執行 tcpdump 並嘗試在 windows 主機上獲取輸出。我可以很好地看到數據包的流向,但我看不到HTTP

當我嘗試向 Web 主機發送任何請求時,我看到一些 tcp 數據包流入和流出,但沒有 HTTP。必須提到的是,當我在 Linux 主機上執行相同的 tcpdump 命令時,我看到了 HTTP 請求和響應。

C:\Users\mne\Desktop\plink.exe -ssh -pw XZY root@somehost.com "tcpdump -i any 'port 5000'" -w - | "C:\Program Files\Wireshark\Wireshark.exe" -k -i -

這是輸出的樣子:

在此處輸入圖像描述


任何人都可以幫助我獲取 Wireshark 中的 HTTP 數據以便能夠分析它們嗎?


更新

我將dumptcp的輸出導出到一個文件(我可以清楚地看到 HTTP 請求正文和標頭)。我試圖在 Wireshark 中打開該文件,但 Wireshark無法顯示 HTTP。

Wireshark 不會自動將此連接視為 HTTP,因為它位於 TCP 埠 5000 上,這不是 HTTP 流量的常用埠。

無論如何,要讓 Wireshark 將其解釋為 HTTP 流量,請右鍵點擊其中一個響應數據包,選擇解碼為…,然後從列表中選擇HTTP 。

引用自:https://serverfault.com/questions/891122