telnet是什么协议(TCP还是udp协议分析详解)

基本原理

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三次握手 , 如图所示 :

telnet是什么协议(TCP还是udp协议分析详解)

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

telnet是什么协议(TCP还是udp协议分析详解)

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

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

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

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

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

telnet是什么协议(TCP还是udp协议分析详解)

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

值得注意的是 ,IPv4 报文中的源地址和目的地址是 ip 地址 , 版本号TCP是 6, 标志字段是 010 就是禁止下层分段 , 且是完整的报文第三段是 TCP报文 , 从上面两个可以知道 , 这个TCP包被层层包装 , 经过下面一层就相应的包装一层 , 第三段是经过传输层的数

据 ,TCP报文的格式为 :

telnet是什么协议(TCP还是udp协议分析详解)

这里说明了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 帧通过数据链路层 .

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

4. 三次握手规则 .

2、身份确认

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

当双方信息得到确认后 , 虚拟机发送欢迎信息 (Welcome to Microsoft Telnet Service \r\n), 主机做出应答 , 随后又发送 (\n\rlogin:), 主机做出应答 , 然后同步一次 , 主机在 CMD发生中断 , 接收用户输入 , 虚拟机等待用户输入 .

telnet是什么协议(TCP还是udp协议分析详解)

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

三个一组 :Telnet Telnet TCP

telnet是什么协议(TCP还是udp协议分析详解)

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

telnet是什么协议(TCP还是udp协议分析详解)

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

telnet是什么协议(TCP还是udp协议分析详解)

3、命令执行和响应

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

telnet是什么协议(TCP还是udp协议分析详解)

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

telnet是什么协议(TCP还是udp协议分析详解)

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

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

telnet是什么协议(TCP还是udp协议分析详解)

可以看到 Administrator Guest HelpAssistant 等字样 , 说明正确返回了执行结果。关闭CMD窗口时 , 产生了4个TCP包 , 第一个 TCP包设置标志位 FIN告知本次通信结束 , 服务端回应一个TCP,表示做好准备关闭连接 , 随后又发送一个TCP包设置 FIN 告知客户端要准备断开连接并断开 , 客户端应答一个表示已断开 . 通信结束 .

telnet是什么协议(TCP还是udp协议分析详解)

这是关闭 TCP连接的过程 .

总结

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

telnet是什么协议(TCP还是udp协议分析详解)

从概念系列全球业务的为佳互联网概念。

声明:所有白马号原创内容,未经允许禁止任何网站及个人转载、采集等一切非法引用。本站已启用原创保护,有法律保护作用,否则白马号保留一切追究的权利。发布者:白马号,转转请注明出处:https://www.bmhysw.com/article/32186.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
白马号白马号

相关推荐

  • eml是什么文件格式(怎么打开eml文件的3个方法)

    eml格式文件是一个电子邮件文件,其格式名由来是E-mail(电子邮件)的缩写形式。一个eml文件打开后就是一封电子邮件(E-mail),它是电子邮件导出后的格式,163、QQ等使用较多的邮件服务商都有邮件导出功能,导出后的文件就是eml格式文件。我们可以使用Windows系统自带的邮件功能来打开它,也可以使用第三方邮件软件来打开。 下面小编给大家分享下打开…

    2022-04-25
    00
  • Win10怎么禁止在开始菜单中显示建议?Win10禁止在开始菜单中显示建议的方法

    Win10怎么禁止在开始菜单中显示建议?Win10禁止在开始菜单中显示建议的方法 什么是开始菜单中的建议? 为什么需要禁止开始菜单中的建议? 如何禁止开始菜单中的建议? 什么是开始菜单中的建议? 在Windows 10中,开始菜单是一个非常重要的功能。它提供了一个方便的方式来访问你的应用程序、文件和设置。而在开始菜单中的建议,是指Windows 10会根据你…

    2023-08-07
    00
  • excel求和怎么操作?excel的其他常用操作有哪些

    身为一个打工人,我们应该熟练的掌握办公软件。比如excel的使用。excel求和怎么操作相信大多数人都是会的,并且还会有多种操作方法。虽然大家都会,但是今天还是要给大家简单的讲一讲。 excel求和方法 1、行列快速求和 需要对行和列快速进行求和汇总的同学,不需要手动输入公式啦,选中需要求和的数据,直接使用” ALT+=”组合键,就可以快速求和哦。 2、 忽…

    2022-02-14
    00
  • Win10专业版网络限速怎么解除设置

    Win10专业版网络限速怎么解除设置 了解Win10专业版网络限速 解除Win10专业版网络限速 了解Win10专业版网络限速 Win10专业版拥有一个名为“组策略编辑器”的功能,它可以让管理员对网络进行限速,以此控制网络带宽的使用。网络限速可以防止某些应用程序或服务耗尽网络带宽,从而使其他应用程序或服务无法正常工作。但是,这也可能会导致某些应用程序无法访问…

    2023-07-22
    00
  • ev剪辑怎么合并视频和音乐(手机如何合并视频)

    如何合并视频?我们平时出去玩会拍照或者拍视频将它记录下来,一天下来可能手机一堆照片和视频了。我们拍的照片可以拼接起来一起发布,但是怎么才能将拍摄的多个视频合并成一个来发布呢?今天就来教大家视频合并的方法,一分钟让你快速学会视频合并,一起来看看吧~ 方法一:videolab这是一款手机视频、图片美化工具,它支持视频剪辑的功能,我们可以使用它将多个视频合并到一起…

    2022-08-29 投稿
    00

联系我们

QQ:183718318

在线咨询: QQ交谈

邮件:183718318@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信