Virtual Network Computing

Typische VNC-Sitzung in einem eigenen Fenster

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.

Geschichtliche Hintergründe

VNC wurde im Olivetti Research Laboratory (ORL) entwickelt. Das Forschungslabor wurde im Jahr 1986 mit Andy Hopper als Direktor gegründet, im Jahr 1999 von AT&T übernommen und im Jahr 2002 geschlossen. Die ursprünglichen Entwickler von VNC gründeten im Jahr 2002 das Unternehmen RealVNC. Der Projektleiter von VNC war Andy Harter, und Tristan Richardson schuf die Architektur und die Protokolle von VNC sowie Referenzimplementierungen für Unix und Java.

Seit dem Jahr 1998 ist VNC als Open Source veröffentlicht. Das ursprüngliche VNC steht unter der GNU General Public License. Dessen grundlegendes Remote Framebuffer Protocol hat RealVNC in einem Request for Comments vom März 2011 veröffentlicht.

Es gibt viele Forks von VNC, die verschiedene Verbesserungen und Zusatzfunktionen enthalten, aber weitgehend kompatibel zur Originalversion sind und als „kleinsten gemeinsamen Nenner“ dessen Netzwerkprotokoll unterstützen. Es existieren Implementierungen für alle gängigen Betriebssysteme, sodass VNC als plattformunabhängig gilt.

Funktionsweise

VNC arbeitet nach dem Client-Server-Modell. Das Server-Programm bietet Bildschirmausgaben und Eingabemöglichkeiten mittels Maus und Tastatur an, die das Client-Programm darstellen und nutzen kann.

Der Begriff Virtual bei VNC kommt daher, dass er als ein virtueller Ersatz für Thin Clients angesehen werden kann.

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, dies 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 so wie bei jedem anderen Netzwerkprotokoll die Gefahr der Ausspähung der Daten. Zum Absichern der Verbindung gibt es daher die Möglichkeit der SSL-Verschlüsselung der Transportschicht ähnlich HTTPS sowie das speziell für VNC optimierte Verschlüsselungsprotokoll VeNCrypt.

Bekannte Implementierungen

Die bekanntesten VNC-Programme, die sowohl über Client als auch Server verfügen, sind:

Xvnc

Xvnc ist eine Software, die auf einem normalen X-Server basiert. Anstelle eines echten, physischen Desktop-Computers 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.

Siehe auch

Commons: VNC – Album mit Bildern, Videos und Audiodateien

Einzelnachweise

  1. ↑ VNC Frequently Asked Questions. University of Cambridge, abgerufen am 19. Juni 2020 (englisch).
  2. ↑ An archive of AT&T Laboratories Cambridge. University of Cambridge, abgerufen am 30. Dezember 2014 (englisch).
  3. ↑ Executive profiles. RealVNC Limited, archiviert vom Original am 15. Mai 2016; abgerufen am 30. Dezember 2014 (englisch).
  4. ↑ Remote takeover: How RealVNC conquered the world. University of Cambridge, abgerufen am 20. Februar 2018 (englisch).
  5. ↑ VNC Open. RealVNC Limited, archiviert vom Original am 31. März 2016; abgerufen am 30. Dezember 2014 (englisch).
  6. ↑ RFC: 6143 – The Remote Framebuffer Protocol. März 2011 (englisch).
  7. ↑ What is VNC? – A practical introduction. University of Cambridge, archiviert vom Original am 22. September 2019; abgerufen am 30. Dezember 2014 (englisch).
  8. ↑ VNC, die Technik hinter Leopards Screensharing. Macwelt, 9. November 2007, abgerufen am 30. Dezember 2014.
  9. ↑ Nachbarschaftshilfe: Das kostenlose Cspace steuert Windows-Rechner übers Internet per VNC. In: c’t. Band 5. Heise Gruppe, 2007, ISSN 0724-8679, S. 70 f.