Utiliser VNC à la place de TeamViewer

Janvier 2014

TeamViewer est un logiciel qui permet de contrôler un PC à distance via internet. L'avantage de TeamViewer est sa facilité d'utilisation, car il fonctionne même derrière un firewall et sans avoir besoin de configurer une redirection de port.

Le seul inconvénient de TeamViewer est son prix, environ 500€, dont il faut s'acquitter si on l'utilise régulièrement, faute de quoi vous finirez par ne plus pouvoir l'utiliser car vous serez confronté à cette erreur :

La licence d'évaluation de votre partenaire de connexion a expiré. Étant donné que votre partenaire de connexion a recours à une utilisation commerciale de TeamViewer, un d'entre vous (un des partenaires de connexion) doit avoir une licence TeamViewer valide.
The trial license of your connection partner has expired. As your connection partner uses TeamViewer commercially, either one of you (one of the connection partners) needs a valid TeamViewer license.

Comment fonctionne TeamViewer ?

Lorsque vous lancez Teamviewer sur un ordinateur (que ce soit l'ordinateur que vous voulez contrôler à distance : le commandé, ou l'ordinateur depuis lequel vous voulez contrôler : le commandant), le logiciel se connecte au serveur de TeamViewer, via Internet. C'est le même principe que votre navigateur se connecte à un serveur pour récupérer une page web : il s'agit d'une connexion TCP ouverte en permanence entre Teamviewer et le serveur. C'est d'ailleurs le serveur Teamviewer qui attribue à chaque utilisateur un numéro unique : le TeamViewer ID :

ID TeamViewer portable 8

Lorsque quelqu'un veut prendre le contrôle d'un ordinateur à distance, il suffit de saisir l'ID de cet ordinateur et de cliquer sur le bouton connexion. Ce qui se passe ensuite est très simple : côté PC commandant, Teamviewer va informer le serveur Teamviewer qu'il souhaite prendre le contrôle de la machine portant tel ID (exemple : 559 607 187). Du côté de la machine commandée, Teamviewer est aussi lancé, donc connecté au serveur Teamviewer. Ainsi, la connexion s'établit et toutes les données transitent par le serveur Teamviewer, qui se comporte alors comme un "miroir " :

Schéma teamviewer TCP reverse connection

Ce mécanisme permet à Teamviewer de fonctionner sans avoir besoin de définir une redirection de port sur le routeur, car on utilise uniquement des connexions TCP sortantes des deux côtés (commandant et commandé). Cette technique porte même un nom : reverse connection.

En général, la connexion TCP se fait sur le port 80 car ce port, qui est normalement utilisé par les serveurs web (donc pour consulter des pages web via le protocole HTTP), n'est jamais bloqué par le firewall (même un firewall configuré de manière très contraignante comme on en trouve dans les grandes entreprises).

L'utilisation commerciale selon TeamViewer

Teamviewer est utilisé par les entreprises, notamment pour faire du support technique à distance ; par exemple la hotline d'un éditeur de logiciel qui aiderait ses clients, ou encore le service informatique d'une très grande entreprise répartie sur plusieurs sites pour intervenir à distance sur les ordinateurs des employés. C'est pour cette raison que la licence coûte si cher (entre 500€ et 2000€), il s'agit d'un outil à l'origine destiné à des entreprises, par des particuliers.

Seulement voilà, Teamviewer est aussi très pratique pour dépanner des amis ou de la famille à distance, ou encore pour accéder à son ordinateur personnel depuis n'importe où. C'est pour cette raison que l'éditeur a choisi de rendre gratuite l'utilisation de Teamviewer seulement pour une utilisation personnelle, c'est à dire non commerciale.

Le problème c'est que Teamviewer ne définit pas clairement la limite d'utilisation de la licence gratuite, et il arrive qu'on se retrouve confronté, après quelques jours d'utilisation, à un message d'erreur :

La licence d'évaluation de votre partenaire de connexion a expiré. Étant donné que votre partenaire de connexion a recours à une utilisation commerciale de TeamViewer, un d'entre vous (un des partenaires de connexion) doit avoir une licence TeamViewer valide.

Il devient alors totalement impossible d'utiliser le logiciel car l'éditeur a "blacklisté" votre Teamviewer ID dans sa base de données (il est certes possible d'en obtenir un nouveau en désinstallant et en réinstallant teamviewer... jusqu'à la prochaine expiration quelques jours après, et rebelote !).

Techniquement, Teamviewer se base entre autres sur le mode de connexion de l'ordinateur au réseau local pour détecter une utilisation comerciale : chez les particuliers, l'ordinateur utilise généralement un groupe de travail (WORKGROUP), alors que dans une entreprise on utilise plutôt un domaine.

VNC : l'alternative gratuite et illimitée à TeamViewer

Il existe des concurrents de Teamviewer, dont le principal est LogMeIn, dont la plupart sont payants. Mais il existe aussi une solution gratuite et open-source : VNC.

VNC permet de contrôler une machine à distance et aussi d'échanger des fichiers. Tout comme Teamviewer, il fonctionne sur toutes les plateformes : Windows, Mac et Linux.

Le seul inconvénient de VNC est qu'il n'utilise pas la technique de reverse connection, du moins pas par défaut. Dans le fonctionnement normal de VNC, la machine commandée joue le rôle de serveur, et la machine qui commande à distance joue le rôle de client, c'est exactement le même schéma qu'un serveur HTTP ou un serveur FTP, du coup on se retrouve confronté aux problèmes de redirections de port : le port utilisé par VNC doit être redirigé vers la machine commandée, pour qu'on puisse s'y connecter depuis internet, pour en prendre le contrôle.

Ainsi, VNC est composé de 2 applications antagonistes :

  • Le serveur VNC, qui tourne sur la machine commandée, et qui écoute généralement le port 5900 (c'est le port VNC par défaut)
  • Le client VNC (qu'on appelle aussi le viewer), qui tourne sur l'ordinateur que vous utilisez pour contrôler à distance. Le viewer est simplement une fenêtre qui affiche l'écran de l'ordinateur distant, et gère le clavier, la souris et le presse-papier.

Cependant, il existe un second mode de fonctionnement où la connexion TCP s'établit dans l'autre sens, c'est-à-dire que ça n'est pas le commandant qui se connecte au commandé, mais l'inverse (ce mode s'appelle listenning viewer). Et c'est là que VNC se montre aussi pratique que Teamviewer, car il permet de contrôler un ordinateur derrière un NAT ou un firewall (comme sur un poste de travail en entreprise, là où on ne peut pas créer de redirection de port car on n'a pas accès à la configuration du routeur).

Nous allons donc voir ci-dessous comment utiliser VNC en mode listenning viewer. Comme VNC est une solution open-source, il existe plusieurs logiciels qui implémentent le système VNC, dans cet exemple utiliserons UltraVNC. Commencez donc par télécharger et installer UltraVNC sur votre ordinateur : http://www.uvnc.com/downloads/ultravnc.html. Choisissez la dernière version, la 1.1.9.6 à l'heure où j'écris ces lignes. UltraVNC est distribué dans différents formats : avec installeur ou en zip (sans installeur, à extraire manuellement à l'emplacement souhaité, pratique pour une installation portable sur clé USB).

Listenning viewer avec UltraVNC

Par défaut, UltraVNC est installé dans le répertoire C:\Program Files\uvnc bvba\UltraVNC. La première chose à faire est donc de lancer le viewer en mode listen sur le PC commandant, avec cette ligne de commande :

"C:\Program Files\uvnc bvba\UltraVNC\vncviewer.exe" -listen 110

Cette page peut vous intéresser : supprimer les doublons avec excel à lire tout de suite !

Cette commande va lancer le viewer en arrière-plan, ce programme va écouter le port 110, et dès que la machine à commander va se connecter au viewer, la fenêtre affichant l'écran à distance va s'afficher spontanément.

Côté ordinateur commandé, il faut également installer UltraVNC, et le lancer en ligne de commande également, en lui indiquant l'IP et le port du viewer pour qu'il s'y connecte :

"C:\Program Files\uvnc bvba\UltraVNC\winvnc.exe" -autoreconnect -connect 192.168.1.5:110

Dans cet exemple j'ai pris une IP locale, mais ça fonctionne de la même manière avec une IP publique ou un nom de domaine dyndns. J'ai utilisé le port 110 car c'est un port souvent ouvert, comme le port 80, car généralement utilisé pour se connecter à une boîte mail en POP3.

Le paramètre autoreconnect est une fonction très pratique d'ultravnc qui permet de tenter d'établir une connexion au viewer en permanence à intervalle régulier. De cette manière il n'est pas nécessaire que le viewer soit allumé en permanence, il recevra une connexion du serveur automatiquement dès son lancement. Cette fonction n'existe que sur le serveur UltraVNC, elle n'existe pas sur le serveur RealVNC par exemple.

Relai VNC (repeater)

Parallèlement au mode listenning viewer, il existe une autre solution de contournement du firewall avec VNC, qui consiste à utiliser une 3éme machine comme "miroir ", exactement comme le font les serveurs de teamviewer. Le miroir, que l'on appelle aussi relai (repeater) sert à établir le lien entre les 2 ordinateurs à l'aide de connexions TCP sortantes de part et d'autre.

Le repeater peut être téléchargé sur le site d'UltraVNC : http://www.uvnc.com/downloads/repeater.html, et il y a un tutoriel qui explique comment l'utiliser ici : http://www.uvnc.com/docs/uvnc-repeater.html. Il existe aussi le projet ChunkVNC qui simplifie la connexion au repeater.

Annexe : liste de logiciels de bureau à distance

Allez donc jeter un oeil sur cette page : texte 3d.

17 commentaires :
Seuls les 10 derniers commentaires sont affichés.
Cliquez ici pour afficher tous les commentaires
commentaire n°3290 par jellad.tarek
jellad.tarek mardi 12 avril 2016, 12:34
problème résolu avec un petit programme en vb6
home made :-)
commentaire n°3299 par salif
salif dimanche 1 mai 2016, 23:52
je souhaiterais avoir tout les informations neccessaires sur le logiciel vnc afin de rediger un memoires de fin de cycle en licence y compris les schemas pour ullistree merci
commentaire n°3322 par doh
doh mercredi 1 juin 2016, 16:45
Tu veux qu'on te rédige ton mémoire aussi ?

Ça fera 15000 euros, s'il te plaît.
commentaire n°3308 par Gilles
Gilles samedi 21 mai 2016, 09:04
VNC, faut modifier les ports de sa box Internet.
TV marche direct sauf cas de serveur très fermé.
commentaire n°3338 par Informatique
Informatique mardi 28 juin 2016, 10:06
Peux-tu voir qui a connecté en VNC sur un PC
commentaire n°3389 par peter125
peter125 jeudi 29 septembre 2016, 13:11
TeamViewer is good but its data has been recently hacked. Have a look at http://www.bbc.com/news/technology-36459015 Are hosted services secured? Why not use on premise remote support solutions like R-HUB remote support servers? It works from behind your corporate firewall, hence better security.
commentaire n°3533 par Go ku
Go ku mardi 26 septembre 2017, 12:39
merci pour le tuto
je rencontre un problème, après avoir suivé tout à la lettre. et que j'essaye de me connecter du côté client je n'y arrive pas, pourriez vous me communiquer plus d'informations s'il vous plait,
est ce qu'il faudra faire une rediréction de port du côté client
commentaire n°3556 par Fabian
Fabian samedi 9 décembre 2017, 18:33
Bonjour. J'aime utiliser LiteManagerFree pour le bureau à distance, plate-forme bonne et rapide.
commentaire n°3975 par sfofdnar@yandex.com
sfofdnar@yandex.com jeudi 4 avril 2019, 18:43
Today anyone has an iOS device. iPods are so widespread that this has led to developing a tons of apps that provide servises such as mobile games, entertainment playgrounds and others. To download any of these apps a user must get an account at Apple Store. But not all programs are available there as they don't meet the Apple rules. To combat this a new app was developed - TutuApp. This helper works on iOS run phones and tablets and it has the biggest library of games. We name a few: Clash of Clans, Pokemon and others. They come with zero ads and locked content! Whant to know more? Visit <a href=https://tutuapp-app.com/ios/>;https://tutuapp-app.com/ios<;/a> to download TutuApp for free on your iOS phone. Installation instructions for TutuApp are available at that page.
commentaire n°3986 par ewrdfrgew32f@yandex.com
ewrdfrgew32f@yandex.com lundi 29 avril 2019, 00:06
Today almost every Internet user visits YT or any other video hosting to upload and watch funny videos, free films and other video content. But sometimes you want to download a videofile and the hosting doesn't allow you to do it. That's where Vidmate is coming to help you. It allows you to get a movie from may services, including Youtube, Facebook, Vimeo and many other hosting services. To perform this you simply need to open video page and click "download". Plus, the app is 100% free and has user-friendly UI with your Android phone! Download <a href=https://vidmateapp.pro/apk/>;Vidmate APK</a> now and start downloading very entertaining video to share them with your friends!
commentaire n°4010 par chrissf@yandex.com
chrissf@yandex.com dimanche 12 mai 2019, 16:53
Chris Stapleton is my favourite country singer. His powerful takes me away from all issues of this planet and I start enjoy my life and listen songs created by his. Now the singer is on a All-American Road Show Tour started in May of 2019. The concerts scheduled for the whole 2019, up to the second of November. Tickets are available for all men and women with different income. If you love contry music, then you must visit at least one of his concert. All AMERICAN ROAD SHOW tour dates are available at the <a href=https://christapletontour.com>;christapletontour.com</a>. Open the website and make yourself familiar with all Chris Stapleton concerts in 2019!
facultatif
Facebook Twitter RSS Email
Forum Excel
Venez découvrir le nouveau forum excel question/réponse à la stackoverflow.com !
Forum Excel
hit parade n'en a rien a foutre du W3C Positionnement et Statistiques Gratuites Vincent Paré