Zum Inhalt springen

„Virtual Network Computing“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Funktionsweise: , +Überarbeiten
überarbeitet und ausformuliert, vgl. Diskussion Überarbeiten
Zeile 1: Zeile 1:
[[Bild:VNC in KDE.png|thumb|Eine typische VNC-Sitzung in einem Fenster]]
[[Bild:VNC in KDE.png|thumb|Eine typische VNC-Sitzung in einem Fenster]]


'''Virtual Network Computing''' (kurz '''VNC''') ist eine von Olivetti & Oracle Research Laboratory (ab 1999 [[AT&T]]) entwickelte [[Software]], die den [[Bildschirm]]inhalt eines entfernten [[Computer|Rechners]] (auf dem die ''VNC-Server'' Software läuft) auf einem lokalen Rechner (auf dem die ''VNC-Viewer'' Software läuft) anzeigt und im Gegenzug [[Tastatur]]- und [[Maus (EDV)|Mausbewegungen]] des lokalen Rechners an den entfernten Rechner sendet. Damit kann man auf einem entfernten Rechner arbeiten, als säße man direkt davor. Alternativ ist auch ein Nur-„Lese“-Modus möglich, bei dem also lokale Eingaben keine Auswirkungen auf den entfernten Rechner haben.
'''Virtual Network Computing''' (kurz '''VNC''') ist eine von (ab 1999 [[AT&T]]) entwickelte [[Software]], die den [[Bildschirm]]inhalt eines entfernten [[Computer|Rechners]] (auf dem die ''VNC-Server'' Software läuft) auf einem lokalen Rechner (auf dem die ''VNC-Viewer'' Software läuft) anzeigt und im Gegenzug [[Tastatur]]- und [[Maus (EDV)|Mausbewegungen]] des lokalen Rechners an den entfernten Rechner sendet. Damit kann man auf einem entfernten Rechner arbeiten, als säße man direkt davor. VNC [[Implementierung|implementiert]] das [[Remote Framebuffer Protocol]].

== Geschichtliche Hintergründe ==
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 wurden, 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 [[Fork (Softwareentwicklung)|Fork]]s, 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 [[Betriebssystem]]e, sodass VNC als [[Plattformunabhängigkeit|plattformunabhängig]] gilt.


== Funktionsweise ==
== Funktionsweise ==
:''Siehe Hauptartikel: [[Remote Framebuffer Protocol]]''
{{Überarbeiten}}
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.
Die originale VNC-Version des Windows-Servers zeigt in einem weißen Icon in der Taskleiste, dass der Server läuft. Dieses wird schwarz, sobald sich ein Viewer mit dem Server verbindet, so dass der lokale Benutzer dies bemerkt. Da VNC quelloffen ist, ist es möglich, diese Anzeige herauszupatchen, was von den VNC-Entwicklern aber nicht empfohlen und daher nicht dokumentiert wird.

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 (Programmiersprache)|Java]]-fähigen [[Webbrowser|Browser]] möglich wird.


== Datenschutz ==
Neuere Versionen von VNC enthalten einen kleinen [[Webserver]], der ein [[Java-Applet]] bereitstellt, so dass ein Zugriff auch ohne installierte Clientsoftware über jeden [[Java (Programmiersprache)|Java]]-fähigen [[Webbrowser|Browser]] möglich wird. Mit VNC ist es beispielsweise möglich, dass der [[Systemadministrator|Administrator]] eines [[Rechnernetz|Netzwerkes]] die Kontrolle über den [[Computer]] eines Mitarbeiters übernimmt, um Software zu installieren oder Fehler zu beheben. VNC ist plattformunabhängig nutzbar, für fast alle gängigen [[Betriebssystem]]e gibt es mehrere [[Implementierung]]en.
Mit VNC ist es beispielsweise möglich, dass der [[Systemadministrator|Administrator]] eines [[Rechnernetz|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 Viwer keine Auswirkungen auf den entfernten VNC-Server-Rechner haben.


Da das Remote Framebuffer-Protokoll unverschlüsselt ist, werden prinzbedingt auch alle Tastatureingaben des Viewers unverschlüsselt über das Netzwerk versendet. Bei Eingabe sensibler Daten (z.B. [[Passwort|Passwörtern]]) besteht daher wie bei jedem anderen Netzwerkprotokoll die Gefahr der Ausspähung der Daten.
Da die Original-Version unter einer [[Open Source|Open-Source]]-Lizenz vertrieben wurde, entwickelten sich verschiedene [[Fork (Softwareentwicklung)|Fork]]s, 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.


== Bekannte Implementierungen ==
== Bekannte Implementierungen ==

Version vom 15. Oktober 2008, 11:33 Uhr

Eine typische VNC-Sitzung in einem Fenster

Virtual Network Computing (kurz VNC) ist eine von (ab 1999 AT&T) entwickelte Software, die den Bildschirminhalt eines entfernten Rechners (auf dem die VNC-Server Software läuft) auf einem lokalen Rechner (auf dem die VNC-Viewer Software läuft) 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.

Geschichtliche Hintergründe

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 wurden, 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.

Funktionsweise

Siehe Hauptartikel: Remote Framebuffer Protocol

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.

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 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 Viwer keine Auswirkungen auf den entfernten VNC-Server-Rechner haben.

Da das Remote Framebuffer-Protokoll unverschlüsselt ist, werden prinzbedingt 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

Logo von RealVNC

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, 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 möglich zu machen („Tight“-Encoding). Das Programm kann nur Passwörter verschlüsselt übertragen, die Datenübertragung an sich erfolgt unverschlüsselt. Das Programm eignet sich deshalb nur bedingt für die Nutzung über das Internet. Die Programmierer haben angekündigt, die Datenverschlüsselung in einer zukünftigen Version zu implementieren. Als schnelle Lösung dieses Mankos kann man TightVNC aber auch über SSH tunneln.
  • 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. Auch bei UltraVNC ist nur Passwort-Verschlüsselung verfügbar, für komplette Datenverschlüsselung werden externe Plugin-Module benötigt.
  • x11vnc – „a VNC server for real X displays“ – existierende X-Window real displays (physischer Bildschirm, Tastatur und Maus) an beliebigen VNC-Client weiterleiten. Mit eingebauter SSL-Verschlüsselung und -Authentifizierung, UNIX-Benutzer- und -Passwort-Unterstützung sowie Dateitransfer mit TightVNC und UltraVNC. Außerdem erweitert für Webcam und TV-Tuner Geräte und eingebettete Linux-Systeme. Zusätzlicher Enhanced TightVNC Viewer für Unix und Windows. 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, -Remote Desktop per Instant Messenger –, kostenlos, Open Source, die Kommunikation erfolgt verschlüsselt, es werden bei der Installation RSA-Schlüsselpaare erzeugt und der öffentliche Schlüssel auf einem zentralen Server abgelegt. (nachzulesen in der c't 5/2007 S.70)
  • 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)
  • PalmVNC: VNC-Client für Palm-Geräte
  • Apple Remote Desktop: VNC-Client für Mac OS X
  • Mocha VNC Lite: Macht VNC als App 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: Ein weiterer VNC-Viewer für das Apple iPhone ;dieser basiert jedoch auf VNsea

VNC als Mehrschirmbetrieb

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

Commons: VNC – Album mit Bildern, Videos und Audiodateien