Telnet协议分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Telnet 协议分析
Telnet 协议分析 (1)
基本原理 (1)
Telnet协议简介 (1)
Telnet协商实例分析 (1)
任务描述与任务要求 (2)
任务描述 (2)
任务要求 (2)
实验步骤 (2)
实验环境 (2)
Telnet服务的建立 (3)
协议分析 (3)
总结 (11)
基本原理
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)用Wire shark捕获网络中的数据流量,观察Telnet分组格式。
(2)观察、分析Telnet的请求和响应分组内容。
(3)分析Telnet整个协商过程。
任务要求
(1)掌握Telnet协议的原理,理解Telnet协议的协商过程。
(2)步骤明确、图表清楚。
(3)对图中说明部分要用红色圆或红色线标明,并进行详细文字说明。
实验步骤
实验环境
宿主机Windows 8 企业版64 bit
Telnet服务端Windows XP
宿主机安装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服务默认端口.
Acknowledgment number确认序号4bytes,为0,因为还是第一个握手包.
Header Length头长度32字节,滑动窗口大小8192字节(8MB),校验和,紧急指针为0.
Options选项12字节,其中包含最大传输单元MTU默认是1460bytes.
第二个TCP数据包,它是一个来自虚拟机的应答,按照三次握手的原则,这个数据包中TCP报文确认序号应该等于上一个请求包中的同步序号+1
Pack1. Seq = 0xa1 21 e2 42 Ack = 0x00 00 00 00
Pack2. Seq = 0x97 0f 37 11 Ack = 0xa1 21 e2 43
显然如TCP规定的那样工作. Flags字段中也显示出两个包的标志位.第一个是SYN,第二个是SYN,ACK.
那么显然第三个包应该这样工作:
Pack1. Seq = 0xa1 21 e2 42 [Ack = 0x00 00 00 00]
Pack2. Seq = 0x97 0f 37 11 Ack = 0xa1 21 e2 43
Pack3. [Seq = 0xa1 21 e2 43] Ack = 0x97 0f 37 12
主机收到Pack2,取出其中Seq+1赋给Ack,然后给虚拟机做出应答.
总之,建立连接的步骤如下:
1.TCP连接的建立通过三次握手完成.
2.TCP连接建立从传输层出发,TCP报文包装一个IP报头后形成一个IPv4报文经过网络层,然后再包装一个以太网帧头形成一个Ethernet帧通过数据链路层.