Telnet
互聯網協定套組 |
---|
應用層 |
傳輸層 |
網絡層 |
連結層 |
Telnet是一種應用層協定,使用於互聯網及區域網中,使用虛擬終端機的形式,提供雙向、以文字字串為主的命令列介面互動功能。屬於TCP/IP協定族的其中之一,是互聯網遠端登錄服務的標準協定和主要方式,常用於伺服器的遠端控制,可供用戶在本地主機執行遠端主機上的工作。
Telnet在1969年開發出來,在RFC 15定義,RFC 854定義了擴充功能。互聯網工程任務組(IETF),在STD 8中,將其加以標準化,是最早形成的互聯網協定之一。
原理
用戶首先在電腦執行Telnet程式,連線至目的地伺服器,然後輸入帳號和密碼以驗證身份。用戶可以在本地主機輸入命令,然後讓已連接的遠端主機執行,就像直接在對方的控制台上輸入一樣。
傳統Telnet會話所傳輸的資料並未加密,帳號和密碼等敏感資料容易會被竊聽,因此很多伺服器都會封鎖Telnet服務,改用更安全的SSH。
應用
- 圖書館利用Telnet及萬維網供讀者進行續借、預約及查詢記錄的服務。
- 多數的純文字式BBS仍使用Telnet,部分BBS提供SSH服務以提升安全性。
- 路由器、交換器及大部份的電信裝置仍提供Telnet及SSH介面,以讓管理者連入進行設置及維護。
Microsoft Windows從Vista開始,不再預先安裝Telnet客戶端,用戶需要手動從控制台裏安裝才可使用。而在之前的Windows版本中,Telnet客戶端可隨時使用。
相關RFC檔案
互聯網
- RFC 854, Telnet Protocol Specification
- RFC 855, Telnet Option Specifications
- RFC 856, Telnet Binary Transmission
- RFC 857, Telnet Echo Option
- RFC 858, Telnet Suppress Go Ahead Option
- RFC 859, Telnet Status Option
- RFC 860, Telnet Timing Mark Option
- RFC 861, Telnet Extended Options: List Option
編程介面
Delphi/C++Builder中,通過Indy,可以使用控制項類TIdTelnetServer與TIdCmdTCPClient,分別扮作伺服器端與客戶端提供了編程設施。在客戶端,傳送訊息時必須呼叫SendCh()方法,每次傳送一個字元;接收數據通過OnDataAvailable事件自行編寫處理常式。