行模式下的Telnet协议包

在使用 Telnet 服务时,Telnet 提供了选项的交互和协商功能。由于交互方式不同,Telnet 有两种工作模式,分别为透明模式和行模式。

下面首先讲解行模式下的协议包。

行模式是指每输入一行信息并按回车键换行时,再将这行信息发送给服务器。在该模式下,服务器不会进行回显。

【实例】仍然以 Telnet 服务(192.168.59.135),用户名为 sm,密码为 123 为例。

1) 客户端连接服务器的 Telnet 协议包,如图所示。


2) 客户端向服务器发送的选项协商数据包,如图所示。

其中,第 9 个数据包为客户端向服务器发送的选项协商数据包。在 Telnet 部分中,Don't 为命令,Echo 为子命令,表示客户端要求服务器禁止回显。第 10 个数据包为服务段的确认数据包。

3) 客户端再次发送的选项协商数据包,如图所示。

在第 11 个数据包的 Telnet 部分中,Don't 为命令,Suppress Go Ahead 为子命令,表示要服务器抑制 Go Ahead 选项,禁止回显。

4) 服务器向客户端发送的选项协商数据包,如图所示。

其中,第 12 个数据包为服务器向客户端发送的选项协商数据包。在 Telnet 部分中,Will 为命令,Echo 为子命令,表示服务器希望客户端进行回显。第 13 个数据包为客户端的确认数据包。

5) 服务器再次发送的选项协商数据包,如图所示。

在第 14 个数据包的 Telnet 部分中可以看到,服务器希望客户端进行回显,并激活 Suppress Go Ahead 选项。第 15 个数据包为客户端的确认数据包。

6) 选项协商完成以后,服务器向客户端显示欢迎和要求用户名登录的信息,如图所示。

其中,第 23 个数据包的 Telnet 部分中可以看到,数据是服务器的欢迎信息,并希望客户端输入登录的用户名。第 24 个数据包为客户端的确认数据包。

7) 客户端输入登录的用户名数据包,如图所示。

在该数据包的 Telnet 部分中可以看到,数据信息为 sm\r\n,表示客户端已经输入了全部的用户名,并按了回车键和换行。这里 sm 为用户名。和透明模式不同的是,行模式不是每输入一个字符就发送给服务器,而是将每行的信息一次性发送给服务器。

8) 客户端完成输入用户名以后,服务器不会进行回显,而是向客户端发送要求输入密码的信息,如图所示。

其中,第 27 个数据包的 Telnet 部分数据信息表示服务器要求客户端输入登录的密码。第 28 个数据包为客户端的确认数据包。

9) 客户端输入密码,对应的数据包如图所示。

从该数据包的 Telnet 部分可以看到,数据信息为 123\r\n,表示客户端已经输入了全部的密码,密码为 123,将整个信息一次性发送给服务器。

10) 成功输入用户名和密码后,客户端将登录服务器。服务器首先向客户端显示说明信息,如图所示。

第 33 个数据包 Telnet 部分显示了大量的说明信息。例如,客户端可以输入一个命令,并给出命令实例。第 34 个数据包为客户端的确认数据包。

11) 服务器向客户端发送完说明信息后,将为客户端提供会话模式。客户端就可以在该模式下输入要执行的命令,如图所示。

其中,第 35 个数据包 Telnet 部分的数据信息为 $,表示客户端可以在此处输入要执行的命令。第 36 个数据包为客户端的确认数据包。

12) 客户端输入要执行的命令,这里输入查询服务器网络配置信息的命令,如图所示。

第 47 个数据包 Telnet 部分的数据信息为 /sbin/ifconfig\r\n,表示客户端已经输入了全部的命令。该命令被一次性发送给服务器。

13) 客户端完成输入的命令后,服务器向客户端返回命令的执行结果,如图所示。

其中,第 48 个数据包 Telnet 部分显示了服务器的网络配置信息。第 49 个数据包为客户端的确认数据包。

14) 服务器成功向客户端返回命令的执行结果后,再次进入会话模式,等待客户端下一个命令,如图所示。

其中,第 50 个数据包的 Telnet 部分的数据信息为 $,表示服务器再次回到会话模式。第 51 个数据包为客户端的确认数据包。

15) 如果客户端将不再执行命令,将向服务器请求断开连接。对应的数据包如图所示。

其中,第 53 个数据包是客户端向服务器发送的请求断开连接的 TCP[FIN,ACK] 数据包;第 54 个数据包为服务器进行断开连接的 TCP[FIN,ACK] 数据包;第 55 个数据包为客户端的确认。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


随着云计算和网络技术的发展,越来越多的数据需要在服务器之间进行传输和共享。云挂机宝作为一种常见的服务器设备,具有高效、稳定的特性,使得它成为了许多企业和个人用户传输数据的首选。本文将讨论云挂机宝服务器
阿里云服务器Tomcat无法从外部访问一、环境阿里云Ubuntu 12.04.5 LTStomcat和java都是阿里云默认的7的版本,如下图二、问题部署后./startup.sh启动tomcat 之后外部访问http://ip:8080/无法访问,之后去查看防火墙关闭了Ubuntu下面的防火墙123
购买一系列的东西其实就是花钱买块区域,服务器,域名,云解析,花了好多money。。。一、租服务器百度搜索阿里云进入官网首页,点击登录进入登录页面,可以使用邮箱登录或者注册进入注册页面,填写注册信息登录成功,进入主页,点击云服务ECS,点击购买推荐或者选购配置根据实际情况选择产品,可能没有货,那么就需要更改购买条件如果是新用户,购买
前言昨天买了域名,服务器,然后搭建了环境,然后想他通过默认的端口,不用端口就访问。设置WEB项目的欢迎页在WEB-INF文件夹下有个web.xml文件(最近新建的项目不包含此文件,可以手动新建),在welcome-file-list节点中设置,代码如下 <welcome-file-list> <welcome-file>test.html</welcome-file>
前言由于服务器centos6.8安装mysql一直出现不能连接问题,然后看到一个方法,一不小心就把yum给删除了,都还原不了,很是绝望,很难受。然后没有yum这个centos就感觉废了,然后找方法装上去。 python --version查看python 版本 whereis python 查看python文件 python: /usr/bin/python2.6 /usr/bin/python
前言用 SSH客户端登录上以后,自己想要在本地连接服务器上的mysql服务器。解决方法1、首先启动数据库[root@iZm5ec880z2rorZ ~]# service mysqld start可以输入一下加粗命令:[root@iZm5ec880z2rorZ ~]# mysql -u root -p Enter password: (输入你的数据库密码)Welcome to the My
前言乱码问题是很让人抓狂的问题,下面我将记录一下Linux下MySQL乱码问题的解决方法。 mysql在linux下乱码问题一、操作mysql默认字符集是latin1,但是我们大部分程序使用的字符集是utf8,我们就需要修改mysql的字符集了。1)查看默认编码show variables like 'character%';+--------------------------+--------
问题描述今天阿里云服务器安装mysql的收,遇到了一个很熟悉的问题 输入#mysql -u root -p ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 解决方案一、方案1 1.#ps -A|grep mysql 显示类似:
今天在使用filezilla连接虚拟机中的ubuntu的时候出现上次出错,错误详情为:open for write: permission denied看完错误大概知道和权限有问题,再次查看虚拟机,我们使用以下命令给我们需要放入的目标文件权限:sudo chmod 777 /home再次尝试上传,上传成功! ...
直接上步骤,做一个简单的记录!配置阿里云oss找到对应的oss如果没有bucket,则新建一个新建之后,进入到对应的bucket,然后进行相关设置以上就是oss的基本设置,接下来是域名相关设置,这也是最重要的一些步骤。oss域名解析和cdn设置oss域名解析设置oss的域名设置是在传输管理下进行设置。如果没有域名,需要添加域名,没有注册域名自行注册。添加之后就会在上面列表上显示。以上就是域名的解析配置,期间还需要设置域名解析cname等。oss的cdn设置加速设置cdn
这个需要开放centos的端口和腾讯云服务器的端口。防火墙开放8080端口因为Centos7以上用firewalld代替了iptables,也就是说firewalld开通了8080端口应该就行了1.输入netstat -tunlp 查看8080是否放开。2.如果没有开放,输入firewall-cmd --state #查看防火墙状态。3.在running 状态下,向firewall 添加需要开放的端口firewall-cmd --permanent --zone=public --add-po
前言:博主资历尚浅,很多东西都还在刚起步学习的阶段,这几天开发任务比较轻,就在自己window系统下,模拟部署远程服务器,利用Jenkins + Ant + Tomcat 搭建了一个自动发布部署的环境
为了做集群测试,在每台机器上装了3个tomcat,每次发布项目的时候都要反复敲一些命令,重启 tomcat 之前先检查 tomcat 进程有没有停掉,没有还要手动 kill 该进程。 发布次数多了,操
Jenkins修改管理员密码,我看了网上所有的教程,竟然全都是拿着一串已经加密好的 111111 的密文去替代 config.xml 文件里面的密码,然后大家的密码都是 111111!我觉得这种做法实
一、四层与七层负载均衡在原理上的区别 1.图示 2.概述 四层负载均衡工作在 OSI 模型中的四层,即传输层。四层负载均衡只能根据报文中目标地址和源地址对请求进行转发,而无法修改或判断所请求资源的具体
和 window不同,在Linux压缩文件需要注意的是,压缩后的文件会把源文件给替代,无论是gzip、bzip2、xz 均不支持压缩目录,要达到压缩目录的目的,需要用到tar指令。 gzip 压缩 g
一、前言 随着每天业务的增长,Tomcat 的catalina.out日志 变得越来越大,占用磁盘空间不说。要查看某个时候的日志的时候,庞大的日志让你顿时无从下手,所以日志的切割的变得刻不容缓。而且,
一、安装 和 准备工作 我们选择了用 Tomcat 服务器下 war 包的安装方式。Jenkins 的下载地址:http://mirrors.jenkins-ci.org/,打开链接后,表格有war列
一、gcc gcc是Linux上面最标准的C语言的编译程序,用来源代码的编译链接。 gcc -c hello.c 编译产生目标文件hello.o gcc -O hello.c 编译产生目标文件,并进行
随着智能化互联时代的来临,家中的智能设备越来越多:电视机、平板、游戏主机、电脑、手机等遍及家中各个角落,同时设备之间共享数据的需求变的越来越强烈。比如同步、备份手机上的照片和视频,在电视机上观看电脑中