• TELNET协议笔记


    TELNET是基于TCP协议的应用层协议,服务器默认监听23端口。
    客户端与服务器建立连接后有一个协商过程,这个过程是可选的。
    协商完成后,就是数据透传了,服务器发什么客户端就显示什么内容。

    有两个细节通过协商完成:

    1.回显

    客户端回显:客户端发送数据时自己在屏幕上把发送的内容显示出来;
    服务器回显:客户端发送数据时屏幕不显示,由服务器把数据发回来,客户端再显示内容。

    2.行模式

    开启行模式:客户端在收到回车键后再发送整行内容;
    关闭行模式:客户端每按一个键就发送一次按键内容;


    之所以提到这2个细节是因为Windows自带的telnet客户端和SecureCRT的默认行为不一样。

    Windows Telnet:连接时没有主动发起协商,默认客户端回显,回车按键发送CRLF

    SecureCRT:连接时主动发起协商,默认客户端回显,默认开启行模式,回车按键发送CR\0。

    SecureCRT回车内容可通过参数配置:
    Options/Session Options/Terminal/Emulation/Modes/New line mode

    默认不勾选,勾选New line mode后回车发送CRLF
    Options/Session Options/Telnet/Server requires bare CR

    默认不勾选,勾选后CR后面不带0x00

    行为一致协商:
    只要服务器在连接时发送: FF FB 01,就可以使两个客户端的行为变成一致。
    FF FB 01表示服务器要开启回显,SecureCRT关闭回显的同时也会关闭行模式。
    这样每一次按键,服务器都能收到1次数据,客户端都不会回显。


    扩展内容:
    命令字:
    0xFF:IAC  选项协商字节
    0xF0:SE   子选项结束
    0xFA:SB   子选项开始
    0xFB:WILL 发送方想激活选项,接收方回复DO(同意)/DONT(不同意)
    0xFC:WONT 发送方想禁止选项,接收方必须同意,回复DONT
    0xFD:DO   发送方想让对方激活选项,接收方回复WILL(同意)/WONT(不同意)
    0xFE:DONT 发送方想让对方禁止选项,接收方必须同意,回复WONT

    选项字:
    0x01: 回显
    0x03: 抑制继续进行
    0x18: 终端类型
    0x1F: 窗口大小
    0x20: 终端速率
    0x21: 远程流量控制
    0x22: 行模式
    0x24: 环境变量


    协商举例:

    服务器发送:FF FB 01(我要开启回显)
    客户端回答:FF FD 01 (同意)

  • 相关阅读:
    剑指Offer 33.二叉搜索树的后序遍历序列
    docker网络模式、资源控制
    053-第三代软件开发-元对象系统
    测试开发进阶——Servlet ——Servlet上传文件到服务器
    电流表指针状态识别原理是什么---豌豆云
    从0搭建Vue3组件库(七):使用 glup 打包组件库并实现按需加载
    将一个html和css合并成一个文件html,用于发送带样式email
    49-OpenCv深入分析轮廓
    Java -- 每日一问:谈谈JVM内存区域的划分,哪些区域可能发生OutOfMemoryError?
    宠物行业如何进行私域获客转化
  • 原文地址:https://blog.csdn.net/qq446252221/article/details/127630229