Miten Team Viewer muodostaa etätyöpöytäyhteyden?

Tarkentaakseni ewanm89:n viestiä, TeamViewer käyttää UDP-pinholea.

UDP on tilaton protokolla. Tämä tarkoittaa sitä, että paketit laukaistaan kohteeseensa ilman mitään varmistusta (protokollatasolla) siitä, että ne on vastaanotettu tai että ne ovat edes saapuneet kohteeseen. Palomuurit on suunniteltu etsimään UDP-paketteja ja tallentamaan lähde ja kohde sekä aikaleima. Jos ne näkevät saapuvan paketin, joka vastaa lähtevää pakettia, ne yleensä päästävät paketin läpi, vaikka palomuurin pääsyluetteloon ei olisi asetettu erityistä sääntöä. Tämä voidaan lukita yritystason laitteissa, mutta yleensä 90 % palomuureista sallii paluuliikenteen.

Koneesi (katseluohjelma) on TCP-yhteydellä takaisin TeamViewer-pääpalvelimeen. Myös kohdekoneella (asiakas) on TCP-yhteys TeamViewerin pääpalvelimeen. Kun painat connect, koneesi kertoo pääpalvelimelle aikomuksensa. Tämän jälkeen pääpalvelin antaa sinulle asiakaskoneen IP-osoitteen. Koneesi alkaa sitten ampua UDP-paketteja asiakkaalle. Asiakkaalle ilmoitetaan, että aiot muodostaa yhteyden, ja sille annetaan IP-osoitteesi. Asiakaskone alkaa myös ampua UDP-paketteja sinulle.

Jos palomuurit ovat ”P2P-myönteisiä”, tämä saa molemmat palomuurit (sinun ja asiakkaan) sallimaan liikenteen, jolloin palomuuriin tulee ”reikiä”. Erityisesti tämä edellyttää, että palomuurit eivät muuta lähtevän paketin julkista porttia vain siksi, että sen kohde on muuttunut; palomuurin on käytettävä samaa julkista porttia uudelleen niin kauan kuin paketin lähde ei ole muuttunut. Jos palomuurisi eivät käyttäydy näin ystävällisesti, tämä ei toimi. Monet palomuurit käyttäytyvät kuitenkin näin.

Tietysti TeamViewer lisää jonkin verran turvallisuutta tekemällä pin/salasanatarkistuksen ennen kuin pääpalvelin lähettää IP-tiedot molemmille osapuolille, mutta ymmärrät kyllä idean.

Vastaa

Sähköpostiosoitettasi ei julkaista.