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視窗系統的應用程式來說它是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協定,因此大多可互通使用。