Как прочитать список запущенных процессов на удаленном компьютере в C ++ - PullRequest
2 голосов
/ 06 февраля 2010

Что можно сделать, чтобы узнать и перечислить все запущенные процессы на удаленном компьютере?
Одна идея состоит в том, чтобы сервер слушал наш запрос на удаленной машине, а другая - использовать ssh.
Проблема в том, что я не знаю, будет ли такой сервер запущен на удаленной машине, и я не могу использовать ssh, потому что он требует аутентификации. Есть ли другой выход?

Ответы [ 3 ]

4 голосов
/ 06 февраля 2010

Если вы

  • не может установить серверную программу на удаленном компьютере
  • не может использовать ничего, требующее аутентификации

тогда вы не должны знать список всех запущенных процессов на машине. Этот запрос будет кошмаром безопасности!

Вы можете сделать что-то гораздо более простое без (как и многих) проблем с безопасностью: отсканируйте общедоступные порты на наличие работающих программ. Такие программы, как nmap.org , позволяют получить достаточную информацию о публично работающих программах на компьютерах.

0 голосов
/ 06 февраля 2010

Предлагаю вам посмотреть код для удаленного входа в систему, rlogin. Вы можете удаленно войти в учетную запись, которая имеет необходимые привилегии. После входа в систему вы можете получить список процессов.

Это похоже на хорошее приложение для скрипта, а не на программу на C или C ++.

0 голосов
/ 06 февраля 2010

Я делал нечто подобное в прошлом, используя SNMP. У меня нет подробностей передо мной, но что-то вроде «snmpwalk -v2 -c public hostname prTable» дало мне таблицу процессов. Позже я вспоминаю, как настраивал SNMP для генерации ошибок, когда число процессов не соответствовало нашему указанному требованию, например, httpd должен иметь не менее 1 и не более 50.

...