Командная строка plink удаленный целевой трафик захвата через Jumphost
Я пытаюсь перехватить трафик удаленного хоста через Jumphost с компьютера с Windows и отобразить в Wireshark.
Когда PUTTY GUI используется и настроен, как показано ниже
- Создан и сохранен SSH-сеанс (бастион-хост) для Jumphost
- Соединение -> Данные -> Авторизованное имя пользователя настроено
- Соединение -> SSH -> Auth -> файл закрытого ключа jumphost для аутентификации настроен
- Создал и сохранил еще один сеанс 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 -> файл закрытого ключа целевого хоста для аутентификации настроен
- Загрузить и открыть сохраненный сеанс (target-host)
Результат
- Я вижу, как трафик захватывается и отображается на оконном терминале PUTTY.
- И "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 -