数据流向:
本地键盘
->操作系统->客户端程序->操作系统
->网络传送
->远程操作系统->服务器程序->远程操作系统
->正在运行的应用程序
每次的输入输出,计算机切换进程好几次,开销大。
网络虚拟终端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支持这种方式。
本地键盘
->操作系统->客户端程序->操作系统
->网络传送
->远程操作系统->服务器程序->远程操作系统
->正在运行的应用程序
每次的输入输出,计算机切换进程好几次,开销大。
网络虚拟终端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支持这种方式。