理工学院电子教案李志华.docx

上传人:b****6 文档编号:5999056 上传时间:2023-01-02 格式:DOCX 页数:11 大小:77.51KB
下载 相关 举报
理工学院电子教案李志华.docx_第1页
第1页 / 共11页
理工学院电子教案李志华.docx_第2页
第2页 / 共11页
理工学院电子教案李志华.docx_第3页
第3页 / 共11页
理工学院电子教案李志华.docx_第4页
第4页 / 共11页
理工学院电子教案李志华.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

理工学院电子教案李志华.docx

《理工学院电子教案李志华.docx》由会员分享,可在线阅读,更多相关《理工学院电子教案李志华.docx(11页珍藏版)》请在冰豆网上搜索。

理工学院电子教案李志华.docx

理工学院电子教案李志华

2008.10.11

完成课后部分练习题

刘正华

1.5

第8章远程登录协议

Telnet和Rlogin是应用层协议,实现了远程登录的功能,使用户像操作本地计算机一样使用远程服务器。

1)理解Telnet的工作原理。

2)理解网络虚拟终端的基本概念。

3)了解Telnet命令的构成。

4)了解另外两种远程登录协议Rlogin与SSH。

重点理解Telnet的建立基于的三个原理:

网络虚拟终端、协商原理、终端和进程的对称观

网络虚拟终端的概念讲的零乱,总结出精炼、准确的定义给学生易于理解,用环境变量PROFILE的配置对系统的影响,进行远程控制的方法加以解决的实例讲解,学生们对远程登录的作用及控制机制会有更清楚的理解

鼓励学生大胆实验,只是给他们引路,tlntadmn/?

命令后,显示所有参数,让学生读,理解后我再讲解,让学生做参数设置tlntadmnconfigport=1000maxconn设置成功,让学生帮我写教案

抽象的问题,加上实例去讲,学生们的理解可能会容易些

2010421

第8章远程登录协议

Tele:

表示“远距离”

简介TELNET

⏹TELNET的前身是美国高级研究计划署开发出的远程通信网(TelecommunicationsNetwork,即Telnet)协议。

⏹Telnet应用程序可以实现远程登录的功能,即用户可从本地计算机登录到远程计算机上,然后可以在远程计算机上创建和保存文件,或使用远程计算机提供的其他服务。

⏹TELNET是最早利用Internet连接提供的服务之一

8.1远程登录

一、早期——使用分时系统的计算机

大型计算机通常带有很多个终端(terminal),这些终端可以直接操作计算机的运行,使用分时系统的大型机可以为这些终端提供服务。

起初,这些终端离主机很近,它们之间采用专用通信线路连接(如RS-232接口)

二、网络出现

1.远程登录:

通过网络登录到远程主机上,用户计算机可看作是虚拟终端,登录时,为了保证系统的安全和记账方便,系统通常要求用户输入账号和口令。

实践例子:

某公司登录不上远程服务器,是因为服务器端没有为其建立账号和口令以及赋权。

以NVT(NetworkVirtualTerminal网络虚拟终端)格式发送

2.远程登录的特点:

看作是C-S模式(Client-ServerModel),但远程登录比一般的C-S模式具有更强的功能,因为用户计算机成为虚拟终端之后,可以直接操作远程主机的运行,而不仅仅是运行某个服务程序。

三、远程登录的四个过程

1.用户调用本地Telnet客户端程序,本地客户端与远程服务器建立TCP连接,用户必须知道远程主机的IP地址或域名。

2.本地主机向远程主机发IP数据报:

客户端程序将用户输入的用户名、口令,以及之后输入的任何字符或命令以NVT格式传送到远程服务器。

3.客户端程序将远程服务器输出的NVT格式的数据转化为本地计算机能理解的格式,并显示在本地屏幕上,显示的内容包括输入命令回显和命令执行的结果。

4.本地用户发出结束连接的命令,本地客户端撤消到远程服务器的TCP连接.

8.2TELNET协议

TELNET协议是TCP/IP协议簇里的一个远程终端协议,是Internet远程登录服务的标准协议。

一、Telnet的基本原理——基于三个基本原理

1.网络虚拟终端(NetworkVirtualTerminalNVT)——是为适应异构性(在不同平台和系统中的互操作性)网络定义的,为远程系统提供了一个标准接口,客户端程序不必了解远程系统的细节,只需使用标准接口来构建程序即可

2.协商原理——某些系统可能提供比NVT更多的服务,使用较少数量服务的系统可能无法正确地与另一端进行通信。

为了解决通信双方在服务项不同的情况下进行通信,Telnet协议允许客户端和服务器进行选项协商,并提供一组标准选项,使用Telnet通信的双方可以在连接过程中确定所使用的服务(比如:

身份验证、加密等)。

3.终端和进程的对称观(SymmetricViewOfTerminalAndProcesses)——既允许客户也允许服务器请求指定的选项。

Telnet不仅允许终端与远程应用交换,还允许进程—进程和终端—终端的交互

二、Telnet的交互过程

交互过程如下图所示。

用户调用TELNET程序后:

1、本地计算机上的客户端请求创建一条到远程服务器的TCP连接,服务器接收连接请求后即可通过TCP连接相互传输数据。

2、客户端读入用户从键盘输入的信息,数据经过TELNET客户端软件解释后通过TCP/IP网络传送到远程主机。

3、远程主机收到的数据,经过TELNET服务器软件解释、处理后,发送给伪终端(PseudoTerminal),然后再经过相反的过程把输出的结果送回客户端,并显示在用户屏幕上。

注:

●多用户可以访问一台服务器,服务器通过为每个用户提供一个单独的程序线程(ProgramThread)来管理多个用户的请求。

●交互过程中讲到发给伪终端,实际就是前面讲到的标准接口。

●举例说明设置网络虚拟终端的必要性,异构网络可能(换行:

CR;LF;CR-LF,

●中止程序运行的快捷方式:

CTRL+C或ESCAP键)

●当用户从本地键入普通字符时,NVT将按其原始含义传送,当用户键

入组合键时,NVT将它转化为特殊的ASCII字符在网上传输。

三、网络虚拟终端

网络的虚拟终端是Telnet协议定义的一种数据和指令序列在Internet上传输的标准表示方式。

目的是为了支持异构性(在不同平台和系统中的互操作性)。

用户计算机和远程服务器所使用的计算机和操作系统各不相同,为使远程主机能正确地识别用户输入的信息,而用户屏幕上也能正确显示远程主机输出的信息,NVT格式充当了桥梁的作用。

1、NVT格式的概念,如下图所示。

 

对于发送的数据,客户端软件把用户输入的字符和控制命令序列转换为NVT格式,并发送到服务器,服务器软件将收到的数据和命令从NVT格式转换为远程系统所需的格式;对于返回的数据,服务器软件将输出结果从远程系统的格式转换为NVT格式,本地客户端软件则将收到的NVT格式数据再转换为本地格式。

2.NVT格式

●NVT使用7位标准ASCII码表示数据,每个7位的字符都以8位的格式发送,最高位固定为1。

7位标准ASCII字符集包含95个可打印字符(编码32~126)和33个控制码(编码0~31和127)。

●当用户从本地键入普通字符时,NVT将按其原始含义传送。

●当用户键入组合键时,NVT将它转化为特殊的ASCII字符在网络上传送。

●NVT把两个字符的序列CR-LF定义为标准行结束符。

3.NVT中的ASCII控制字符,如下表所示。

表8-2为常用Telnet命令

四、TELNET命令

控制客户端与服务器的交互过程及相关细节。

这些命令作为数据的一部分在两者之间传输.

几乎全部的Telnet命令都至少由2个字节组成。

1、第一个字节0XFF(十进制255)称为IAC(InterpretAsCommand作为命令来解释),它是一个转义字符,表示该字符后面的字符才是命令代码。

2、第二个字节包含了将要执行命令的代码

下表是常用的TELNET命令。

命令

编码

描述

IAC(作为命令来解释)

255

表示跟在该命令之后的数据应作为命令来解释

DON’T

254

表示选项参数指定的启用选项的请求已被拒绝

DO

253

表示选项参数指定的启用选项的请求已被接受

WON’T

252

通知目标计算机,选项参数指定的启用选项的请求已被拒绝

WILL

251

通知目标计算机,选项参数指定的启用选项的请求已被接受

SB(子协商开始)

250

表示后面所跟的命令序列是某一选项的子协商

GA(继续)

249

允许以半双工通信方式传输

EL(删除当前行)

248

通知服务器删除当前行

EC(删除前一字符)

247

通知服务器删除前一字符

AYT(你还在吗)

246

客户端发给服务器用于检测服务器进程是否还在运行的命令

AO(终止输出)

245

完成进程,但不向客户发送输出

IP(中断进程)

244

中断、终止或结束某个进程

BRK(中断)

243

表示数据传输的中断

DM(数据标记)

242

SYNCH的数据部分

NOP(空操作)

241

表示不对客户端或服务进行任何操作

SE(子协商结束)

240

表示某一选项的子协商命令序列结束

EOR(记录结束)

239

表示文件的最后一行已传输出去

SUSP(暂停当前处理)

237

表示客户端通知服务器挂起当前正在进行的操作

EOF(文件结束)

236

表示传文件中的数据已全部传输出去

说明:

1>Telnet命令格式:

IAC<命令代码>

注:

删除误输入的字符,使用退格键,为了表示用户按下退格键,客户端需要发送2字节的命令序列IACEC到服务器,其中EC表示删除前一个字符。

2>只有跟在转义字符IAC后面的命令代码才有意义,否则视为数据而非命令。

数据中若包含取值为255的字节,为了避免将其后的字节错解为命令,需连续发两个取值的255的字节

3>关于DM(DataMark数据标记)

有这样一种情况:

用户误操作,导致远程主机上的程序出现问题,停止读取用户输入的信息,那么接收到的数据最终会填满TCP连接的缓冲区,使得服务器通告接收窗口大小为零,以阻止数据流入此连接,这时客户端不能再发送任何数据分组,用户失去对远程主机的控制。

解决这个问题的方法:

Telnet协议必须使用外带信令强制服务器读取一个控制命令。

Telnet只要发送一个包含数据标记的命令,并设置了紧急数据位的TCP报文到服务器就可以了,携带紧急数据的报文段将饶过流量控制直接到达服务器,作为对紧急信令的响应,服务器扫描数据流,查找IP命令(还可能包含AO、AYT等命令)并进行处理,其他的数据将被抛弃,这样将终止崩溃的服务器程序。

当服务器发现DM命令后,将返回正常的处理过程。

五、Telnet选项协商

1.NVT格式的数据流是7bit的标准ASCII格式,控制信息是最高为1的8bit字节格式,这意味着最高为1的数据字节(128~255)无法在Telnet上传输,汉字也无法传输(其最高位的编码1)。

事实上,TELNET中有一个二进制选项(定义在RFC856中),该选项允许数据以8-bit的格式进行传输。

2.由于TELNET两端的计算机和操作系统的异构性,使得TELNET不可能也不应该严格规定每一个TELNET连接的详细配置,否则将大大影响TELNET的适应异构性。

因此,TELNET采用选项协商机制来解决这一问题。

3.选项协商命令格式:

IAC<命令代码><选项代码>

前两个字节与普通的TELNET命令一样,第三个字节代表引用的选项的代码。

如下表所示。

 

选项

编码

描述

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

发起协商将在客户端解释终端字符(而不是在服务器端)

4.Telnet的选项协商是对称的

1>客户端与服务器之间进行TELNET通信时,可以在连接的任何时候进行选项协商,而不仅仅是在会话开始时。

2>TELNET的选项协商是对称的,任何一端都可以发出协商请求,任何一端都可以接受或拒绝协商请求

注:

当一端提出的协商选项不能被另一方理解(如较新的TELNET服务程序与较差的TELNET服务程序之间的交互操作),则接收请求的一端可简单地拒绝协商,两者将一起在效率较低但可工作的方式下运行。

3>WILL(或WONT)选项命令,可以表明自己愿意启用(或禁止)某个选项;DO或(DON’T)选项命令,可请求另一方启用(或禁止)某个选项。

六、Telnet连接

1、Telnet连接说明:

●Telnet服务是基于TCP协议。

使用的服务端口是23。

●由于TCP连接是全双工的,并通过连接双方的端口来标识,服务器在23端口上监听客户请求,且可对不同用户端口与服务器23端口之间的许多并发连接进行应答,客户端口可取任意大于1024的数值。

2、Telnet连接示意图

 

8.3Rlogin

一、Rlogin简介

1、Rlogin是另一种远程登录协议(定义在RFC1282中),为UNIX客户端与服务器之间提供远程登录功能。

2、Rlogin提供的远程登录功能很简单,但与TELNET较相似,两者的区别

主要在于进行端到端通信的方式和会话特性设置方面。

3、Rlogin协议需要使用TCP进行通信,服务端口是513。

二、Rlogin的特点

1、只有满足以下条件,远程计算机才会向接收方计算机提供访问权限:

1>远程计算机的/etc/hosts.equiv文件中包含有关接收方计算机条目。

2>远程计算机上的/home/rhost文件中包含有关发起Rlogin连接请求的计算机的IP地址及相应用户名的条目。

hosts.equiv文件是为了便于远程主机在本地计算机上执行远程命令而设计的。

/etc/hosts.equiv和$HOME/.rhosts定义了哪些计算机和用户可以不用提供口令就在本地计算机上执行远程命令,如rexec,rcp,rlogin等等。

这些不需要提供口令的计算机和用户称为受信任的。

当本地计算机收到执行远程命令的请求时,相应的远程命令服务进程,如rlogind,首先检查/etc/hosts.equiv来确认请求是否来自受信任的计算机和用户。

如果这个文件不存在或者虽然存在但不包括相应的计算机和用户,服务进程就会去检查$HOME/.rhosts文件。

/etc/hosts.equiv的权限必须设置为只有root能够写,建议权限为600。

如果这个文件被设置为同组或其它用户可写,远程命令服务进程就会忽略它的存在。

如果远程命令是由root用户发起的,远程命令服务进程会忽略/etc/hosts.equiv文件的存在而去直接检查/.rhosts文件。

在指定受信任的计算机和用户时要非常小心,因为这有可能会造成安全漏洞。

2.Rlogin和Telnet的区别

1>由于远程Rlogin服务器上记录了用户帐号的相关信息,所以成功地建立连接后,用户需要输入口令,而不用输入用户名。

Rlogin服务器不允许用户以不同用户名登录远程计算机,只有接收方计算机使用的、已被注册的用户名才能被接收。

2>Telnet允许使用多个合法的用户登录远程系统。

三、Rlogin远程登录的四个过程

1、用户调用Rlogin命令请求连接,并提供远程主机的IP或名称

客户端向服务器发送四个以NULL(编码为0)为结束符的字符串

四个字符的内容

第一个字符串是一个空串(只包含一个值为0的NULL的字符)。

第二个字符串是客户端在以操作系统上使用的登录帐号。

第三个字符串是登录远程Rlogin服务器的用户帐号。

第四个字符串包含客户端的终端信息,如终端类型和传输速度等。

2、服务器通过发送一个值为0的NULL字符来确认收到了客户端发送的内容。

服务器将收到的字符串转变为环境变量,以控制客户端与服务器的交互方式及其细节,当接收到的参数(特别是传输速度)取得共识后,登录结束

3、客户端程序将用户键入的内容发送给服务器,同时接收服务器返回信息并显示在用户屏幕上。

4、按CTRL+D键或在新的一行输入转义字符(“~”或“~!

”)退出会话

说明:

Rlogin协议允许在服务器上创建一系列受信任的用户或主机,这些用户登录无需输入密码,但这种方式在带来方便快捷操作的同时,存在着安全隐患。

使用时要特别注意。

由于上述自动身份认证方式的存在,UNIX提供了rsh命令,可以很好地完成与远程计算机的交互。

rsh将命令所带的参数传递给远程UNIX主机上的命令解释程序,完全跳过了登录过程,远程计算机执行了相应的命令后,将结果返回本地计算机上,这样给用户感觉像是执行本地计算机上的程序。

8.4SSH

一、SSH的产生

Rsh工具并不安全,任何拥有对计算机根访问权限或有权访问通信信道的用户,都可以获得XX的对系统的访问,该用户可以记录下所有进出系统的通信数据,包括口令,这威胁了网络中传输的机密数据的完整性。

SSH(SecurityShell,安全外壳)最初是由芬兰人TatuYlonen开发,解决了rsh和其他r工具的安全漏洞,因此很快得到流行。

二、SSH的特点

1、提供了比R工具更强大的功能,SSH允许用户登录远程计算机并执行命令,以及在计算机之间复制文件,并提高了在不安全的信道和易受攻击的操作系统(如XWindows)下通信的安全性,通过SSH可以建立对用户而言是透明的安全远程会话。

2、在基于SSH的通信中,对敏感数据如口令,是以加密的格式传输的,防止未授权的访问。

3、实施了复杂的鉴别方法,使用了安全的通信在网络中传输数据,对付电子欺骗很有效

4、使用TCP/IP协议时,SSH与端口22关联。

5、目前SSH有两种版本:

SSH1和SSH2。

SSH1和SSH2的不同:

两个版本(平台不同,加密的方式不同):

SSH1用了UNIX平台,使用服务器和主机密钥进行鉴别;SSH2用于UNIXMacintosh和Windows平台,只使用主机密钥。

小结

⏹TELNET是TCP/IP参考模型中的应用层协议,实现了远程登录的功能,使用户可以像操作本地计算机一样使用远程服务器。

⏹TELNET的建立基于三个原理:

网络虚拟终端、协商原理、终端和进程的对称观。

⏹TELNET提供了很多命令来控制服务器和客户的交互过程,并通过选项协商以增强适应异构性。

⏹Rlogin是UNIX下的远程登录工具,实现的功能比较简单,由于其安全漏洞,应用远没有TELNET广泛。

⏹SSH(安全外壳)协议是为了解决r工具的安全漏洞而提出来的,目前有SSH1和SSH2两种互不兼容的版本,SSH工具已被广泛使用。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 少儿英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1