VNC
此條目沒有列出任何參考或來源。 (2018年11月6日) |
VNC(Virtual Network Computing),為一種使用RFB協定的螢幕畫面分享及遠端操作軟體。此軟體藉由網路,可傳送鍵盤與滑鼠的動作及即時的螢幕畫面。
VNC與作業系統無關,因此可跨平台使用,例如可用Windows連線到某Linux的電腦,反之亦同。甚至在沒有安裝用戶端程式的電腦中,只要有支援JAVA的瀏覽器,也可使用。
簡史
編輯VNC由Olivetti & Oracle研究室所開發,此研究室在1999年併入美國電話電報公司(AT&T)。AT&T於2002年中止了此研究室的運作,並把VNC以GPL釋出。
因為它是免費的,以及可用於數量龐大的不同操作系統,它的簡單,可靠,和向後兼容性,使之進化成為最為廣泛使用的遠程控制軟件,多平台的支持對網絡管理員是十分重要的,這使得網絡管理員可以使用一種工具管理幾乎所有系統。
原來的AT&T版本已經不再使用,因為更多有重大改善的分支版本已經出現,像是RealVNC,VNC tight和UltraVNC,他們具有全面的向後兼容。至少對於基本的遠程控制功能而言。Real VNC是當前最活躍和強大的主流應用。
VNC對於簡單的遠程控制幾乎完美,但是缺少對於大機構的桌面幫助功能,主要是日誌記錄和安全功能沒有足以達到此目的。VNC為遠程工作人員或受客戶機也沒有做好準備,因為目前還沒有支持遠程應用程序的本地打印。
因為VNC本來是開發用在局域網的環境,因此用在互聯網上存在安全問題,當您計劃在遠程位置訪問遠程PC,你應該考慮一個專用的調製解調器或ISDN的撥號連接,VPN隧道,所有使用SSL或包裹VNC通信。
參與VNC開發的人員有:
- Tristan Richardson(發明者)
- Andy Harter(專案經理)
- Quentin Stafford-Fraser
- James Weatherall
- Ken Wood
- Andy Hopper
- Charles McLachlan
- Paul Webster
2002年研究室中止運作之後,部份團隊中的成員另起爐灶開發出RealVNC。
原理
編輯VNC系統由客戶端,服務端和一個協議組成
VNC的服務端目的是分享其所運行機器的屏幕,服務端被動的允許客戶端控制它。VNC客戶端(或Viewer)觀察控制服務端,與服務端交互。VNC協議Protocol(RFB)是一個簡單的協議,傳送服務端的原始圖像到客戶端(一個X,Y位置上的正方形的點陣數據),客戶端傳送事件消息到服務端。
服務器發送小方塊的幀緩存給客戶端,在最簡單的情況,VNC協議使用大量的帶寬,因此各種各樣的方法被發明出來減少通訊的開支,舉例來說,有各種各樣的編碼方法來決定最有效率的方法來傳送這些點陣方塊)
協議允許客戶端和服務端去協議哪種編碼會被使用,最簡單的編碼,被大多數客戶端和服務端所支持的是,從左到右的像素掃描數據的原始編碼,當原始的滿屏被發送後,只發送變化的方塊區域。這種編碼在幁間只有小部分屏幕變化的情況下工作的非常好(像是鼠標鍵在桌面移動的情況,或在光標處敲擊文字),不過如果大量的像素同時變化帶寬將會增加的非常高,像是拖動一個窗口或觀看全屏錄像。
VNC預設使用TCP埠5900至5906,而JAVA的VNC用戶端使用5800至5806。一個服務端可以在5900端口用「監聽模式」連接一個客戶端,使用監聽模式的一個好處是服務端不需要設置防火牆。
UNIX上的VNC稱為xvnc,同時扮演兩種角色,對X Window系統的應用程式來說它是X server,對於VNC用戶端來說它是VNC伺服程式。
安全性
編輯VNC並非是安全的協定,雖然VNC伺服程式需設定密碼才可接受外來連線,且VNC用戶端與VNC伺服程式之間的密碼傳輸經過加密,但仍可被輕易的攔截到並使用暴力破解法破解。不過VNC可設計以SSH或VPN傳輸,以增加安全性。
有些VNC軟體,如UltraVNC,更進一步支援Active Directory及NTLM的帳號密碼認證。
VNC軟體
編輯由於VNC以GPL授權,衍生出了幾個VNC軟體:
- RealVNC:由VNC團隊部份成員開發,分為全功能商業版及免費版。
- TightVNC:強調節省頻寬使用。開源軟件,但沒有GitHub倉庫。
- TigerVNC:開源軟件,作為 TightVNC 的一個分支開始。客戶端支持 Windows、Linux 和 macOS。服務器支持 Linux。
- UltraVNC:加入了TightVNC的部份程式及加強效能的圖型映射驅動程式,並結合Active Directory及NTLM的帳號密碼認證,但僅有Windows版本。
- Vine Viewer:MacOSX的VNC用戶端。
- x11vnc:構建於X Window系統之上。
這些軟體各有所長,例如UltraVNC支援檔案傳輸以及全螢幕模式。而這些軟體間大多遵循基本的VNC協定,因此大多可互通使用。