Telnet协议分析.docx

上传人:b****7 文档编号:23356015 上传时间:2023-05-16 格式:DOCX 页数:12 大小:151.62KB
下载 相关 举报
Telnet协议分析.docx_第1页
第1页 / 共12页
Telnet协议分析.docx_第2页
第2页 / 共12页
Telnet协议分析.docx_第3页
第3页 / 共12页
Telnet协议分析.docx_第4页
第4页 / 共12页
Telnet协议分析.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

Telnet协议分析.docx

《Telnet协议分析.docx》由会员分享,可在线阅读,更多相关《Telnet协议分析.docx(12页珍藏版)》请在冰豆网上搜索。

Telnet协议分析.docx

Telnet协议分析

Telnet协议分析

基本原理

Telnet协议简介

Telnet是一个简单的远程终端协议。

用户用Telnet就可种子其所在地通过TCP连接注册(即登录)到远地的另一个主机上(使用主机名或IP地址)。

在终端使用者的电脑上使用telnet程序,用它连接到服务器。

终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。

可以在本地就能控制服务器。

Telnet客户进程和服务器进程一般只属于用户应用程序,终端用户通过键盘输入的数据送给操作系统内核的终端驱动进程,由终端驱动进程把用户的输入送到Telnet客户进程,Telnet客户进程把收到的数据传送给TCP,由TCP负责在客户端和服务器端建立TCP连接,数据就通过TCP连接送到了服务器端,服务器的TCP层将收到的数据送到相应的应用层Telnet服务器进程。

Telnet协商实例分析

Telnet选项协商

telnet进行连接的双方首先进行选项协商。

协商Telnet工作的一些环境、工作方式等。

对于任何给定的选项,连接的任何一方都可以发送下面4种请求的任意一个。

(1)WILL:

发送方本身将激活选项

(2)DO:

发送方想叫接收方激活选项

(3)WON’T:

发送方本身禁止选项

(4)DON’T:

发送方想让接收方去去禁止选项

选项协商需要3个字节:

一个IAC字节,接着一个字节是WILL、DO、WON’T或DON’T这4个中的一个,最后一个ID字节指明要激活或禁止的选项。

协商中的终端类型、终端类型速率等的协商、需要附加的信息,比如终端类型和协商需要附加字符来表明终端的类型,终端的速率需要附加数字来表明终端的速率,这样需要进一步附加数字或字符串的协商,要用子协商来定义。

任务描述与任务要求

任务描述

(1)用Wireshark捕获网络中的数据流量,观察Telnet分组格式。

(2)观察、分析Telnet的请求和响应分组内容。

(3)分析Telnet整个协商过程。

任务要求

(1)掌握Telnet协议的原理,理解Telnet协议的协商过程。

(2)步骤明确、图表清楚。

(3)对图中说明部分要用红色圆或红色线标明,并进行详细文字说明。

实验步骤

实验环境

宿主机Windows8企业版64bit

Telnet服务端WindowsXP

宿主机安装Wiresahrk,均开启Telnet服务

虚拟机网卡选择桥接

Telnet服务的建立

开启虚拟机和Wireshark

虚拟机获得的IP地址为:

192.168.199.134

网卡MAC地址:

08:

00:

27:

a0:

9f:

f8

宿主机IP地址是192.168.199.154

网卡MAC地址:

00:

26:

4d:

a1:

59:

de

客户端主机启动cmd键入命令,输入Telnet命令,建立连接。

协议分析

1、建立连接(TCP三次握手)

elnet客户端开始工作,首先是与虚拟机中的服务端程序建立TCP连接,从抓取的数据包来看,首先关于本次分析的数据包是典型的TCP三次握手,如图所示:

主机发送一个连接请求到虚拟机,第一个TCP包的格式如图所示:

其中以太网v2头是由数据链路层加上去的:

1-6bytes是目的地址,也即虚拟机的网卡MAC,

7-12bytes是源地址,也即宿主机MAC.

13-14(0x0800)是上层协议,这里是IP

第二段是ipv4的报文,网际协议IP是工作在网络层,也就是数据链路层的上层,上图数据区选中部分就是ipv4数据,其格式为:

可以非常清楚的看到IPv4报文格式在实际中式如何表现出来的.

值得注意的是,IPv4报文中的源地址和目的地址是ip地址,版本号TCP是6,标志字段是010就是禁止下层分段,且是完整的报文

第三段是TCP报文,从上面两个可以知道,这个TCP包被层层包装,经过下面一层就相应的包装一层,第三段是经过传输层的数

据,TCP报文的格式为:

这里说明了TCP的源端口52456也就是宿主机建立连接开出来的端口,目的端口23显然是telnet服务默认端口.

Acknowledgmentnumber确认序号4bytes,为0,因为还是第一个握手包.

HeaderLength头长度32字节,滑动窗口大小8192字节(8MB),校验和,紧急指针为0.

Options选项12字节,其中包含最大传输单元MTU默认是1460bytes.

第二个TCP数据包,它是一个来自虚拟机的应答,按照三次握手的原则,这个数据包中TCP报文确认序号应该等于上一个请求包中的同步序号+1

Pack1.Seq=0xa121e242Ack=0x00000000

Pack2.Seq=0x970f3711Ack=0xa121e243

显然如TCP规定的那样工作.Flags字段中也显示出两个包的标志位.第一个是SYN,第二个是SYN,ACK.

那么显然第三个包应该这样工作:

Pack1.Seq=0xa121e242[Ack=0x00000000]

Pack2.Seq=0x970f3711Ack=0xa121e243

Pack3.[Seq=0xa1 21e243]Ack=0x970f3712 

主机收到Pack2,取出其中Seq+1赋给Ack,然后给虚拟机做出应答.

总之,建立连接的步骤如下:

1.TCP连接的建立通过三次握手完成.

2.TCP连接建立从传输层出发,TCP报文包装一个IP报头后形成一个IPv4报文经过网络层,然后再包装一个以太网帧头形成一个Ethernet帧通过数据链路层.

3.传输层的TCP报文含有Port端口地址;网络层的IP报文中含有IP地址;数据链路层中Ethernet帧含有MAC地址.可见层层地址的不同之处,以及服务对象的不同之处.

4.三次握手规则.

2、身份确认

TCP连接建立后,主机和虚拟机相互交换一些信息,包括服务端的配置信息,主机的应答,是否需要登录等等,并且间断使用TCP包保持连接.

当双方信息得到确认后,虚拟机发送欢迎信息(WelcometoMicrosoftTelnetService\r\n),主机做出应答,随后又发送(\n\rlogin:

),主机做出应答,然后同步一次,主机在CMD发生中断,接收用户输入,虚拟机等待用户输入.

主机输入一个字符就发送一个Telnet报文,然后远程返回一个应答,之后主机发送一个TCP报文.

三个一组:

TelnetTelnetTCP

当然最后还有一个回车符\r\n也要产生三个数据包.回车符发送之后,远端立即回送一个\n\rpassword:

要求输入密码.

密码输入过程略有不同,一个字符产生两个包,一个是Telnet,一个是TCP.密码明文传输.

 

3、命令执行和响应

完成密码输入后,服务端验证成功后发送一个Telnet报文询问是否DoTerminalType开始执行命令行,主机客户端回应WillTerminalType,将要执行,然后双方发送SuboptionEnd消息,之后服务端放送欢迎消息,如图:

那么之后就可以开始输入命令了,我输入的是netuser\r\n

和之前输入用户名的传输方法基本一样.两个Telnet一个TCP同步.

完成输入后回车,服务端执行命令并作出回应:

可以看到AdministratorGuestHelpAssistant等字样,说明正确返回了执行结果。

关闭CMD窗口时,产生了4个TCP包,第一个TCP包设置标志位FIN告知本次通信结束,服务端回应一个TCP,表示做好准备关闭连接,随后又发送一个TCP包设置FIN告知客户端要准备断开连接并断开,客户端应答一个表示已断开.通信结束.

这是关闭TCP连接的过程.

总结

Telnet服务是建立在TCP基础之上的,保证数据的准确性.

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

当前位置:首页 > 幼儿教育 > 唐诗宋词

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

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