2011-08-09 3 views
0

J'ai le nom de connexion de mon ordinateur en utilisant System.getProperty ("user.name"). Cependant, j'ai besoin des connexions d'autres ordinateurs dont j'ai déjà utilisé les adresses IP avec InetAddress. Comment fait-on ça? Affichage du système les propriétés de toutes les adresses IP n'affichent pas leurs noms de connexion.Connexion Nom d'utilisateur des ordinateurs en LAN Java

Merci d'avance!

Tous les PC fonctionnent sous Linux.Et je recherche l'utilisateur actuellement connecté sur d'autres machines sur le réseau local.

Je suis en train de tester toutes les machines sur mon réseau local pour voir si une machine est en vie. Je reçois son adresse IP et je veux aussi obtenir son nom de connexion.

+0

Vous recherchez l'utilisateur actuellement connecté sur d'autres machines sur le LAN? Quel sera le système d'exploitation des utilisateurs, ou est-ce un environnement mixte? – arunkumar

+0

Cela n'a pas de sens: avoir une adresse ip d'un ordinateur ne signifie pas que quelqu'un est connecté sur l'ordinateur –

+0

@ Maurice- Je veux connaître les noms des utilisateurs qui se sont connectés sur des machines actives. –

Répondre

3

Si vous étiez en mesure de faire cela "hors de la boîte", ce serait un énorme trou de sécurité dans le système. Pense juste à ça. Et puis nous n'arrivons même pas au problème de plusieurs utilisateurs connectés sur les machines.

Donc, sans plus de précision, cette question est trop vague.

Vous pouvez réellement vous connecter aux machines de manière sécurisée à l'aide de ssh, par exemple, et consulter la liste des utilisateurs connectés. Vous devez générer des paires de clés ssh et utiliser une bibliothèque de terminaux Java qui peut effectuer la connexion par programme et émettre des commandes pour vous.

Nous avons en fait un produit qui fonctionne comme ça (à des fins différentes), et nous utilisons un 3rd party SSH library pour faire le dur travail pour nous. Sinon, vous pouvez implémenter et installer votre propre démon «connecté» auquel vous pouvez vous connecter, peut-être l'installer en tant qu'application Web, mais vous devez également utiliser une authentification correcte pour rendre votre service sûr à utiliser. Cette dernière solution nécessite toutefois qu'une application ou au moins un serveur Web s'exécute sur chaque machine que vous souhaitez interroger.

0

La meilleure solution possible serait d'installer un logiciel qui écoutera un port fixe sur la machine. Une fois que vous avez l'adresse de la machine, le programme peut rassembler les informations et les renvoyer. À part ça, il n'y a pas de telle fonctionnalité qui existe, pour des raisons diverses et évidentes. Cependant, même cette solution ne garantit pas l'existence d'une prise d'écoute sur l'IP listée (le logiciel n'est pas garanti), donc sans plus d'informations sur ce que vous essayez de faire, cette réponse est aussi vague que la question.

+0

Plus d'informations: J'utilise l'API Java de Libvirt et j'ai besoin de me connecter aux hyperviseurs Qemu sur d'autres machines de mon réseau. Ceci est fait par l'appel qemu + ssh: //[email protected]/system. Jusqu'à présent, je suis en mesure d'obtenir l'adresse IP des autres machines sur mon réseau. Sans le nom de connexion, je ne peux pas me connecter à Qemu. Si j'essaie d'omettre le nom de connexion, il est remplacé par mon nom de connexion sur mon PC. Quelqu'un peut-il m'aider s'il vous plaît? –

Questions connexes