如何在C ++中读取远程计算机上正在运行的进程列表

时间:2010-02-06 04:05:13

标签: c++ c linux remote-access

如何知道并列出远程计算机上的所有正在运行的进程? 一个想法是让服务器在远程机器上监听我们的请求,另一个是使用ssh 问题是我不知道是否会有这样的服务器在远程机器上运行,我不能使用ssh,因为它需要身份验证。
还有其他出路吗?

3 个答案:

答案 0 :(得分:4)

如果你

  • 无法在远程计算机上安装服务器程序
  • 不能使用任何需要身份验证的内容

然后,您不应该被允许知道计算机上所有正在运行的进程的列表。那个请求将是一场安全噩梦!

如果没有(尽可能多)安全问题,您可以做更简单的事情:扫描公共端口以查找正在运行的程序。像nmap.org这样的程序可以让您了解有关机器上公开运行的程序的相关信息。

答案 1 :(得分:0)

我过去使用SNMP做过类似的事情。我没有在我面前的具体细节,但像“snmpwalk -v2 -c public hostname prTable”这样的东西让我得到了进程表。我记得以后配置SNMP以在进程数量不符合我们的指定要求时生成错误,例如httpd必须至少为1且小于50.

答案 2 :(得分:0)

我建议您查看远程登录的代码rlogin。您可以远程登录到具有所需权限的帐户。登录后,您可以获取进程列表。

这看起来像是一个很好的脚本应用程序,而不是C或C ++程序。