- Virtual Network Computing
-
Virtual Network Computing, kurz VNC, ist eine Software, die den Bildschirminhalt eines entfernten Rechners (Server) auf einem lokalen Rechner (Client) anzeigt und im Gegenzug Tastatur- und Mausbewegungen des lokalen Rechners an den entfernten Rechner sendet. Damit kann man auf einem entfernten Rechner arbeiten, als säße man direkt davor. VNC implementiert das Remote Framebuffer Protocol und ist damit, im Gegensatz zu anderer Fernwartungssoftware, plattformunabhängig benutzbar.
Inhaltsverzeichnis
Geschichtliche Hintergründe
VNC wurde im Olivetti Research Laboratory (ORL) entwickelt. 1999 wurde das Laboratorium von AT&T aufgekauft und 2002 geschlossen.
Eine Reihe von Entwicklern, die auch noch am AT&T Research Lab an VNC arbeiteten, sind unter anderem der Erfinder Tristan Richardson, der Projektleiter Andy Harter sowie Quentin Stafford-Fraser, James Weatherall, Ken Wood, Andy Hopper, Charles McLachlan, Paul Webster sowie Hendrik Ekkelenkamp.
Nachdem das Laboratorium 2002 geschlossen wurde, haben mehrere Mitglieder des Entwicklungsteams, einschließlich Richardson, Harter, Weatherall und Hopper, die Firma RealVNC gegründet, um weiterhin an VNC zu arbeiten. Es wurde bereits damals neben kommerziellen VNC-Versionen eine im Funktionsumfang abgespeckte Open-Source-Variante unter der GNU General Public License veröffentlicht.
Auf diese Weise entwickelten sich verschiedene Forks, welche verschiedene Verbesserungen und Zusatzfunktionen enthalten, die aber alle weitgehend kompatibel zur Originalversion sind. Das verwendete Remote Framebuffer Protocol wird in Version 3.3 von allen VNC-Versionen verstanden und dient heute als „kleinster gemeinsamer Nenner“ bei Verwendung verschiedener VNC-Programme.
Mittlerweile existieren VNC-Implementierungen für alle gängigen Betriebssysteme, so dass VNC als plattformunabhängig gilt.
Funktionsweise
VNC arbeitet nach dem Client-Server-Modell. Das Server-Programm läuft dabei auf dem Computer, dessen Bildschirmausgaben überwacht werden sollen, wohingegen die Client-Programme die Bildschirmausgaben empfangen und ihrerseits Tastatur- und Mauseingaben an den Server schicken können.
Neuere Versionen von VNC haben im Funktionsumfang gemeinsam, dass sie meist zum VNC-Server selbst auch noch einen mit minimalem Funktionsumfang ausgestatteten Webserver zur Verfügung stellen, der ein Java-Applet bereitstellt, so dass ein Zugriff auch ohne installierte VNC-Clientsoftware über jeden Java-fähigen Browser möglich wird.
Datenschutz
Mit VNC ist es beispielsweise möglich, dass der Administrator eines Netzwerkes die Kontrolle über den Computer eines Mitarbeiters übernimmt, um Software zu installieren oder Fehler zu beheben. Allerdings kann VNC auch als Spionagesoftware missbraucht werden. Viele Implementierungen ermöglichen einen für den Benutzer des überwachten Computers unauffälligen Einsatz. In gleichem Maße kann die Benutzung von VNC-Software aber auch abgesichert sein: So zeigt die Windows-Version des RealVNC-Servers in der Taskleiste mit einem weißen Icon an, dass der Server läuft. Dieses verfärbt sich schwarz, sobald sich ein Viewer mit dem Server verbindet, so dass der Benutzer des Computers, auf dem der Server läuft, das bemerken kann. Viele Implementierungen bieten zudem die Möglichkeit, bei Verbindungsaufbau Passwörter abzufragen (nicht im RFP-Standard vorgesehen) oder in einer auf dem zu überwachenden Computer angezeigten Dialogbox eine Einverständniserklärung vom Benutzer des zu überwachenden Computers zum Verbindungsaufbau einzuholen. Alternativ ist auch ein Nur-„Lese“-Modus möglich, bei dem also lokale Eingaben beim Viewer keine Auswirkungen auf den entfernten VNC-Server-Rechner haben.
Da das Remote Framebuffer-Protokoll unverschlüsselt ist, werden prinzipbedingt auch alle Tastatureingaben des Viewers unverschlüsselt über das Netzwerk versendet. Bei Eingabe sensibler Daten (z. B. Passwörtern) besteht daher wie bei jedem anderen Netzwerkprotokoll die Gefahr der Ausspähung der Daten.
Bekannte Implementierungen
Die bekanntesten VNC-Programme, die sowohl über Client als auch Server verfügen, sind:
- RealVNC ist die „offizielle“ Weiterentwicklung des AT&T-VNC und steht unter der GNU General Public License. Allerdings ist nur die sehr beschnittene „Free Edition“ kostenlos.
- TightVNC: Ein VNC-Server und -Client unter der GPL-Lizenz, verfügbar für Windows und zahlreiche Unix-Derivate wie Linux; außerdem existiert eine plattformunabhängige Implementierung in Java (nur Client), die nicht installiert werden muss. TightVNC ist eine umfangreiche Weiterentwicklung des VNC-Programmes, besonders hervorzuheben sind die Kompressionsmöglichkeiten, um VNC auch bei schmalbandigen Verbindungen problemlos zu ermöglichen („Tight“-Encoding). Das Programm kann nur Passwörter verschlüsselt übertragen, die Datenübertragung an sich erfolgt unverschlüsselt.
- UltraVNC: Ein VNC-Server und -Client für Windows unter der GPL. Er bietet Zusatzfunktionen wie Dateitransfer, Chat und Mirror Video Driver für sehr kurze Übertragungsintervalle für Breitbandverbindungen (wie DSL oder lokales Netzwerk), außerdem das „Tight“-Encoding von TightVNC. Bei UltraVNC ist die Authentifizierung nicht nur über die reguläre Passwort-Verschlüsselung möglich, sondern auch über die Microsoft Logon I u. II Authentifizierungsverfahren, die im NT Domänenkonzept und Microsoft Verzeichnisdienst ihre Anwendung finden. Für die Verschlüsselung des Datenstroms zwischen Server und Client von UltraVNC werden externe DSM-Plugin-Module verwendet. Die DSM-Plugin-Module ermöglichen eine RC4- bzw. AES-Verschlüsselung bis zu einer Schlüssellänge von 128 Bit.
- x11vnc – leitet X-Window real displays (physischer Bildschirm, Tastatur und Maus) an beliebigen VNC-Client weiter. Mit eingebauter SSL-Verschlüsselung und -Authentifizierung, UNIX-Benutzer- und -Passwort-Unterstützung sowie Dateitransfer mit TightVNC und UltraVNC. Außerdem erweitert für Webcams, TV-Tuner und eingebettete Linux-Systeme. Zusätzlicher Enhanced TightVNC Viewer für Unix und Windows. GPL-Lizenz.
- LibVNCServer/LibVNCClient sind plattformübergreifend einsetzbare C-Bibliotheken, die es ermöglichen, VNC-Server- oder VNC-Client-Funktionalität in eigene Anwendungen zu integrieren. GPL-Lizenz.
- Lotus Sametime der Firma IBM, das ebenfalls weitere Zusatzfunktionen bietet
- Contiki VNC-Server als CTK-Thema (Contiki Toolkit)
- Krdc und Krfb – Client und Server für KDE.
- Vino – Client und Server für GNOME.
- CSpace – Fernsteuerung für Windowsrechner per VNC, kostenlos, Open Source, die Authentifizierung und Kommunikation erfolgen verschlüsselt, es werden bei der Installation RSA-Schlüsselpaare mit 2048-Bit erzeugt und der öffentliche Schlüssel auf einem zentralen Server abgelegt.[1]
- DirectVNC ist ein VNC-Client für Framebuffer-Ausgaben. Er verwendet DirectFB und benötigt daher keinen X-Server. Damit eignet er sich für sehr leistungsarme Unix-Systeme.
- Chicken of The VNC: VNC-Client für Mac OS X (GPL)
- JollysFastVNC: VNC-Client für Mac OS X
- VineServer (ehemals OSXvnc): VNC-Server für Mac OS X (GPL)
- OS9vnc: VNC-Server für Mac OS 9 und Mac OS 8
- PalmVNC: VNC-Client für Palm-Geräte
- Apple Remote Desktop: VNC-Client für Mac OS X
- Mocha VNC Lite: Macht VNC als Anwendung für iPod touch und iPhone möglich. Kompatibel zu PC und Macintosh.
- Portable VNC: VNC Viewer für die Sony PSP
- mVNC: VNC-Server für Symbian S60 Handys
- VNsea: VNC-Viewer für das Apple iPhone
- TouchpadPro: VNC-Viewer für das Apple iPhone basierend auf VNsea
- TigerVNC: Abspaltung von TightVNC
- EfonVNC: VNC-Server für Windows CE .NET (4.x), Windows CE 5.0 und Windows Embedded CE 6.0. Lizenz: GPL.
Xvnc
Xvnc ist eine Software, die auf einem normalen X-Server basiert. Anstelle eines echten, physikalischen Desktops nutzt Xvnc dabei einen virtuellen Desktop. X-Applikationen werden dabei wie auf einem normalen X-Server dargestellt, können aber nur über einen VNC-Viewer angezeigt und bedient werden.
Xvnc stellt dabei zwei unterschiedliche Server zur Verfügung: zum einen den X-Server, in dem der voreingestellte Window-Manager (z. B. GNOME oder KDE) gestartet wird, zum anderen einen VNC-Server, auf den mittels Client zugegriffen werden kann. Aufgrund der Technik der UNIX X-Server ist es so möglich, mehrere Xvnc-Instanzen auf einem Rechner zu starten.
Der VNC-Server wird normalerweise nicht direkt über Xvnc gestartet, sondern über das mitgelieferte Perl-Script
vncserver
.Xvnc ist fester Bestandteil von fast allen auf UNIX-Systemen laufenden VNC-Servern.
VNC als Mehrbildschirmbetrieb
Dank seiner enormen Popularität wird das VNC-Protokoll vermehrt dazu genutzt, Multi-Head-fähige Grafikkarten zu simulieren. Dazu läuft ein Computer mit einer speziellen „Multimonitorsoftware“, die üblicherweise einen virtuellen VNC-Server zur Verfügung stellt. Von dem zweiten Rechner, dessen Monitor man als Erweiterung zum Ersten benutzen möchte, reicht dann ein gewöhnlicher VNC-Client, um sich mit dem virtuellen VNC-Server zu verbinden. Dargestellt wird dann nicht der Monitorinhalt des anderen, sondern der entsprechend simulierte virtuelle Erweiterungsteil.
Bekannte proprietäre „Multimonitor-Anwendungen“ sind ScreenRecycler für Apple Macintosh (Shareware) sowie ZoneScreen (Freeware) als auch MaxiVista für Microsoft Windows.
Einzelnachweise
Weblinks
Commons: VNC – Album mit Bildern und/oder Videos und Audiodateien- Entschlüsseln von RealVNC-Passwörtern
- Weiterführender Artikel im LinuxWiki
- Comparison of remote desktop software Vergleich von Remote-Lösungen und mehreren VNC-Varianten
- Vergleich mehrerer VNC-Varianten
- EfonVNC – Open Source VNC-Server für Windows CE .NET (4.x), Windows CE 5.0 und Windows Embedded CE 6.0
Wikimedia Foundation.