Сканирование портов с удаленных хостов - PullRequest
1 голос
/ 03 апреля 2020

У меня проблемы с сканированием портов на удаленных хостах. У меня есть список машин, который выглядит следующим образом:

10.134.71.197:169.50.114.1:4730

Что означает: remote_host: destination: port

Я пытался решить эту проблему используя Ansible файл инвентаря, но это может быть излишним. Я думал о каком-то bash однострочнике, который выглядит так:

for i in `cat list`; do echo $i >> output_file; ssh $i@remote_host "nc -zv destination port" >> output_file; done

Однако я все еще получаю вывод с локального хоста вместо удаленного сервера:

[user@server dir]$ for i in `cat list`; do echo $i >> output_file; ssh root@$i "nc -zv 169.50.114.1 4730" >> output_file; done

Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 169.50.114.1:4730.
Ncat: 0 bytes sent, 0 bytes received in 0.03 seconds.

[user@server dir]$ cat output_file

10.134.71.197

Какой самый эффективный способ решения этой задачи?

1 Ответ

0 голосов
/ 04 апреля 2020

Вывод ssh выводится в stderr, поэтому вам также необходимо перенаправить stderr в файл

for i in cat list; do echo $i >> output_file; ssh root@$i "nc -zv 169.50.114.1 4730" >> output_file 2>&1; done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...