Удаленная команда ssh tcpdump через шлюз, которая будет открыта в реальном времени в Wireshark на локальном компьютере

Я (хост A - Windows основан на использовании plink) пытаюсь подключиться к удаленному серверу Linux (хост C) через сервер шлюза linux (хост B), и запустить этот tcpdump на хосте C, чтобы он был передан обратно на хост A (предположим через Host B I) и открыт в режиме реального времени с помощью Wireshark на хосте A:

Ниже приведена команда, когда шлюз не используется ("прямая удаленная выборка"). Итак, как мне заставить эту работу проходить через мой сценарий хоста B шлюза B выше?

Хост A$ plink.exe -ssh -pw abc123 root@ Хост C "tcpdump -s0 -U -n -w - -i eth0, а не порт 22" | "C:\Program Files\Wireshark\Wireshark.exe" -k -i -

1 ответ

Там эквивалент OpenSSH ProxyCommand:

plink -proxycmd "plink -nc %host:%port user@HostB" root@HostC ...

Обычные вложенные команды должны работать так же хорошо (-A опция для переадресации агента SSH полезна в этом случае):

plink user@HostB "ssh root@HostC tcpdump ..." | wireshark
Другие вопросы по тегам