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