C'est un programme permettant de contrôler son ordinateur à
distance à travers un firewall. Un article a été
publié sur le sujet dans le magazine français Programmez
n°44, pp. 76-78.
Configuration requise
Deux ordinateurs (un client, et un serveur à contrôler)
tournant sous n'importe quel système (Linux, Windows, Mac (si
si)) avec une machine virtuelle Java 1.1 ou supérieure.
Description
Permet d'acceder à serveur de contrôle à distance
(comme VNC) en passant par un proxy HTTP (par exemple depuis une entreprise
ou une école). En réalité il agit comme deux
proxy, un tournant côté client, et l'autre côté
pour faire passer toutes les données non-HTTP par un GET et
un POST parfaitement acceptable par le proxy HTTP.
Installation du serveur
Rien de plus simple, il suffit de copier le fichier rcohttp.jar
dans un dossier quelconque. Ensuite pour le lancer, taper :
java -cp rcohttp.jar server.RCoHTTPServer
Et le tour est joué ! Pour l'arrêter, un simple Ctrl+C
suffira.
A noter qu'il est également possible de l'installer comme
service NT avec un outil comme JavaService
de Alexandria Software à l'aide de la commande suivante :
JavaService.exe -install RCoHTTP C:\jdk1.3.1\jre\bin\hotspot\jvm.dll
-Djava.class.path=C:\Outils\RCoHTTP\rcohttp.jar -start server.RCoHServer
-out C:\Outils\RCoHTTP\out.log -err C:\Outils\RCoHTTP\err.log
Il faut évidement remplacer C:\jdk1.3.1\jre\bin\hotspot\jvm.dll
par le chemin d'accès vers la machine virtuelle Java de Sun.
En cas de doute, chercher jvm.dll dans tout le système : n'importe
lequel devrait faire l'affaire. C:\Outils\RCoHTTP\rcohttp.jar
doit également être remplacé par l'endroit où
le jar du serveur a été placé. Les deux fichiers
out.log et err.log contiendront les sorties du serveur (System.out
et System.err) lorsque qu'il est lancé en tant que service.
Et pour lancer le service, taper :
net start RCoHTTP
Ou le lancer depuis Services dans les Administrative Tools de Windows.
Pour plus de renseignements, consulter la documentation de JavaService.
Démarrage du client
Tout d’abord, il faut lancer le client. Pour ceci, tapez la
commande suivante si la machine virtuelle de Sun (JRE) est installée
:
java –cp rcohttp.jar client.RCoHClient
localPort proxyHost proxyPort remoteHost remotePort proxyuser:proxypass
Ou celle-ci sur n’importe quel ordinateur tournant sous Windows
(pour autant que la machine virtuelle Java de Microsoft soit installée,
ce qui est très souvent le cas) :
jview /cp rcohttp.jar client.RCoHClient localPort
proxyHost proxyPort remoteHost remotePort proxyuser:proxypass
Les paramètres sont les suivants :
-
localPort : Port local sur lequel la simulation
de serveur VNC doit tourner (par exemple 1234), c’est le port
qu’il faudra entrer dans vncviewer.
proxyHost : Adresse IP (ou nom) du proxy
(par exemple proxy.entreprise.fr), en cas de doute, aller le chercher
dans les options de votre navigateur.
proxyPort : Port sur lequel tourne le proxy
(souvent 8080 ou 80), même remarque que pour proxyHost.
remoteHost : Adresse IP ou nom de la machine
à contrôler, et sur laquelle les serveurs RCoHTTP et
VNC tournent.
remotePort : Port sur lequel tourne le serveur
VNC sur la machine à contrôler (par défaut 5900).
proxyuser:proxypass : Paramètre optionel,
permet d'entrer un nom d'utilisateur et un mot de passe pour l'authentification
avec le serveur. Exemple : bob:boubou.
Une fois le programme lancé, celui-ci va attendre une connexion
sur le port localPort. Ensuite, lancer vncviewer
(le client VNC, version Windows ou Java), et taper dans le champ «
VNC server » 127.0.0.1:localPort, modifier
éventuellement les options, puis cliquer sur OK. A ce moment-là,
le client RCoHTTP va se connecter au serveur au travers du proxy.
Téléchargement
Cliquer ici pour télécharger
les sources et le jar.
"To do"
- Authentification NTLM (Si quelqu'un est motivé je suis
très intéressé, parce que je n'ai pas d'environnement
de test) pour proxys microsoft (librairie
à utiliser).
Historique
| Date |
Description |
| 14/08/2002 |
Ajout de l'authentification
Basic (Base64) pour le proxy (Merci Stephan pour l'idée).
Et mise à jour (plutôt création en fait.....)
de la page. |
| 17/06/2002 |
Première version officielle
(version de l'article dans Programmez) |
License
Sous GPL, donc
amusez-vous avec le code ! Merci de faire des feed-backs...