Vous êtes ici

Prise de contrôle à distance et Livebox

ImageMon père possède un PC sous Windows XP, derrière une Livebox. Comme beaucoup de PC sous Windows, celui-ci a exprimé récemment les symptômes manifestes d'un début d'auto-digestion (à ma connaissance, windows est la seule plate-forme logicielle capable de s'user...)

Quelques centaines de kilomètres me séparant de ce PC, j'essaye de mettre en place un accès à distance. Cet article relate au jour le jour mes différentes tentatives.

Après plusieurs tentatives (semblant) infructueuses de configuration du pare-feu Windows et de la Livebox, j'ai décidé de m'attaquer au problème de façon à maîtriser tous les paramètres. Mon idée est la suivante : écrire un tout petit serveur socket TCP me permettant de vérifier ces configurations. Le problème se réduira ensuite à la configuration de l'assistance à distance.

Je commence par monter sur mon PC perso booté sour Windows XP le nécessaire, décrit dans ce qui suit.

Depuis le site de Sun, télécharger le Java 2 JDK 1.4.2 (Windows offline installation). L'installer (la doc est ici). Modifier le PATH, comme indiqué.

Depuis le site d'Eclipse, télécharger le SDK 3.2.2. L'installer (décompresser le zip téléchargé et créer un lien sur eclipse.exe). Si nécessaire, la doc concernant le lancement d'Eclipse se trouve ici, rubrique Workbench User Guide / Tasks / Runnning Eclipse.

Créer un nouveau projet Java, s'appelant testServer, et contenant un fichier source, KnockKnockServer.java, récupéré des exemples Sun de programmation réseau. Ajouter également KnockKnockProtocol.java, mais en le modifiant pour mettre en place un protocole de style écho.

Générer le fichier jar contenant les deux classes, en indiquant KnockKnockServer comme étant la classe principale.

Le serveur se met en attente sur le port 4444, après avoir émis un message d'invitation.

Au niveau de la Livebox, une Sagem Fast@3202, après avoir demandé à mon père de la configurer pour un accès admin à distance, faire les manip suivantes :

  • activer DynDNS, après avoir créé un hôte chez www.dyndns.com pour pointer sur la Livebox
  • grâce au menu avancé, dans la partie Diagnostic, récupérer l'adresse DHCP utilisé par le PC (si le PC est configuré en IP statique, l'adresse est déjà connue)
  • déclarer un serveur LAN avec cette adresse, et le port 4444 en TCP

J'indique ensuite à mon père de faire ce qui suit :

  • aller sur http://java.sun.com/j2se/1.4.2/download.html
  • cliquer sur Download J2SE SDK (vers le milieu de la page)
  • sélectionner Accept License Agreement
  • cliquer sur Windows Offline Installation, pour télécharger le fichier d'installation
  • une fois le fichier chargé, double-cliquer dessus, depuis l'explorateur Windows, pour le lancer
  • télécharger le fichier testServer.jar
  • une fois le fichier chargé, ouvrir une fenêtre de commandes DOS, se mettre dans le répertoire où le fichier testServer.jara été téléchargé, et passer la commande
    \j2sdk-1.4.2_13\bin\java -jar testServer.jar
    

    ce qui affiche le message ServerSocket created

Le pare-feu Windows ne tournait pas. Par contre, le pare-feu Securitoo était actif, ce que je ne savais pas. Cela s'est tout de suite traduit par un message. Une fois désactivé, je peux sans problème faire un telnet <hôteDynDNS> 4444 depuis mon PC.

Voilà, fin du problème. Il suffit maintenant de déclarer un nouveau serveur LAN, au niveau de la Livebox, avec l'adresse IP du PC, et le port 3389 (port utilisé par l'assistance à distance) en TCP. Mon père m'envoie par courriel un fichier de demande d'assistance à distance. Je modifie le fichier pour remplacer l'adresse IP LAN par le nom d'hôte DynDNS, et y a plus qu'à double-cliquer sur le fichier en question.