Telnet是一种应用层协议,使用于互联网局域网中,使用虚拟终端的形式,提供双向、以文字字符串为主的命令行接口交互功能。属于TCP/IP协议族的其中之一,是互联网远程登录服务的标准协议和主要方式,常用于伺服器的远程控制,可供用户在本地主机执行远程主机上的工作。

Telnet在1969年开发出来,在RFC 15定义,RFC 854定义了扩展。互联网工程任务组(IETF),在STD 8英语STD 8中,将其加以标准化,是最早形成的互联网协议之一。

原理

用户首先在电脑执行Telnet程序,连线至目的地伺服器,然后输入账号和密码以验证身份。用户可以在本地主机输入命令,然后让已连接的远程主机执行,就像直接在对方的控制台上输入一样。

传统Telnet会话所传输的资料并未加密,账号和密码等敏感资料容易会被窃听,因此很多伺服器都会屏蔽Telnet服务,改用更安全的SSH

应用

 
利用Telnet登录香港公共图书馆的资料查询系统
  • 图书馆利用Telnet及万维网供读者进行续借、预约及查询记录的服务。
  • 多数的纯文字式BBS仍使用Telnet,部分BBS提供SSH服务以提升安全性。
  • 路由器交换器及大部分的电信装置仍提供Telnet及SSH接口,以让管理者连入进行设置及维护。

Microsoft WindowsVista开始,不再预先安装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英语Internet Direct,可以使用控件类TIdTelnetServer与TIdCmdTCPClient,分别扮作伺服器端与客户端提供了编程设施。在客户端,发送消息时必须调用SendCh()方法,每次发送一个字符;接收数据通过OnDataAvailable事件自行编写处理函数。

参见

外部链接