Командная строка plink удаленный целевой трафик захвата через Jumphost

Я пытаюсь перехватить трафик удаленного хоста через Jumphost с компьютера с Windows и отобразить в Wireshark.

Когда PUTTY GUI используется и настроен, как показано ниже

  1. Создан и сохранен SSH-сеанс (бастион-хост) для Jumphost
    • Соединение -> Данные -> Авторизованное имя пользователя настроено
    • Соединение -> SSH -> Auth -> файл закрытого ключа jumphost для аутентификации настроен
  2. Создал и сохранил еще один сеанс SSH (target-host), где будет происходить захват трафика
    • Соединение -> Данные -> Авторизованное имя пользователя настроено
    • Connection -> Proxy -> Proxy hostname, настроенный как прокси и порт 22
    • Соединение -> Прокси -> Команда Telnet или команда локального прокси как plink "bastion-host" -agent -nc %host:%port
    • Соединение -> SSH -> Удаленная команда как "sudo tcpdump -i ens5 -w - not port 22"
    • Соединение -> SSH -> Auth -> файл закрытого ключа целевого хоста для аутентификации настроен
  3. Загрузить и открыть сохраненный сеанс (target-host)

Результат

  1. Я вижу, как трафик захватывается и отображается на оконном терминале PUTTY.
  2. И "tcpdump" фактически выполняется на target-host.

На данном этапе я не знаю, как перенаправить это в Wireshark.

Далее, и это то, что я пытаюсь достичь, выполнить настройки выше через командную строку. Ниже приведена полная команда

plink.exe -proxycmd "putty.exe -ssh <username>@<jumphost-address> -i <private-key-file> -agent -nc <target-host>:22" -ssh <target-username>@<target-host> -i <target-private-key> "sudo tcpdump -ni ens5 -s 0 -w - not port 22" | "C:\Program Files\Wireshark\Wireshark.exe" -k -i -

Появляется Wireshark, но трафик не захватывается, так как я не вижу выполнения команды tcpdump.

Чтобы подтвердить работу plink, я протестировал аналогичную команду на хосте с прямым доступом, и все работает. Wireshark всплывает с живым захватом трафика.

plink.exe -ssh -pw <password> <username>@<my-host> "/usr/sbin/tcpdump -ni ens192 -s 0 -w - not port 22" | "C:\Program Files\Wireshark\Wireshark.exe" -k -i -

Итак, я считаю, что что-то не так с тем, как я использую команду plink. Спасибо, если кто-то может помочь мне исправить это.

Спасибо

ОС: Windows 7 Enterprise, 64 бит

PUTTY: релиз 0,70

1 ответ

Решение

Ответ, размещенный на этом посту, подсказкой для правильной команды сработал для меня.

Моя последняя команда

plink -proxycmd "plink <username>@<jumphost-address> -i <private-key-file> -nc <target-host>:22" <target-username>@<target-host> -i <target-private-key> "sudo tcpdump -ni ens5 -s 0 -w - not port 22" | "C:\Program Files\Wireshark\Wireshark.exe" -k -i -
Другие вопросы по тегам