Levysoft
  • Home
  • Portfolio
  • WordPress Plugin
  • Contattami

Dal 2004 il blog di Antonio Troise

RSS FeedTwitterFacebook
Nov 4 2009

TeamViewer: alternativa a VNC per remotizzare il PC di casa dal lavoro senza nessuna configurazione e superando anche i firewall più potenti

Posted by Antonio Troise
Tweet

Sinora, per controllare e amministrare il proprio computer a distanza, accedendo ai vari servizi disponibili su di esso, ho sempre puntato a servizi come VNC (con le sue varianti RealVNC, UltraVNC, TightVNC), il software di controllo remoto per eccellenza, o in caso di presenza di Windows XP Pro, al più performante (almeno nelle intranet) e reattivo protocollo RDP, con il suo Remote Desktop Connection di Microsoft. Se però questo genere di soluzione risulta essere ottimale nelle LAN (casalinghe o aziendali che siano) i primi problemi si pongono quando si vuole remotizzare una macchina da una postazione che non risiede nella stessa rete. Il caso più tipico è quello di voler remotizzare dalla propria postazione lavorativa il proprio PC di casa, magari anche solo per leggere la posta o per recuperare quella relazione importante che ci si è dimenticati di portarsi al lavoro.

Lo svantaggio di passare tra i router

Infatti, tutte queste tecniche hanno un grosso svantaggio: necessitano la configurazione di un router che deve essere istruito per instradare il traffico verso la macchina da controllare. Se questo risulta essere uno svantaggio per i neofiti delle rete (con qualche guida su internet è comunque facile superare il problema), risulta un problema insormontabile se si dispone anche di un router con un firmware vecchio o buggato (o semplicemente bloccato come molti di quelli che fornisce Alice ADSL) che non permettono il NAT delle porte (tipicamente il port forwarding di 5800 e 5900). Per finire, dato che solitamente al PC viene assegnato un indirizzo IP pubblico dinamico, occorrerà usare servizi come quelli offerti da No-Ip (o lo storico DynDNS) in modo da avere associato ad un dominio di terzo livello come xxx.no-ip.com il vostro ip dinamico, con lo scopo di avere uno pesudo “ip” statico a cui far puntare il nostro client VNC. Insomma, ricapitolando, occorre almeno installare due software (VNC per la remotizzazione e No-IpDUC per risolvere un indirizzo ip dinamico con un dominio di terzo livello) e quindi configurare correttamente le porte sul router/firewall.

Se non avessi avuto problemi con il mio router sicuramente avrei adottato la soluzione VNC/NO-IP ma dopo vari giorni di prove avevo finalmente capito che esisteva un particolare bug nel firmware del mio router (e mai patchato) che mi impediva di procedere con questa tecnica, laboriosa ma al contempo consolidata.

EchoVNC

In realtà, esistono anche altri sistemi in grado di saltare il filtro di qualsiasi router o firewall. Uno tra questi è il progetto opensource EchoVNC (basato sulle DLL opensource echoWare) in grado di garantire l’uso del software di controllo remoto VNC anche tra macchine protette da un firewall. In pratica, grazie ad EchoVNC è possibile raggiungere a distanza un pc anche attraverso internet senza dover configurare il reindirizzamento di porte sul router o di creare eccezioni sul firewall. Ma da quanto ho potuto leggere, per usare EchoVNC è necessario disporre di un “echoserver” che funge da nodo per le connessioni tra viewer e server. L’echoserver altro non è che un programmino di pochi kb che si mette in ascolto su una porta (occorre però fare in modo che sia raggiungibile dall’esterno e quindi aprire le corrispondenti porte sul router/firewall). Ma il vantaggio è che è possibile installarlo dove si vuole: sul pc che si usi per connettersi al server, sul server stesso che deve essere raggiunto oppure su un terzo pc.

Se è vero questa soluzione è definita Firewall Friendly, poiché anche se necessita comunque di una configurazione sul Router/Firewall (l’unica cosa che deve essere vista da internet è l’echoserver), questa, però, può essere fatta su qualsiasi macchina che è collegata ad una rete su cui si ha il controllo, nel mio caso questa soluzione era inadeguata in quanto ho il router bloccato e la rete aziendale da cui solitamente accedo ha delle policy molto restrittive. Inoltre, mentre il server ed il viewer sono free (licenza GPL) l’echoserver è soggetto a limitazioni (10 minuti per connessione) se non si fa la registrazione (50$ per avere utilizzo illimitato ed a vita in ambiente non commerciale). Inoltre, uno svantaggio da non sottovalutare è che la soluzione con EchoVNC risulta essere piuttosto lenta poiché di fatto le connessioni viaggiano alla velocità di upload dove si è installato l’echoserver (e di solito in ambito home, l’upload è sempre carente).

TeamViewer

Fortunatamente, ho scoperto che esiste anche una alternativa semplice e veloce al classico VNC e all’evoluto EchoVNC: si chiama TeamViewer e sono rimasto davvero sbalordito dalla sua facilità di utilizzo e dalle sue prestazioni. In realtà Teamviewer è analogo a EchoVNC (poiché di fatto ne ricalca l’architettura di base) ma ha dalla sua una semplicità disarmante (riesce a collegarsi anche a computer che si trovano dietro i firewall più potenti) e il fatto di essere completamente gratuito per gli usi non commerciali. Il produttore dichiara che il programma utilizza un algoritmo di protezione a 256 bit per lo scambio dei dati, il che rende le connessioni piuttosto sicure. Per finire Teamviewer è disponibile sia per la piattaforma Windows che per quella Mac OS X.

TeamViewer Start Screen

Il programma server è molto leggero e gira tranquillamente su pc datati o sottodimensionati (come può essere un computer della serie Asus EeeBox) e funziona anche senza usare un account con privilegi di Amministratore. La versione Free permette di gestire una sessione alla volta (più che sufficienti per i miei scopi) e visualizza un popup ad ogni collegamento che vi avverte che state usando una versione non per usi commerciali (niente di fastidioso).

TeamViewer Popup

In ogni caso, tutte le versioni TeamViewer consentono il trasferimento completo dei dati, vale a dire intere cartelle e strutture di directory (sembra che per aumentare la velocità, tutti i file vengano automaticamente compressi prima della trasmissione).

TeamViewer File Transfer

Infine, richiede una larghezza di banda di appena 8 KB/s nella Qualità Standard di visualizzazione del desktop remoto!

La prima volta che si lancia TeamViewer, verrà generato un identificativo numerico (ID) di 9 cifre (univoco per macchina e che resterà sempre lo stesso) e una password che cambia ogni volta che si riavvia il programma da comunicare alla persona che deve prendere il controllo remoto. Ho letto che il fatto che la password cambi ad ogni avvio, ha un po’ spiazzato molti utilizzatori perché, sebbene si possa settare il programma in modo che parta ad ogni avvio di Windows, se il codice di accesso cambia ogni volta è necessario che qualcuno stia li a leggere la nuova password per permettere l’accesso da remoto. In realtà, è sufficiente che si entri nelle preferenze del programma ed è possibile impostare una password statica anziché dinamica, ed il gioco è fatto!

TeamViewer Opzioni Password

Infine, cosa non da poco (alcune versioni di VNC infatti non lo gestiscono) prevede la funzione di copia e incolla tra il server e client.

L’unico dubbio che inizialmente mi sono posto era se fosse sicuro passare per un server di terze parti privato: ma se è vero che il programma utilizza un algoritmo di protezione a 256 bit per lo scambio dei dati, allora non ci dovrebbero essere problemi per la propria privacy. Invece, l’indubbio vantaggio di usare un server proprietario è che, a differenza della architettura offerta da EchoVNC, qui abbiamo un server centrale (che ovviamente non è un semplice PC) che non costituisce alcun collo di bottiglia per l’upload dal server, il che rende la trasmissione dati (che già dispone di una banda molto bassa) molto veloce.

Se vi state chiedendo come mai TeamViewer non necessità di alcuna configurazione sul router/firewall la risposta è semplice: il servizio si poggia sulla porta 80 per comunicare i dati e visto che questa è la porta di default per il protocollo HTTP, viene sempre lasciata aperta su tutti i router/firewall!

Se volete approfondire l’argomento dovete comunque sapere che TeamViewer non è l’unico programma per la condivisione desktop con queste caratteristiche: tra tutti posso citare i vari LogMeIn, CrossLoop e Mikogo. Ognuno ha i suoi vantaggi e svantaggi (qui e qui potete avere qualche raffronto), ma quel che è certo è che TeamViewer è veramente facile da configurare e funziona egregiamente nell’architettura di rete che ho a disposizione.

Tag:condivisione, firewall, Mac os x, NAT, password, router, vnc, Windows
CONTINUE READING >
10 comments
Ott 6 2008

Tips Mac: VNC client e server integrati in Mac OS X Leopard e Mocha VNC per iPhone/iPod Touch

Posted by Antonio Troise
Tweet

Qualche giorno fa ho avuto la necessità di raggiungere, con la condivisione schermo, un PC con Windows XP. Essendoci installata, però, la versione Home di XP, non ho potuto usare il protocollo RDP preinstallato solo sulle versioni Professional (nel qual caso avrei usato come client Mac l’avanzato e veloce Remote Desktop Connection 2.0), e ho dovuto, quindi, installare un server VNC dedicato. Tra le varie soluzioni open source di condivisione schermo avevo deciso di adottare l’ottimo server VNC TightVNC, perché è ottimizzato per connessioni lente.

Così, nel ricercare un buon client VNC freeware per Mac OS X, sono andato a spulciare su varie directory come MacUpdate e VersionTracker. Tra quelli consigliati ho provato Chicken of the VNC, a detta di molti uno dei migliori client per il mondo Mac. Ma i risultati non sono stati dei più soddisfacenti: nonostante fossi in un rete lan privata, quindi a velocità teorica minima di almeno 10 MB/s, il feedback era insoddisfacente e le risposte ai comandi tornavano al client molto lentamente. Infatti, sebbene l’invio fosse rapido ed immediato, sullo schermo condiviso impiegava parecchi secondi a visualizzare il cambiamento, cosa che rendeva ingestibile il server Windows. E’ sufficiente pensare che, se sul client muovevo il mouse da una parte all’altra dello schermo, sul PC effettivamente vedevo il cursore spostarsi dopo una frazione di secondo, ma sul mio schermo questo ci metteva dai 5 ai 10 secondi, e più tempo restavo connesso al server, più lentamente rispondeva il sistema.
Per risolvere il problema ho provato anche ad aprire la porta 5900 sul mio firewall (quella di default per i server VNC) pensando fosse un problema di NAT del mio router ma i risultati non sono migliorati. Il bello è che se usavo un client VNC per Windows, come quello incluso in TightVNC, tutto funzionava molto velocemente. Era evidente, quindi, che esisteva qualche sorta di incompatibilità software tra il mio client Mac e il server per Windows.

VNC client integrato in Mac OS X

Screen Sharing Mac OS X Leopard Così mi sono messo alla ricerca di una alternativa più veloce dei normali clienti per Mac OS X che si trovavano in giro e mi sono imbattutto, in una soluzione quantomeno inaspettata. Infatti, forse non tutti sanno che su Mac OS X 10.5 Leopard è presente una soluzione integrata alla condivisione schermo con VNC sia come client che come server e questa è risultata essere la migliore in assoluto.

Infatti, per quanto riguarda il client, nella nella directory “/System/Library/CoreServices” (o nella versione italiana “/Sistema/Libreria/CoreServices/”) è presente l’applicazione “Screen Sharing.app” (o nella versione italiana “Condivisione Schermo.app”) che è possibile richiamare direttamente. Oppure è possibile lanciare l’applicazione da “Connessione al server…” del Finder (oppure anche dalla barra degli indirizzi di Safari) scrivendo il seguente indirizzo:

vnc://192.168.0.2

che non farà altro che aprire l’applicativo di “Condivisione Schermo”. Il valore 192.168.0.2 è un ipotetico indirizzo di classe C di una rete locale e deve essere sostituito con l’indirizzo IP del PC su cui è installato il server VNC (analogamente è possibile usare le url afp://192.168.0.2 per i documenti condivisi col protocollo Apple Filing Protocol, oppure smb://192.168.0.2 per i documenti condivisi con il protocollo Server Message Block di SAMBA delle condivisioni Windows).

Una volta lanciato l’applicativo di “Condivisione Schermo“, verrà dapprima segnalato l’avviso che la connessione non è criptata:

Screen Sharing Mac OS X Leopard

e dopodiché, se impostata sul server, verrà mostrata una maschera su cui inserire una password

Screen Sharing Mac OS X Leopard

e, quindi, verrà aperta una finestra che mostrerà lo schermo condiviso.

Per i più esigenti è possibile aggiungere alcuni comandi evoluti per aggiungere ulteriori controlli alla vostra schermata di condivisione schermo. In particolare, se avviamo il Terminale e scriviamo:

defaults write com.apple.ScreenSharing ShowBonjourBrowser_Debug 1

avviando l’applicazione di Screen Sharing, avremo una nuova finestra, chiamata Bonjour Browser, che fornisce l’elenco di tutti i Mac in rete e permette di selezionare quello con cui avviare la sessione di controllo remoto.

Se invece scriviamo, sempre sul Terminale:

defaults write com.apple.ScreenSharing
‘NSToolbar Configuration ControlToolbar’ -dict-add ‘TB Item Identifiers’
‘(Scale,Control,Share,Curtain,Capture,FullScreen,GetClipboard,SendClipboard,Quality)’

si avranno alcuni controlli aggiuntivi, come la possibilità di passare velocemente dalla semplice osservazione remota al controllo, oppure inibire l’uso del mouse e della tastiera remota, e, infine, aumentare o ridurre dinamicamente la qualità della visualizzazione nel caso di reti lente o congestionate.

Devo dire che questa soluzione integrata in Leopard è nettamente più veloce e reattiva di tutte le soluzioni freeware installate in precedenza, con un tempo di ritardo di soli qualche frazione di secondo: un tempo più che accettabile!

Se questa applicazione vi risulta utile, è possibile spostarla direttamente nella cartella “Applicazioni” oppure fare un drag e drop sul Dock per creare un collegamento diretto.

VNC server integrato in Mac OS X

Per abilitare, invece, la condivisione schermo con VNC, senza dover installare prodotti di terzi parti, ma sfruttando invece la soluzione proposta da Apple nel suo sistema operativo Leopard, occorre andare in “System Preferences” (“Preferenze di Sistema” in italiano) e selezionare l’icona “Sharing” (“Condivisione” in italiano )

Screen Sharing Mac OS X Leopard

e, quindi, nella sezione “Service” (“Servizio”) abilitare “Screen Sharing” (“Condivisione Schermo”)

Screen Sharing Mac OS X Leopard

e, se necessario, cliccando sul pulsante “Computer Settings…” (Impostazioni computer…) è possibile impostare anche la password di VLC:

Screen Sharing Mac OS X Leopard
RDP anche su Windows XP Home

Il Desktop Remoto di Windows XP Professional è uno strumento di amministrazione remota che funziona con il protocollo proprietario Microsoft RDP (Remote Desktop Protocol) che usa la porta 3389. Uno dei vantaggi nell’usare RDP, oltre ad essere molto veloce anche in presenza di connessioni lente, è che il protocollo di comunicazione è crittografato, (anche se talune versioni di VNC Server prevedono la crittografia) cosa che renderà assai improbabile che qualcuno possa intercettare con uno sniffer di rete la propria password. Tra gli svantaggi, quello forse più fastidioso, è che è previsto un utente attivo per volta, ovvero non è possibile mantenere la sessione locale attiva mentre c’e’ un utente connesso via RDP (la console locale rimane bloccata e chiede l’inserimento della password per lo sblocco). Per questo motivo, probabilmente, VNC risulta superiore.

In ogni caso, se volete usare il protocollo RDP anche su sistemi con installato Windows XP Home (che non sono dotati di supporto al Desktop remoto o ai Terminal Services), è necessario bypassare il controllo del sistema operativo il quale permette l’installazione del Desktop Remoto solo sui sistemi Professional. Qui, trovate un ottima guida, anche se credo che, a meno di non avere particolari esigenze, convenga usare un server VNC.

VNC per iPhone e iPod Touch

Mocha VNC Un altro modo veloce per collegarsi ad un server VNC, solo se questo è anche in una rete wi-fi locale, consiste nell’usare un applicativo per iPhone e iPod Touch: Mocha VNC. Tramite questa app, è possibile effettuare delle connessioni remote ai vostri PC Windows o Mac Apple, con la possibilità di usare risoluzioni video fino ad un massimo di 1680×1200, colore a 8-32 bit e protocollo di connessione standard VNC protetto e criptato, il tutto con una intuitiva interfaccia touch.

Il software ha due versioni: una lite freeware ed un’altra full a pagamento (al costo di $5.99), che in più ha il controllo del click del tasto destro del mouse, una tastiera modificata e migliorata e la possibilità di inviare la sequenza Ctrl+Alt+Canc per i sistemi Windows.

Mocha VNC

Io l’ho provato nelle sua versione lite e devo dire che, se si esclude il fatto che, date le ridotte dimensioni del display che costringe molto spesso a spostare le finestre da una parte all’altra dello schermo, è molto intuitivo e comodo, soprattutto per gestire velocemente un server VNC senza la necessità di accendere un pc/mac.

Tag:app, Apple, condivisione, firewall, freeware, iPhone, ipod-touch, leopard, Mac os x, NAT, password, protocollo, router, samba, TightVNC, Tips, Tips Mac, vnc, Windows
CONTINUE READING >
15 comments
Mag 24 2007

NX per ottimizzare la remotizzazione X11 con connessioni lente

Posted by Antonio Troise
Tweet

NX Per coloro che hanno usato e apprezzato VNC su Linux, oppure del Remote Desktop Protocol su Windows, avranno sicuramente notato che i protocolli del desktop sharing richiedono una larghezza di banda considerevole.
Da ciò si desume che sarebbe praticamente impossibile fare uso di VNC o RDP volendo utilizzare X11 in remoto tramite una connessione modem. Questo almeno fino a quando l’italiano Gian Filippo Pinzari, ha ideato un protocollo geniale che sfrutta tecniche di compressione e di caching capaci di rendere usabile una sessione X11 anche con connessioni lente.

Il protocollo in questione è NX, rilasciato con licenza GPL, di cui sono disponibili implementazioni per praticamente tutte le piattaforme, persino per Windows 98, il che lo rende ideale per ridare vita a macchine datate, utilizzandole come client per applicazioni esose in termini di risorse.

Le funzionalità di NX non si limitano tuttavia alla compressione e al caching dei dati trasmessi. Esso infatti offre anche strumenti per servire come tunnel per connessioni VNC o RDP, che possono così godere dei benefici del protocollo. Inoltre, esso utilizza SSH per garantire un’autenticazione robusta e la riservatezza dei dati.
Ma la caratteristica più interessante è la possibilità di sospendere e successivamente riprendere una sessione grafica, lasciando i programmi avviati in esecuzione.

Un’implementazione Open Source, che funzioni fra l’altro anche come server, date uno sguardo a prodotti come FreeNX, mentre qui troverete degli ottimi tutorial.

[via Programmazione.it]

Tag:desktop_protocol, desktop_sharing, licenza_gpl, vnc, x11
CONTINUE READING >
2 comments
SeguiPrezzi - Risparmia con Amazon.it

Categorie

Commenti Recenti

  • Antonio Troise on UltraEdit: per i programmatori esigenti il miglior editor di testo per Windows, Mac OS e Linux
  • Fioredicollina on UltraEdit: per i programmatori esigenti il miglior editor di testo per Windows, Mac OS e Linux
  • Antonio Troise on UltraEdit: per i programmatori esigenti il miglior editor di testo per Windows, Mac OS e Linux
  • Emanuele on UltraEdit: per i programmatori esigenti il miglior editor di testo per Windows, Mac OS e Linux
  • Luca on iDatabase: la valida alternativa di Bento per macOS e iOS per i database personali

Meta

  • Accedi
  • Entries RSS
  • Comments RSS
  • WordPress.org

Friends Link

  • GamerTagMatch
  • SeguiPrezzi.it – Risparmia con Amazon.it
  • Trendy Nail

Seguimi su:

  • facebook
  • twitter
  • rss
Creative Commons License
Levysoft by Antonio Troise is licensed under a Creative Commons Attribuzione-Non commerciale 2.5 Italia License.
© Copyright 2004 - 2014 - Levysoft by Antonio Troise