您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第08章远程登录协议
第8章远程登录协议本章学习目标理解TELNET的工作原理理解网络虚拟终端的基本概念了解TELNET命令的构成了解另外两种远程登录协议:Rlogin与SSH远程登录协议(TELNET)TELNET的前身是美国高级研究计划署开发出的远程通信网(TelecommunicationsNetwork,即Telnet)协议。Telnet应用程序可以实现远程登录的功能,即用户可从本地计算机登录到远程计算机上,然后可以在远程计算机上创建和保存文件,或使用远程计算机提供的其他服务。TELNET是最早利用Internet连接提供的服务之一。8.1远程登录用户可以通过网络登录到远程主机上,用户计算机可以看作是虚拟终端,它可通过网络直接操作远程主机的运行,为了保证系统的安全和记账方便,登录时系统通常会要求用户输入账号与口令。远程登录可以看作是客户端–服务器模式(Client-ServerModel,简称C-S模式),用户计算机可以看作是客户端,远程主机是服务器。远程登录比一般的C-S模式具有更强的功能,因为用户计算机成为虚拟终端之后,可以直接操作远程主机的运行,而不仅仅是运行某个服务程序。8.1远程登录TELNET远程登录服务通常可分为以下四个过程:(1)用户调用本地计算机上的TELNET客户端程序,本地客户端与远程服务器建立TCP连接。用户必须知道远程主机的IP地址或者域名。(2)客户端程序将用户输入的用户名、口令,以及之后输入的任何字符或命令以NVT(NetworkVirtualTerminal)格式传送到远程服务器。该过程实际上是从本地主机向远程主机发送IP数据报。(3)客户端程序将远程服务器输出的NVT格式的数据转化为本地计算机能理解的格式,并显示在屏幕上,显示的内容包括输入命令的回显和命令执行结果。(4)最后,本地用户发出结束连接的命令,本地客户端撤消到远程服务器的TCP连接。8.2TELNET协议TELNET协议是TCP/IP协议族里的一个远程终端协议,是Internet远程登陆服务的标准协议使用TELNET协议可以在本地用户的计算机与远程主机之间建立一条TCP连接,用户输入的每个字符都会传送到远程主机,远程主机输出的内容也会传回用户计算机并显示在屏幕上。8.2.1TELNET的基本原理TELNET协议的建立基于三个基本原理:网络虚拟终端NVT协商原理终端和进程的对称观8.2.2TELNET的交互过程操作系统TELNET客户端TELNET服务器操作系统TCP/IP网络用户I/O客户端从终端读入客户端发送给服务器服务器从客户端接收服务器发送给伪终端TELNET客户端与服务器的交互过程8.2.3网络虚拟终端为支持异构性(在不同平台和系统中的互操作性),TELNET协议定义了网络虚拟终端NVT,即数据和命令序列在Internet上传输的标准表示方式NVT是客户端–服务器模式的一种实现,把连接的每一端都作为虚拟终端(逻辑I/O设备)对待8.2.3网络虚拟终端客户服务器用户I/O服务器系统用户端系统格式NVT格式服务器系统格式跨越网络的TCP连接网络虚拟终端(NVT)格式的概念为了使远程主机能够正确识别用户输入的信息,而用户屏幕上也能正确显示远程主机输出的信息,NVT格式充当了桥梁的作用8.2.3网络虚拟终端NVT使用7位标准ASCII码来表示数据,每个7位的字符都以8位(一个字节)的格式发送,最高位固定为1当用户从本地键入普通字符时,NVT将按其原始含义传送当用户键入组合键时,NVT将它转化为特殊的ASCII字符在网络上传送NVT把两个字符的序列CR-LF定义为标准行结束符8.2.4TELNET命令TELNET命令格式如下:IAC命令代码几乎全部Telnet命令都至少由2个字节组成:第一个字节0xFF(十进制的255)称为IAC(InterpretAsCommand,作为命令来解释),是一个转义字符,表示该字符后面的字节才是命令代码第二个字节包含了将要执行命令的代码如果数据中包含取值为255的字节,为了避免将其后的字节错误地解释为命令,必须接连发送两个取值为255的字节命令编码描述IAC(作为命令来解释)255表示跟在该命令之后的数据应作为命令来解释DON’T254表示选项参数指定的启用选项的请求已被拒绝DO253表示选项参数指定的启用选项的请求已被接受WON’T252通知目标计算机,选项参数指定的启用选项的请求已被拒绝WILL251通知目标计算机,选项参数指定的启用选项的请求已被接受SB(子协商开始)250表示后面所跟的命令序列是某一选项的子协商GA(继续)249允许以半双工通信方式传输EL(删除当前行)248通知服务器删除当前行EC(删除前一字符)247通知服务器删除前一字符AYT(你还在吗)246客户端发给服务器用于检测服务器进程是否还在运行的命令AO(终止输出)245完成进程,但不向客户发送输出IP(中断进程)244中断、终止或结束某个进程BRK(中断)243表示数据传输的中断DM(数据标记)242SYNCH的数据部分NOP(空操作)241表示不对客户端或服务进行任何操作SE(子协商结束)240表示某一选项的子协商命令序列结束EOR(记录结束)239表示文件的最后一行已传输出去SUSP(暂停当前处理)237表示客户端通知服务器挂起当前正在进行的操作EOF(文件结束)236表示传文件中的数据已全部传输出去常用TELNET命令8.2.5TELNET选项协商由于TELNET两端的计算机和操作系统的异构性,使得TELNET不可能也不应该严格规定每一个TELNET连接的详细配置,否则将大大影响TELNET的适应异构性。因此,TELNET采用选项协商机制来解决这一问题TELNET选项协商命令格式如下:IAC命令代码选项代码常用TELNET选项8.2.5TELNET选项协商选项编码描述TransmitBinary(二进制传输)0以8位二进制方式传输数据Echo(回送)1回送从另一端接收的数据SuppressGoAhead(禁止GA)3不再发送GA信号Status(状态)5发起交换TELNET选项的当前状态TimingMark(同步标记)6请求将同步标记插入返回的流中以同步连接的两端TerminalType(终端类型)24发起交换可能的终端类型并从中选择最佳的终端类型EndofRecord(记录结束)25结束数据发送WindowSize(窗口大小)31发起协商数据流的窗口大小TerminalSpeed(终端速度)32发起协商数据交换速度RemoteFlowControl(远程流量控制)33发起协商在数据交换过程中允许/拒绝流量控制Line-mode(行模式)34发起协商将在客户端解释终端字符(而不是在服务器端)8.2.5TELNET选项协商客户端与服务器之间进行TELNET通信时,可以在连接的任何时候进行选项协商,而不仅仅是在会话开始时TELNET的选项协商是对称的,任何一端都可以发出协商请求,任何一端都可以接受或拒绝协商请求为了启用或禁用TELNET选项,客户端与服务器通过DO、DON’T、WILL和WON’T命令来指示对方8.2.6TELNET连接TELNET服务是基于TCP协议的,使用的服务端口是23服务器在23端口上监听客户请求,且可对不同用户端口与服务器23端口之间的许多并发连接进行应答,客户端口可取任意大于1024的数值端口23客户端端口1116TCP连接服务器TELNET连接示意图8.3RloginRlogin是另一种远程登录协议,为UNIX客户端与服务器之间提供远程登录功能Rlogin提供的远程登录功能很简单,但与TELNET较相似,两者的区别主要在于进行端到端通信的方式和会话特性设置方面Rlogin协议需要使用TCP进行通信,服务端口是5138.3RloginRlogin远程登录服务可分为四个过程:用户调用Rlogin命令请求连接,并提供远程主机的IP地址或名称服务器通过发送一个值为0的NULL字符来确认收到了客户端发送的内容客户端程序将用户键入的内容发送给服务器,同时接收服务器返回的信息并显示在用户屏幕上要退出Rlogin会话,可按Ctrl+D键或在新的一行输入转义字符(默认的转义字符是“~”)8.4SSHSSH(SecurityShell,安全外壳)最初是由芬兰人TatuYlonen开发,解决了rsh和其他r工具的安全漏洞,因此很快得到流行SSH允许用户登录远程计算机并执行命令,以及在计算机之间复制文件,提高了在不安全的信道和易受攻击的操作系统下通信的安全性在基于SSH的通信中,敏感数据如口令,是以加密的格式传输的使用TCP/IP协议时,SSH与端口22关联目前SSH有两种版本:SSH1和SSH2小结TELNET是TCP/IP参考模型中的应用层协议,实现了远程登录的功能,使用户可以像操作本地计算机一样使用远程服务器。TELNET的建立基于三个原理:网络虚拟终端、协商原理、终端和进程的对称观。TELNET提供了很多命令来控制服务器和客户的交互过程,并通过选项协商以增强适应异构性。Rlogin是UNIX下的远程登录工具,实现的功能比较简单,由于其安全漏洞,应用远没有TELNET广泛。SSH(安全外壳)协议是为了解决r工具的安全漏洞而提出来的,目前有SSH1和SSH2两种互不兼容的版本,SSH工具已被广泛使用。
本文标题:第08章远程登录协议
链接地址:https://www.777doc.com/doc-2241328 .html