{
	"id": "62304944-ca11-43d6-8a6e-3b9beaf111da",
	"created_at": "2026-04-06T01:30:39.933562Z",
	"updated_at": "2026-04-10T03:20:54.828782Z",
	"deleted_at": null,
	"sha1_hash": "039b0c0d9f2447135d3cd14f98fb9245c01d1dd2",
	"title": "VNC",
	"llm_title": "",
	"authors": "",
	"file_creation_date": "0001-01-01T00:00:00Z",
	"file_modification_date": "0001-01-01T00:00:00Z",
	"file_size": 195639,
	"plain_text": "VNC\r\nBy Contributors to Wikimedia projects\r\nPublished: 2003-10-28 · Archived: 2026-04-06 00:45:44 UTC\r\nFrom Wikipedia, the free encyclopedia\r\nVirtual Network Computing logo\r\nVNC in KDE 3.1\r\nVNC (Virtual Network Computing) is a graphical desktop-sharing system that uses the Remote Frame Buffer\r\n(RFB) protocol to remotely control another computer. It transmits the keyboard and mouse input from one\r\ncomputer to another, relaying the graphical screen updates, over a network.\r\n[1]\r\n Popular uses for this technology\r\ninclude remote technical support and accessing files on one's work computer from one's home computer, or vice\r\nversa.\r\nVNC is platform-independent, with clients and servers for many GUI-based operating systems and for Java.\r\nMultiple clients may connect to a VNC server at the same time. There are a number of variants of VNC[2] which\r\noffer their own particular functionality; e.g., some optimised for Microsoft Windows, or offering file transfer (not\r\npart of VNC proper), etc. Many are compatible (without their added features) with VNC proper in the sense that a\r\nviewer of one flavour can connect with a server of another; others are based on VNC code but not compatible with\r\nstandard VNC.\r\nhttps://en.wikipedia.org/wiki/Virtual_Network_Computing\r\nPage 1 of 5\n\nVNC was originally developed at the Olivetti \u0026 Oracle Research Lab in Cambridge, United Kingdom, whose\r\ndevelopers subsequently created RealVNC Ltd and claimed VNC and RFB as registered trademarks in the US and\r\nsome other countries. The original VNC source code and many modern derivatives are open source under the\r\nGNU General Public License.\r\nThe Olivetti \u0026 Oracle Research Lab (ORL)[3] at Cambridge in the UK developed VNC at a time when Olivetti\r\nand Oracle Corporation owned the lab. Developers who worked on VNC while at the AT\u0026T Research Lab include\r\nTristan Richardson (inventor), Andy Harter (project leader), Quentin Stafford-Fraser, James Weatherall and Andy\r\nHopper.\r\n[4]\r\n The name Virtual Network Computer/Computing (VNC) originated with ORL's work on a thin client\r\ncalled the Videotile, which also used the RFB protocol. The Videotile had an LCD with pen input and a fast ATM\r\nconnection to the network. At the time, network computer was commonly used as a synonym for a thin client;\r\nVNC is essentially a software-only (i.e. virtual) network computer.\r\n[citation needed]\r\nIn 1999, AT\u0026T acquired the lab, and in 2002 closed down the lab's research efforts. Following this, several\r\nmembers of the development team (including Richardson, Harter, Weatherall and Hopper) formed RealVNC in\r\norder to continue working on open-source and commercial VNC software under that name. As of 2013, RealVNC\r\nLtd claims the term \"VNC\" as a registered trademark in the United States and in other countries.[5]\r\nThe original GPLed source code has fed into several other versions of VNC. Such forking has not led to\r\ncompatibility problems because the RFB protocol is designed to be extensible. VNC clients and servers negotiate\r\ntheir capabilities with handshaking in order to use the most appropriate options supported at both ends.\r\nDesign and operation\r\n[edit]\r\nThe VNC server is the program on the machine that shares some screen (and may not be related to a physical\r\ndisplay: the server can be \"headless\"), and allows the client to share control of it. The VNC client (or viewer) is\r\nthe program that presents the screen data originating from the server, receives updates from it, and presumably\r\ncontrols it by informing the server of collected local input. The VNC protocol (RFB protocol) is very simple,\r\nbased on transmitting one graphic primitive from server to client (\"Put a rectangle of pixel data at the specified\r\nX,Y position\") and event messages from client to server.\r\nIn the normal method of operation a viewer connects to a port on the server (default port: 5900). Alternatively\r\n(depending on the implementation) a browser can connect to the server (default port: 5800). And a server can\r\nconnect to a viewer in \"listening mode\" on port 5500. One advantage of listening mode is that the server site does\r\nnot have to configure its firewall to allow access on port 5900 (or 5800); the duty is on the viewer, which is useful\r\nif the server site has no computer expertise and the viewer user is more knowledgeable.\r\nThe server sends small rectangles of the framebuffer to the client. In its simplest form, the VNC protocol can use a\r\nlot of bandwidth, so various methods have been devised to reduce the communication overhead. For example,\r\nthere are various encodings (methods to determine the most efficient way to transfer these rectangles). The VNC\r\nprotocol allows the client and server to negotiate which encoding they will use. The simplest encoding, supported\r\nby all clients and servers, is raw encoding, which sends pixel data in left-to-right scanline order, and after the\r\nhttps://en.wikipedia.org/wiki/Virtual_Network_Computing\r\nPage 2 of 5\n\noriginal full screen has been transmitted, transfers only rectangles that change. This encoding works very well if\r\nonly a small portion of the screen changes from one frame to the next (as when a mouse pointer moves across a\r\ndesktop, or when text is written at the cursor), but bandwidth demands get very high if a lot of pixels change at the\r\nsame time (such as when scrolling a window or viewing full-screen video).\r\nVNC by default uses TCP port 5900+N,\r\n[6][7]\r\n where N is the display number (usually :0 for a physical display).\r\nSeveral implementations also start a basic HTTP server on port 5800+N to provide a VNC viewer as a Java applet,\r\nallowing easy connection through any Java-enabled web-browser. Different port assignments can be used as long\r\nas both client and server are configured accordingly. A HTML5 VNC client implementation for modern browsers\r\n(no plugins required) exists too.[8]\r\nAlthough possible even on low bandwidth, using VNC over the Internet is facilitated if the user has a broadband\r\nconnection at both ends. However, it may require advanced network address translation (NAT), firewall and router\r\nconfiguration such as port forwarding in order for the connection to go through. Users may establish\r\ncommunication through virtual private network (VPN) technologies to ease usage over the Internet, or as a LAN\r\nconnection if VPN is used as a proxy, or through a VNC repeater (useful in presence of a NAT).[9] \r\n[10]\r\nIn addition, the display that is served by VNC is not necessarily the same display seen by a user on the server. On\r\nUnix/Linux computers that support multiple simultaneous X11 sessions, VNC may be set to serve a particular\r\nexisting X11 session, or to start one of its own. It is also possible to run multiple VNC sessions from the same\r\ncomputer. On Microsoft Windows the VNC session served is always the current user session.[citation needed]\r\nIn July 2014 RealVNC published a Wayland developer preview.\r\n[11][12]\r\nBy default, RFB is not a secure protocol. While passwords are not sent in plain-text (as in telnet), cracking could\r\nprove successful if both the encryption key and encoded password were sniffed from a network.[13] For this\r\nreason it is recommended that a password of at least 8 characters be used. On the other hand, there is also an 8-\r\ncharacter limit on some versions of VNC;[14] if a password is sent exceeding 8 characters, the excess characters\r\nare removed and the truncated string is compared to the password.[15]\r\nUltraVNC supports the use of an open-source encryption plugin which encrypts the entire VNC session including\r\npassword authentication and data transfer.\r\n[16]\r\n It also allows authentication to be performed based on NTLM and\r\nActive Directory user accounts.[17] However, use of such encryption plugins makes it incompatible with other\r\nVNC programs. RealVNC offers high-strength AES encryption[18] as part of its commercial package, along with\r\nintegration with Active Directory.\r\n[19]\r\n According to TightVNC, TightVNC is not secure as picture data is\r\ntransmitted without encryption. To circumvent this, it should be tunneled through an SSH connection[20] (see\r\nbelow).\r\nVNC may be tunneled over an SSH or VPN connection which would add an extra security layer with stronger\r\nencryption.[21]\r\nAn additional security concern for the use of VNC is to check whether the version used requires authorization\r\nfrom the remote computer owner before someone takes control of their device. This will avoid the situation where\r\nthe owner of the computer accessed realizes there is someone in control of their device without previous notice.\r\nhttps://en.wikipedia.org/wiki/Virtual_Network_Computing\r\nPage 3 of 5\n\nFunctionality for this security feature has been implemented into certain VNC servers, such as RealVNC, and\r\nUltraVNC.[17][22]\r\nXvnc is the Unix VNC server, which is based on a standard X server. To applications, Xvnc appears as an X\r\n\"server\" (i.e., it displays client windows), and to remote VNC users it is a VNC server. Applications can display\r\nthemselves on Xvnc as if it were a normal X display, but they will appear on any connected VNC viewers rather\r\nthan on a physical screen.[23] Alternatively, a machine (which may be a workstation or a network server) with\r\nscreen, keyboard, and mouse can be set up to boot and run the VNC server as a service or daemon, then the\r\nscreen, keyboard, and mouse can be removed and the machine stored in an out-of-the way location.\r\nUsers commonly deploy VNC as a cross-platform remote desktop system. For example, Apple Remote Desktop\r\nfor Mac OS X (and \"Back to My Mac\" in versions 10.5 through 10.13) interoperates with VNC and will connect\r\nto a Unix user's current desktop if it is served with x11vnc, or to a separate X11 session if one is served with\r\nTightVNC. From Unix, TightVNC will connect to a Mac OS X session served by Apple Remote Desktop if the\r\nVNC option is enabled, or to a VNC server running on Microsoft Windows.[24]\r\nOpen source programs or libraries which implement VNC include: KRDC, Krfb, Libvncserver, Remmina,\r\nTigerVNC, TightVNC, TurboVNC, UltraVNC, Veyon, Vinagre, VirtualGL, x11vnc and xpra.\r\nRealVNC\r\nRFB (protocol)\r\nSPICE\r\nTigerVNC\r\nUltraVNC\r\n1. ^ Richardson, T.; Stafford-Fraser, Q.; Wood, K. R.; Hopper, A. (1998). \"Virtual network computing\"\r\n(PDF). IEEE Internet Computing. 2: 33–38. CiteSeerX 10.1.1.17.5625. doi:10.1109/4236.656066.\r\n2. ^ \"The VNC family of Remote Control Applications: a list of VNC variants\". Archived from the original on\r\n7 December 2023. Retrieved 4 June 2009.\r\n3. ^ \"VNC Frequently Asked Questions (FAQ)\". 1999. Archived from the original on 15 August 2000.\r\n4. ^ \"RealVNC Executive Profiles\". Archived from the original on 15 May 2016. Retrieved 23 June 2011.\r\n5. ^ Copyright and trademarks RealVNC. Accessed Feb 23, 2018.\r\n6. ^ \"Frequently asked questions\".\r\n7. ^ \"UltraVnc Configuration\". Archived from the original on 3 July 2011. Retrieved 19 April 2009.\r\n8. ^ \"noVNC\". GitHub.\r\n9. ^ \"OpenWRT VNC repeater\".\r\n10. ^ \"uVNC repeater\". Archived from the original on 5 December 2023. Retrieved 11 April 2017.\r\n11. ^ \"VNC® Wayland Developer Preview\". 8 July 2014. Archived from the original on 14 July 2014.\r\nRetrieved 10 July 2014.\r\n12. ^ \"RealVNC Wayland developer preview email\". freedesktop.org. 9 July 2014.\r\n13. ^ Richardson, Tristan; Levine, John R. (March 2011). The Remote Framebuffer Protocol (Report). Internet\r\nEngineering Task Force.\r\n14. ^ \"Remote Access with VNC [EECS Technical Database]\". wiki.eecs.yorku.ca. Retrieved 6 July 2025.\r\n15. ^ \"vncpasswd\". tigervnc.org. Retrieved 6 July 2025.\r\nhttps://en.wikipedia.org/wiki/Virtual_Network_Computing\r\nPage 4 of 5\n\n16. ^ \"SecureVNC Plugin - UltraVNC VNC OFFICIAL SITE, Remote Desktop Free Opensource\". uvnc.com.\r\nRetrieved 6 July 2025.\r\n17. ^ Jump up to: a\r\n \r\nb\r\n \"UltraVNC Server Configuration - UltraVNC VNC OFFICIAL SITE, Remote Desktop\r\nFree Opensource\". uvnc.com. Retrieved 6 July 2025.\r\n18. ^ \"Setting up VNC Connect for Maximum Security\". RealVNC Help Center. 21 March 2024. Retrieved 6\r\nJuly 2025.\r\n19. ^ \"Setting up Single sign-on Authentication\". RealVNC Help Center. 2 May 2024. Retrieved 6 July 2025.\r\n20. ^ How secure is TightVNC? TightVNC Frequently Asked Questions. TightVNC.com Accessed Feb 23,\r\n2018\r\n21. ^ Wallen, Jack (17 January 2019). \"How to connect to VNC using SSH\". TechRepublic. Retrieved 6 July\r\n2025.\r\n22. ^ \"Requiring Connection Approval From a Remote Computer Owner\". RealVNC Help Center. 31 May\r\n2022. Retrieved 6 July 2025.\r\n23. ^ AT\u0026T Laboratories Cambridge (1999). \"X-based VNC server\". Virtual Network Computing. Archived\r\nfrom the original on 19 March 2007. Retrieved 24 March 2007.\r\n24. ^ \"OnlineVNC Server for Windows OSes\".\r\nWikimedia Commons has media related to VNC.\r\nRFB 3.8 Protocol Standard\r\nAT\u0026T VNC Archived 16 October 2008 at the Wayback Machine: Original AT\u0026T-Cambridge VNC website\r\nSource: https://en.wikipedia.org/wiki/Virtual_Network_Computing\r\nhttps://en.wikipedia.org/wiki/Virtual_Network_Computing\r\nPage 5 of 5",
	"extraction_quality": 1,
	"language": "EN",
	"sources": [
		"ETDA"
	],
	"references": [
		"https://en.wikipedia.org/wiki/Virtual_Network_Computing"
	],
	"report_names": [
		"Virtual_Network_Computing"
	],
	"threat_actors": [],
	"ts_created_at": 1775439039,
	"ts_updated_at": 1775791254,
	"ts_creation_date": 0,
	"ts_modification_date": 0,
	"files": {
		"pdf": "https://archive.orkl.eu/039b0c0d9f2447135d3cd14f98fb9245c01d1dd2.pdf",
		"text": "https://archive.orkl.eu/039b0c0d9f2447135d3cd14f98fb9245c01d1dd2.txt",
		"img": "https://archive.orkl.eu/039b0c0d9f2447135d3cd14f98fb9245c01d1dd2.jpg"
	}
}