VNC or Virtual Network Computing is a graphical user interface (GUI) that allows someone to connect and control another computer from a remote location. Knowing the target computer's IP address, or if on the same LAN, hostname, can enable an administrator the rights to manage a computer without the need to physically be there.
One of the features of VNC that makes it so robust is that it is operating system independent. Meaning, a VNC viewer on any operating system can be controlled by a VNC server running any operating system. It is not tied to Windows, Macintosh, or even Linux. The VNC project is an open source one and although originally designed at AT&T it has undergone many changes under the GNU General Public License.
VNC consists of three parts: The client, server and communication protocol. The VNC server is the program listens for communications with the client. VNC servers are the computers which will be administered and viewed. The VNC client is the program that watches and interacts with the server. The VNC communication protocol is relatively simple in that it simply tells the client to put a pixel in the X,Y coordinate that matches that of the server.
VNC by default is not a secure mode of remote management. Although it does not send its passwords in plain text like telnet, a simple packet sniff on the network can discover both the encryption key and the password itself. Several variations of the VNC protocol have integrated stronger security into their programs to help combat this. UltraVNC, for example supports an open source encryption method that encrypts the entire VNC Session from authentication to data transfer. It also supports NTLM (Windows NT Lan Management) or Active Directory user account authentication.
Popular VNC clients are UltraVNC, RealVNC and Xvnc for Unix.