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事件自行编写处理函数。