Что можно сделать, чтобы узнать и перечислить все запущенные процессы на удаленном компьютере?
Одна идея состоит в том, чтобы сервер прослушивал наш запрос на удаленной машине, а другой - использовать ssh.
Проблема в том, что я не знаю, будет ли такой сервер работать на удаленном компьютере, и я не могу использовать ssh, потому что ему нужна аутентификация.
Есть ли другой выход?как читать список запущенных процессов на удаленном компьютере в C++
ответ
Если вы
- не может установить программу сервера на удаленном компьютере
- ничего не может использовать, что требует проверки подлинности
, то вам не следует допускать, чтобы узнать список всех запущенных процессов на машине. Этот запрос был бы кошмаром безопасности!
Вы можете сделать что-то гораздо более простое (так много) проблем с безопасностью: сканировать общедоступные порты для запущенных программ. Такие программы, как nmap.org, сообщают вам информацию о публичных программах на машинах.
+1, это правильно! – sud03r
Я сделал что-то подобное в прошлом, используя SNMP. У меня нет особенностей передо мной, но что-то вроде «snmpwalk -v2 -c public hostname prTable» достало мне таблицу процессов. Я вспоминаю позже о настройке SNMP для генерации ошибок, когда количество процессов не соответствовало нашему указанному требованию, например, httpd должен иметь не менее 1 и меньше 50.
Предлагаю вам ознакомиться с кодом для удаленного входа, rlogin
, Вы можете удаленно войти в учетную запись, у которой есть привилегии, которые вам нужны. После входа в систему вы можете получить список процессов.
Это похоже на хорошее приложение для скрипта, а не для программы на C или C++.
Вопросник уже сказал, что он не может использовать аутентификацию. –
На какой платформе вы работаете? –
У вас должно быть что-то на удаленном сервере, независимо от того, выполняется ли оно самостоятельно или как службы ОС. – Francis
работает на linux – gunjit