web-dev-qa-db-fra.com

Comment fonctionne exactement un programme distant tel que Team Viewer?

Si vous utilisez Windows RDP ou Remmina, vous utilisez normalement l'adresse IP (publique) ou le nom d'hôte associé du serveur pour vous connecter. Je me demandais comment un programme distant tel que Team Viewer fonctionne? Et aussi, comment le programme sait-il comment acheminer ce trafic sur Internet?

34
Rudolph

TeamViewer, LogMeIn et tout autre programme autorisant une session de bureau à distance zero config utilisent un serveur tiers.

Par exemple, LogMeIn est un programme similaire à TeamViewer dans lequel vous pouvez vous connecter à distance à un ordinateur en dehors du réseau sur lequel vous êtes actuellement. Vous remarquerez qu'aucune configuration externe n'est requise pour ce type de session à distance. Cela est dû au fait que le logiciel que vous avez installé sur la machine distante (le client LogMeIn) initie une requête sortante aux serveurs LogMeIn. Étant donné que ce client a lancé la demande, aucun transfert de port sur le pare-feu n'est requis.

Sur votre ordinateur, en dehors du réseau de l'ordinateur LogMeIn, pouvez accéder à cet ordinateur à distance via le site Web de LogMeIn. Ce site Web accepte la demande initiée à partir de l'ordinateur distant et maintient la connexion active pour écouter une demande de session à distance.

Lorsque vous exécutez TeamViewer, un identifiant vous est attribué sur leur serveur de courtier. Vous établissez une connexion avec un ID Teamviewer, et TeamViewer transmet la connexion à la destination via le tunnel établi du client TeamViewer. Vous êtes ensuite invité à entrer un mot de passe, puis la connexion est établie.

25
kobaltz

Teamviewer utilise le port 80 pour établir une connexion avec un serveur central. Si la connexion est établie, vous obtenez un identifiant unique et le serveur sait que vous êtes en ligne. Toutes les communications peuvent avoir lieu sur le port 80 si d'autres ports sont bloqués.

Teamviewer vous permet de vous connecter directement à une adresse IP. Vous devez définir ceci dans les options pour autoriser les connexions LAN entrantes. Cela fonctionne pour les réseaux locaux et probablement aussi pour les réseaux WAN, mais vous devez ensuite activer le transfert de port pour que le port 80 se connecte au bon ordinateur derrière le routeur/pare-feu. Cela rend les choses difficiles pour la plupart des gens et indomptables pour la plupart des autres. Nous utilisons alors la méthode Teamviewer ID.

Je ne sais pas si cela signifie que tout le trafic passe par les serveurs de teamviewer, mais c'est peut-être le cas. (Et comme il enregistre tous les clics et les pressions de touches, cela signifie probablement qu'ils pourraient - en théorie - et puisque nous connaissons PRISM, etc. probablement aussi en réalité - connaître toutes vos connexions et vos clés secrètes.)

8
SPRBRN

C’est ce que dit la société dans son Déclaration de sécurité :

Lors de l'établissement d'une session, TeamViewer détermine le type de connexion optimal. Après la négociation via nos serveurs maîtres, une connexion directe via UDP ou TCP est établie dans 70% des cas (même derrière des passerelles standard, des NAT et des pare-feu). Le reste des connexions est acheminé via notre réseau de routeurs hautement redondant via TCP ou https-tunneling. Vous ne devez ouvrir aucun port pour travailler avec TeamViewer!

Comme décrit plus loin dans le paragraphe "Cryptage et authentification", pas même nous, en tant qu'opérateurs des serveurs de routage, pouvons lire le trafic de données crypté

Alors:

  • 1) comme d'autres l'ont suggéré, la connexion initiale des deux clients est initiée par le client et passe par le port 80 de sorte qu'elle ne présente aucun problème avec NAT ou les pare-feu, peut passer par un proxy Web, etc. tout est configuré et les deux clients doivent être connectés l'un à l'autre, puis:
  • 2.1) utilise probablement UPnP ou NAT perforation de trous pour pouvoir établir une connexion réelle entre les deux clients, ou
  • 2.2) sinon, il acheminera le trafic via leurs serveurs, ce qui sera plus lent et pourrait être espionné (toutefois, ils déclarent que les données sont chiffrées de bout en bout, dans ce cas, cela ne poserait pas de problème)
1
golimar

La plupart des applications, telles que TeamViewer, acheminent les éléments via leurs serveurs s'il n'y a pas de chemin direct disponible, évitant ainsi l'utilisation d'adresses IP publiques et de ports ouverts.

0
deepy