Telnet协议基础知识

来源:互联网 发布:windows bitlocker下载 编辑:程序博客网 时间:2024/05/17 04:25
数据流向:
    本地键盘
    ->操作系统->客户端程序->操作系统
    ->网络传送
    ->远程操作系统->服务器程序->远程操作系统
    ->正在运行的应用程序
    每次的输入输出,计算机切换进程好几次,开销大。


网络虚拟终端NVT:
    行结束有的系统是回车(CR),有的系统是换行(LF),有的系统是回车-换行(CR-LF);
    中断程序运行有的系统是Ctrl+C,有的系统是ESCAPE。
    客户机把本地系统的按键和命令转为NVT格式,发送给服务器,服务器把NVT格式转为远地系统需要的格式。
传送远程命令:
    ASCII字符集包括95个可打印字符和33个控制码。
    用户键入普通字符时,NVT按照其原始含义传送;
    用户键入快捷键(组合键)时,NVT把它转为特殊的ASCII字符传送,到达远地机器后转为相应的控制命令。
强制命令:
    Telnet协议使用外带信令强制服务器读取一个控制命令。
    Telnet附加一个被称为数据标记data mark的保留八位组,通过TCP发送已设置紧急数据比特的报文段通知服务器。
    作为对紧急信令的响应,服务器读取并抛弃所有数据,直到找到了一个数据标记。
    服务器遇到的数据标记后,将返回正常的处理流程。


选项协商
    每个选项的协商都是对称的,任何一端都可以发出协商申请,任何一端都可以接受或拒绝这个申请。
子选项协商:
    <IAC,WILL,24>        客户端进程请求激活该选项。24是终端类型选项的ID号。
    <IAC,DO,24>          服务器进程同意激活。
    <IAC,SB,24,1,IAC,SE> 服务器进程询问客户进程的终端类型。SB是子选项协商的起始标志,24是终端类型选项的子选项,1表示“发送你的终端类型”,IAC,SE子选项协商的结束标志。


NTLM验证:
    明文传输,一开始是LM验证容易破解,后来出现了NTLM,现在已经有了NTLMv2以及Kerberos验证体系。
    1.客户端首先本地加密当前用户密码为密码散列。
    2.客户端向服务端发送自己的账号,没有加密,明文传输。
    3.服务器产生一个16位随机数字发给客户端,做一个challenge。
    4.客户端用密码散列解密这个challenge,然后发给服务器。作为response。
    5.服务器把用户名、给客户端的challenge、客户端返回的response,发给于控制器。
    6.域控制器用这个用户名在SAM密码管理库候总找到这个用户的密码散列,然后用这个密码散列加密challenge。
    7.域控制器比较两次加密的challenge,若一样,那么认证成功。
身份验证选项:
    为0,不使用NTLM验证,直接输入用户名和密码。
    为1,先尝试NTLM验证,若失败,再使用用户名和密码。
    为2,只使用NTLM验证。


TELNET工作模式:
    半双工,客户端接收用户输入之前,必须从服务器获取GO AHEAD命令。
    一次一个字符,客户端把用户输入的每个字符单独发送给服务器,服务器回显给客户端。大多数TELNET默认的方式。SUPPRESS GO AHEAD和ECHO必须同时有效。
    准行方式,用户每键入一行信息,客户端向服务器发送一次。当上面两个选项其中之一无效时采用此模式。
    行方式,类似准行方式,纠正了准行方式的缺点。较新的TELNET支持这种方式。



原创粉丝点击