我正在尝试使用以下方法从远程主机收集 HTTP 请求和响应Wireshark使用 SSH 隧道。所以我有Windows 主机和Wireshark以及Linux主办tcpdump在其上还有一个监听 5000 端口的 Web 服务器。
我在 Linux 主机上执行 tcpdump,并尝试在 Windows 主机上获取输出。我可以清楚地看到数据包的流动,但我看到没有 HTTP!
当我尝试向 Web 主机发送任何请求时,我看到一些 TCP 数据包流入和流出,但没有 HTTP。必须提到的是,当我在 Linux 主机上执行相同的 tcpdump 命令时,我看到了 HTTP 请求和响应。
C:\Users\mne\Desktop\plink.exe -ssh -pw XZY [email protected] "tcpdump -i any 'port 5000'" -w - | "C:\Program Files\Wireshark\Wireshark.exe" -k -i -
输出如下所示:
有人能帮我获取 Wireshark 中的 HTTP 数据以便进行分析吗?
更新
我导出的输出转储TCP到一个文件(我可以清楚地看到 HTTP 请求主体和标头)。我尝试在 Wireshark 中打开该文件,但 Wireshark无法显示 HTTP。
答案1
Wireshark 不会自动将此连接视为 HTTP,因为它位于 TCP 端口 5000 上,而该端口不是 HTTP 流量的常用端口。
要让 Wireshark 将其解释为 HTTP 流量,请右键单击其中一个响应数据包,选择解码为...然后选择HTTP从列表中。