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事件自行編寫處理函數。