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 |
VNC wurde im Olivetti & Oracle 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, waren 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, sodass VNC als plattformunabhängig gilt.
VNC ist ein Client-Server-Modell, jedem VNC-Server stehen also mindestens ein Client gegenüber. 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.
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 missbraucht werden, VNC-Programme gelten daher allgemein als Spionagesoftware. 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 RealVNC-Version des Microsoft Windows-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, sodass der Benutzer des Computers, auf dem der Server läuft, dies bemerkt. 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.
Die bekanntesten VNC-Programme, die sowohl über Client als auch Server verfügen, sind:
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 „Multimonitor“-Anwendungen sind