Question

S'il vous plaît envisager le scénario suivant:

  • VNC client tente de se connecter avec un serveur VNC qui se trouve derrière un NAT.

  • J'ai écrit un commissionnaire de port en java qui me aide la réalisation ci-dessus tâche, et il fonctionne très bien.

  • Maintenant, je dois, en quelque sorte, ajouter une fonctionnalité de courtage de connexion au sein de ce commissionnaire afin que je puisse aussi intercepter la communication entre VNC client -. Serveur et authentifier le client VNC dans l'utilitaire de transfert ainsi

Vous avez sans doute deviné que en fait je suis en utilisant le mot de passe reçu de VNC client pour une authentification dans mon application. Comme le serveur RFB peut être mis en œuvre à la couche d'application, je suppose que cette interception est possible ... VNCAuthentication (DES chiffrement / déchiffrement) est utilisé dans toutes les communications ci-dessus. Une fois l'authentification réussie dans l'utilitaire de transfert je simplement laisser la transmission continuer pour ce client respectif, que je peux le fermer (renvoi d'arrêt).

J'ai essayé une mise en œuvre, a également essayé de personnaliser une implémentation Java du serveur RFB ... mais toujours pas en mesure d'y arriver. Il faudra un certain temps, je sais, mais besoin de confirmer si je pense droit.

S'il vous plaît laissez-moi savoir si la mise en œuvre du scénario ci-dessus est ambigu, pas possible, ou illégitime et si cela est possible, laissez-moi quelques lignes de guilde ...

Était-ce utile?

La solution

Cela semble être une bonne mise en œuvre. Pensez-y comme un proxy VNC, comme un proxy HTTP (S). Il y a aussi HTTP authentification proxy. Vous implémentez une partie du protocole VNC pour créer une authentification proxy VNC.

Peut-être que vous pouvez vous inspirer de VNCProxy , un proxy VNC Java existant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top