协议分析 第7章 Telnet协议

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

计算机网络协议分析与测试第七章Telnet协议本章主要内容•7.1基本概念•7.2Telnet命令•7.3Telnet选项及协商•7.4Telnet子选项协商•7.5Telnet操作模式第7章远程登录协议•远程登录协议(Telnet协议)是TCP/IP协议族中的一员。Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。•远程登录的思想体现了层次结构概念。远程登录的实现,使本地用户并不直接面对远地系统的各种资源,相当于在服务客户与具体服务之间加入一个中间层次,即远程登录服务器。远程登录服务器的引入,代替了各种大量的具体服务器。本地登录示意图远程登录示意服务器客户Internet用户终端本地远端读用户终端向伪终端发送数据发送数据到服务器接受客户数据OS内核OS内核键盘输入Telnet典型-BBSBBS公告板服务采用的交流信息方式是公开的,轻松的,没有保密性。BBS系统的组成:1.BBS服务器2.公告板信息3.BBS服务软件这种方式完全基于浏览器模式,便捷、实用。登录到这些站点可以在地址,如:珠海的珍珠海BBS站()湛江的碧海银沙站()首都在线263的在线聊天室()天涯社区新浪论坛完全基于Web的BBS登录这类BBS站点可以用Telnet方式,还可以使用专用软件,在MS-DOS状态下采用Telnet的方式的命令格式为:Telnet主机域名或IP地址端口号目前,这类BBS主要集中在教育网,例如:清华大学的水木清华站(bbs.tsinghua.edu.cn)北京大学的未名空间站(bbs.mit.edu.cn)中国科技大学的瀚海星云站(bbs.ustc.edu.cn)国家智能计算机中心的曙光站(jet.ncic1.ac.cn)交大的“饮水思源”BBS站点(bbs.sjtu.edu.cn)复旦大学的“日月光华”BBS站点(bbs.fudan.edu.cn)2.UNIX下的终端仿真并实行Web扩展功能的BBS第一节基本概念7.1基本概念•一个本地用户像远地用户一样,在远地机建立一个用户帐号,并通过TCP/IP进入该远地帐号,访问远地机资源,这就是远程登录。•Telnet远程登录的使用主要有两种情况:–用户在远程主机上有自己的帐号(Account),即用户拥有注册的用户名和口令;–许多Internet主机为用户提供了某种形式的公共Telnet信息资源,这种资源对于每一个Telnet用户都是开放的。1.远程登录(TELNET)工作原理终端驱动程序OSOSTCPIP链路层物理层TCPIP链路层物理层伪终端驱动程序Telnet客户端Telnet服务器vi…edTCP/IP…应用程序2.Telnet用途•远程登录的根本目的是使当地用户访问远地的资源。如果不采用Telnet远程登录的方式,可以采用单纯的客户—服务器方式,但单纯的客户—服务器方式要求在远地系统上为每一种服务创建一个服务器。•Telnet主要用途:1)远程登录缩短了空间距离2)远程登录计算机具有广泛的兼容性3)通过Telnet访问其它Internet服务3.网络虚拟终端•不同的计算机系统存在差异,这些差异称为异质性。异质性给计算机系统之间的互操作带来许多的麻烦。所谓互操作性是指异质系统间透明地访问对方资源的能力。•TELNET具有包容异种计算机和异种操作系统的能力,它能提供许多异种计算机系统间的互操作性。•TCP/IP屏蔽了物理网络的异质性,它能保证不同的计算机或计算机网络系统之间的互通。但不同操作系统通过网络进行互操作要由高层软件实现。•对于TELNET,系统间的异质性表现在不同的系统对键盘输入的解释各不相同。回车(CarriageReturn)和换行(LineFeed)CR用符号'\r'表示,十进制ASCII代码是13,十六进制代码为0x0DLF使用'\n'符号表示,ASCII代码是10,十六制为0x0A–Dos和windows采用回车+换行CR/LF表示下一行,–UNIX/Linux采用换行符LF表示下一行,–苹果机(MACOS系统)则采用回车符CR表示下一行.Windows平台上换行在文本文件中是使用0d0a两个字节表示UNIX和苹果平台上换行则是使用0a或0d一个字节表示.•为了统一异质系统对键盘输入的解释,TELNET专门提供一种标准的键盘定义方式,叫做网络虚拟终端(NVT,NetworkVirtualTerminal)。•下图表示网络虚拟终端NVT及其字符集的工作示意图。Internet伪终端驱动器服务器客户终端网络虚拟终端NVT示意图本地计算机字符集NVT字符集远程计算机字符集使运行WindowsXP的PC机上可访问UNIX系统远程主机。NVT两个字符集控制数据•下表列举了NVT字符集。NVT字符集命令十进制编码含义命令十进制编码含义IAC255解释后面的字节为命令AYT246测试对方是否在运行DON'T254拒绝执行指定选项AO245放弃输出信号DO253容许开放指定选项IP244终止进程信号WON'T252拒绝执行指定选项BRK243停止信号WILL251同意执行指定选项DM242数据标记SB250启动子选项协商NOP241无操作GA249继续执行SE240终止子选项协商EL248删除行信号EOR239记录结束EC247删除字符信号EOF236文件结束•Telnet仅使用一个TCP连接,服务器使用固定端口号23,客户端使用自由端口。•控制和数据共享一个TCP连接。利用IAC进行转义。每个转义序列由两个字节构成,前一个是保留字节IAC,指出控制函数开始;后一个字节是真正的控制命令。IAC-InterpreteAsCommand•例:catfile1误输入为catfilea后的修改。输入:“c”“a”“t”“”“f”“i”“l”“e”“a”IACEC“1”•catfile1误输入为catfilea后的修改。输入:“c”“a”“t”“”“f”“i”“l”“e”“a”IACEC“1”第二节Telnet命令7.2Telnet命令Telnet命令用法如下:telnet[-d][-a][-ntracefile][-eescapechar][-luser]host[port]telnet:Telnet命令-d:设置调试开关的初始值为True-a:尝试自动登录。如果远程主机支持,通过USER传输用户名。-ntracefile:打开tracefile文件以记录跟踪信息-eescapechar:将esc字符的值指定为escapechar-luser:将user指定为登录到远程主机的用户名host:指定host为通过网络连接的主机。port:指定端口号或服务器名称。如果不指定,则使用23号端口。命令含义CLOSE关闭与远程主机的连接DISPLAY显示特定的操作ENVIRON修改(增加)环境变量HELP(?)显示帮助信息LOGOUT强行退出远程用户进程并关闭连接MODE询问服务器模式OPEN打开与特定主机的连接QUIT关闭会话并退出TelnetSEND传输特定的协议字符SET设置操作参数SLC设置本地特殊字符的描述STATUS显示当前状态信息TOGGLE激活操作UNSET取消操作Z挂起Telnet![Command]执行特定的shell命令,如果没有给出命令类型,则指打开shellTelnet命令集•某些命令需要更详细的参数。•SEND用于传输命令和属性到远程主机。SEND命令的属性表命令名称含义命令名称含义EOF文件结束AYT对方是否仍在运行SUSP挂起当前处理进程EC删除字符ABORT终止处理进程EL删除行EOR结束GA继续SE子选项协商结束SB子选项协商开始NOP空操作WILL选项协商DM数据标记WONT选项协商BRK中止DO选项协商IP中断处理DONT选项协商AO丢弃输出IAC转义第三节Telnet选项及协商7.3Telnet选项及协商•选项协商用于配置本地和远程主机间的工作模式。当一方要执行某个选项时需向另一端发出请求,若对方接受该选项,则选项在两端同时起作用,否则两端保持原来的模式。•选项协商是对称的,任何一方都可以主动发送选项协商请求给对方。•命令码:WILL、DO、WONT、DONTIAC命令码选项码1.TELNET选项TELNET有一组选项,用于配置沟通客户与服务器的TCP连接。名字代码RFC意义传输二进制0856将传输改为8位二进制字节回应1857允许一端回应它收到的数据抑制GA3858不在数据后发GoAhead信号状态5859请求远地系统选项的状态时间标志6860请求时间标志插入返回流终端类型24884交换终端类型信息记录末25885结束数据发送行模式341116本地编辑,整行发送其中:•传输二进制选项允许连接双方发送8比特二进制数据。标准的TELNET数据均为7比特ASCII码,假如一方想发送8比特的二进制数据,必须征得对方同意。•抑制GA选项控制TELNET以全双工或半双工方式工作。最初的TELNET是半双工方式,一方本次数据发送完以后,要发送一个“goahead”(继续)信号,让对方继续发送。“抑制GA”选项允许双方以全双工方式发送数据。•终端类型选项用于服务器确定客户终端类型。在屏编中,编辑器要根据不同的终端类型产生光标定位序列,假如终端类型不对,屏编屏幕会发生混乱。2.TELENT选项协商•TELENT的选项是可协商的,TELNET连接的任意一方均可提出某些选项,另一方或同意或反对,在协商基础上双方对选项达成一致。•选项协商需要3个字节:一个IAC字节,接着一个字节是WILL,DO,WONT和DONT这四者之一,最后一个字节指明激活或禁止的选项代码。•例如“WILLX”意思是“你是否同意我使用X选项”,“DOX”意思是“我同意你使用X选项”,“DONTX”意思是“我不同意你使用X选项”。选项协商的六种情况发送方接收方描述1.WILL发送方想激活选项DO接收方说同意2.WILL发送方想激活选项DONT接收方说不同意3.DO发送方想让接收方激活选项WILL接收方说同意4.DO发送方想让接收方激活选项WONT接收方说不同意5.WONT发送方想禁止选项DONT接收方必须同意6.DONT发送方想让接收方禁止选项WONT接收方必须同意提供允许选项请求允许选项提供禁止选项请求禁止选项选项举例-回显第四节Telnet子选项协商7.4Telnet子选项协商•在Telnet中,有些选项不是仅仅用“激活”或“禁止”就能够表达的。例如,有时,客户进程必须发送用一个ASCII字符串来指定终端类型,这时候,必须定义子选项协商机制[RFC1091]。•Telnet子选项协商命令形式:IACSB选项码参数IACSE•下面通过Telnet子选项协商的工作过程来说明该子选项协商命令的意义。首先,和选项协商一样,客户进程发送3个字节的字符序列请求。例如,发送方发出IAC,WILL,24形式的数据,这里的24是终端类型选项号。如果服务器进程同意客户使用该选项,那么响应数据是IAC,DO,24。最后,为了询问客户进程的终端类型,服务器进程再发送如下的字符串:IAC,SB,24,1,IAC,SE。服务器:IAC,SB,24,1,IAC,SE其中:SB是子选项协商的起始命令标志。选项码“24”代表终端类型选项的子选项。参数“1”选项表示“发送你的终端类型”。如果终端类型是mypc,客户进程的响应命令将是:<IAC,SB,24,0‘M’,‘Y’,‘P’,‘C’,IAC,SE>这里,参数“0”代表客户响应的“我的终端类型”。在Telnet子选项协商过程中,终端类型用大写表示,当服务器收到该字符串后会自动转换为小写字符。第五节Telnet操作模式7.5Telnet操作模式对于大多数Telnet

1 / 63
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功