扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:论坛整理 来源:ZDNet网络安全 2007年12月20日
关键字: linux telnet telnet命令 opentelnet telnet入侵 telnet telnet端口
如果一方决定要返回对方发出的数据,或希望对方这样做,由它发出相应的命令,并等待响应。如果响应被拒绝,则仍然保持非echo状态;如果对方接受了请求,则连接进入echo状态,处于这样的状态下时,任何一方都可以解除echo状态,因为连接是双向的,因此不同方面的echo状态应该分别解除。
在实现时要遵守telnet协议中的循环防止规则。因为在不同状态下的开关有时候会意义不清,因此要特别注意相应开关所在的状态。例如一方以WILLECHO响应了DOECHO,则在DOECHO之后的所有字符均被返回,这一条无论是接收方还是发送方都应该牢记。
光是echo选项还不足以让远程计算机理解是在终端上输入的字符,因此要使用SUPPRESS-GOAHEAD选项进行相应的处理。
6.例子
下面是一个称为UHOST的简单实现。其中用于非echo的值小于用于表示echo的值。对于每个用户终端,UHOST保留三个状态位,是否对自己进行echo,用户是否希望在echo状态下工作,终端连接到服务器上时是否处于echo状态下,这三位我们称为P(物理),D(希望)和A(实际)位。
当终端拨号时,设置P位和D位,而A位设置为非echo,P位和D位可以通过相应的命令进行人为设置。
当UHOST和服务器的连接打开时,如果P位和D位的最小值小于A位,那就向服务器发出DOECHO命令,如果收到WON'TECHO或WILLECHO响应,UHOST会设置A位为接收到以下三值的最小值:接收到的值,P位值,D位值。如果需要改变A位当前的状态,UHOST要发出相应的确定信息,如果不改变A位当前的状态,则返回拒绝,表示自己不需要进行改变。
如果在连接打开时,UHOST终端改变了P位或D位的值,UHOST会重复上面的测试。连接关闭时,UHOST会恢复A位值。因为UHOST在连接打开时或用户显式改变ECHO状态时未涉及使用DOECHO和DON'TECHO命令,大型主机会频繁地进行这样的状态切换。例如,当line-at-a-time系统运行时,服务器会试图通过WON'TECHO命令将用户设置为本地ECHO状态;但是当character-at-a-time系统运行时,服务器需要通过WILLECHO命令启动用户的远程ECHO。而且,因为UHOST不会发出WILLECHO命令,只会发出WON'TECHO命令,服务器主机会频繁发出WILL和WON'T命令。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。