使用带有远程接口的 Wireshark

使用带有远程接口的 Wireshark

我有一个使用 SSH 登录的远程容器,并想使用 Wireshark 捕获其流量。

在 Mac 或 Linux 环境中我可以写

ssh remote-ssh-host 'sudo tcpdump -U -i eth1 -w -' | wireshark -i - -k

有人知道 Windows 的等效版本吗?

答案1

捕获设置/管道文章中有一些针对 Windows 的命名 FIFO 示例,并提到 Wireshark 支持从 TCP 连接读取捕获内容,而不仅仅是从管道读取。

  1. 开始捕获并将其传送到 TCP 侦听器:

    ssh -L 12345:127.0.0.1:12345 root@host "socat -u exec:'tcpdump -U -w - -i eth1' tcp-l:12345,bind=127.0.0.1"
    

    或者

    ssh -L 12345:127.0.0.1:12345 root@host "tcpdump -U -w - -i eth1 | nc -v -l -s 127.0.0.1 -p 12345"
    
  2. 另外,启动 Wireshark:

    "C:\Program Files\Wireshark\Wireshark.exe" -k -i [email protected]:12345
    

如果您在 Windows 上没有 OpenSSH,但有 PuTTY,则替换sshplink(或可能plink -no-antispoof);所有其他选项保持不变。

相关内容