Que peut-on faire pour connaître et répertorier tous les processus en cours sur un ordinateur distant?
Une idée consiste à avoir un serveur à l'écoute de notre requête sur la machine distante et l'autre à utiliser ssh.
Le problème est que je ne sais pas si un tel serveur tournera sur la machine distante et que je ne peux pas utiliser ssh parce qu'il a besoin d'une authentification.
Y a-t-il un autre moyen de s'en sortir?comment lire la liste des processus en cours sur un ordinateur distant en C++
Répondre
Si vous
- ne peut pas installer un programme serveur sur la machine distante
- ne peut pas utiliser tout ce qui nécessite une authentification
alors vous ne devriez pas être autorisé à connaître la liste de tous les processus en cours d'exécution sur une machine. Cette demande serait un cauchemar de sécurité!
Vous pouvez faire quelque chose de beaucoup plus simple sans (autant de) problèmes de sécurité: analyser les ports disponibles publiquement pour les programmes en cours d'exécution. Des programmes comme nmap.org vous permettent de connaître un peu d'informations sur les programmes publics sur les machines.
+1 c'est exact !! – sud03r
J'ai fait quelque chose de similaire dans le passé en utilisant SNMP. Je n'ai pas les détails en face de moi, mais quelque chose comme "snmpwalk -v2 -c nom d'hôte public prTable" m'a eu la table de processus. Je rappelle plus tard configurer SNMP pour générer des erreurs lorsque le nombre de processus ne répondait pas à nos exigences spécifiées, comme httpd doit avoir au moins 1 et moins de 50.
Je vous suggère de regarder le code pour une connexion à distance, rlogin
. Vous pouvez vous connecter à distance à un compte disposant des privilèges dont vous avez besoin. Une fois connecté, vous pouvez aller chercher une liste de processus.
Cela ressemble à une bonne application pour un script plutôt qu'un programme C ou C++.
Le questionneur a déjà dit qu'il ne peut pas utiliser l'authentification. –
Sur quelle plate-forme travaillez-vous? –
Vous devez avoir quelque chose en cours d'exécution sur le serveur distant, peu importe s'il est exécuté par vos propres ou en tant que services du système d'exploitation. – Francis
fonctionnant sous Linux – gunjit