Team Viewer gibi uzak bir program tam olarak nasıl çalışıyor?


34

Windows RDP veya Remmina'dan yararlanırsanız, oturum açmak için normalde sunucunun IP (genel) veya ekli ana bilgisayar adını kullanırsınız. Gibi uzak bir programdır nasıl merak ediyorum Takım Görüntüleyici çalışıyor? Ayrıca, program bu trafiği internet üzerinden nasıl yönlendireceğini nasıl biliyor?


Ben de bunu merak ediyorum. : D
gumuruh

Yanıtlar:


25

TeamViewer, LogMeIn ve zero configuzak masaüstü oturumuna izin veren herhangi bir program üçüncü taraf sunucu kullanıyor.

Örneğin, LogMeIn şu anda bulunduğunuz ağın dışındaki bir bilgisayara uzaktan giriş yapabildiğiniz TeamViewer'a benzer bir programdır. Bu uzak oturum türü için gerekli harici konfigürasyonların olmadığını fark edeceksiniz. Bunun nedeni, uzak makineye (LogMeIn istemcisi) yüklediğiniz yazılımın LogMeIn sunucularına giden bir istek başlatmasıdır . Bu istemci isteği başlattığından, Güvenlik Duvarı üzerinde bağlantı noktası iletme gerekmez.

Bilgisayarınızda, LogMeIn bilgisayar ağının dışında, bu bilgisayara uzaktan LogMeIn web sitesi üzerinden erişebilir. Bu web sitesi, uzaktaki bilgisayardan başlatılan isteği kabul eder ve uzak oturum isteğini dinlemek için bağlantıyı canlı tutar.

TeamViewer'ı çalıştırdığınızda, aracı kurumlarında bir kimlik atanır. TeamViewer kimliğiyle bağlantı kurarsınız ve TeamViewer bağlantıyı TeamViewer istemcisinin oluşturduğu tünel üzerinden hedefe iletir ve sizden şifre girmeniz istenir ve ardından bağlantı kurulur.


3
Genişletilmiş soru: Böyle bir üçüncü taraf sunucusunu kendiniz çalıştırma ve VNC'nin (veya başka bir müşterinin) aynı şekilde çalışmasını sağlama olasılığı var mı?
TheStoryCoder

2
İyi soru. Bu şekilde yeni bir TeamViewer şirketi yaratma yolunda olacaksınız ...
giuseppe

@TheStoryCoder herhangi bir şans? İlk önce sunucu ile istemci arasında iletişim protokolü oluşturmamız, ardından tcp sunucusunu oluşturmamız gerektiğini düşünüyorum. RDP, windows tarafından varsayılan protokoldür, ancak bunu desteklemek için tasarlanmadığını tahmin ediyorum. TeamViewer'ın kendi protokolünü kullandığını biliyorum. Gerçekten, orada birisinin zaten bunun için bir açık kaynak projesi
yarattığını umuyorum

@ TheStoryCoder Basit bir yöntem ancak daha az güvenlikli: OpenVpn (sunucu A) yüklü bir sunucunuz olabilir ve PC'niz (PC A) bu sunucu üzerinden internete bağlı olabilir. Ve başka bir PC'niz (PC B) yalnızca VPN sunucunuzdan gelen bağlantıları veya uzaktaki masaüstünü (pencerelerdeyse) kabul eder. Bu şekilde, A sunucusundan A sunucusuyla bağlantı kurarak B bilgisayarına bağlanabilirsiniz.
Janaka R Rajapaksha

8

Teamviewer, merkezi bir sunucuya bağlantı kurmak için port 80'i kullanır. Bağlantı kurulursa, benzersiz bir kimlik alırsınız ve sunucu çevrimiçi olduğunuzu bilir. Diğer bağlantı noktaları engellenmişse, tüm iletişim bağlantı noktası 80 üzerinden gerçekleşebilir.

Teamviewer, doğrudan bir IP adresine bağlanmanıza izin veriyor. Gelen LAN bağlantılarına izin vermek için bunu seçeneklerde ayarlamanız gerekir. Bu, yerel ağlar ve muhtemelen WAN ağları için de geçerlidir, ancak daha sonra, 80 numaralı portu yönlendirici / güvenlik duvarının arkasındaki doğru bilgisayara bağlamak için portforwarding çalışması yapmanız gerekir. Bu, çoğu insan için işleri zorlaştırıyor ve geri kalan çoğu için yönetilemiyor, bu yüzden Teamviewer ID yöntemini kullanıyoruz.

Bunun, tüm trafiğin takım görüntüleyici sunucuları üzerinden geçtiği anlamına mı geliyor bilmiyorum, ama olabilir. (Ve tüm tıklamaları ve tuş basmalarını kaydettikçe, bu muhtemelen onların - teorik olarak - ve PRISM'i muhtemelen gerçekte olduğu gibi bildiğimizden beri - tüm girişlerinizi ve gizli anahtarlarınızı da bildiği anlamına gelir.)


3

Şirketin Güvenlik Bildiriminde söylediği şey :

Bir oturum kurarken, TeamViewer en uygun bağlantı türünü belirler. Ana sunucularımızla yapılan el sıkışmalarından sonra, tüm vakaların% 70'inde (standart ağ geçitlerinin, NAT'ların ve güvenlik duvarlarının arkasında bile) UDP veya TCP üzerinden doğrudan bağlantı kurulur. Bağlantıların geri kalanı, çok fazla yedekli yönlendirici ağımız üzerinden TCP veya https tüneli üzerinden yönlendirilir. TeamViewer ile çalışmak için herhangi bir port açmak zorunda değilsiniz!

Daha sonra "Şifreleme ve Kimlik Doğrulama" paragrafında tanımlandığı gibi, biz yönlendirici sunucuların operatörleri olarak şifrelenmiş veri trafiğini okuyamıyoruz.

Yani:

  • 1) diğerlerinin önerdiği gibi, her iki müşteriden de ilk bağlantı müşteri tarafından başlatılır ve port 80'den geçer, böylece NAT veya güvenlik duvarlarıyla herhangi bir problemi olmaz, web proxy'sinden vb. Geçebilir. Bundan sonra, her şey kurulur ve her ikisi de müşterilerin birbirlerine bağlanması gerekir, o zaman:
  • 2.1) muhtemelen iki istemci arasında gerçek bir bağlantı kurabilmek için UPnP veya NAT delik açma özelliğini kullanır veya
  • 2.2) eğer mümkün değilse trafiği kendi sunucuları üzerinden yönlendirecek, daha yavaş ve göz ardı edilebilecek (ancak verilerin şifrelenmiş olduğunu, bu durumda sorun olmayacağını belirtiyorlar)

Farkında olabilecek herhangi bir açık kaynak çözümü?
Altiano Gerung

@AltianoGerung Teamviewer
golimar

0

TeamViewer gibi çoğu uygulama, eğer doğrudan bir yol yoksa, ortak IP'leri ve açık portları kullanma ihtiyacını atlayarak işleri sunucularına yönlendirir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.