扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:论坛整理 来源:ZDNet网络安全 2007年12月21日
关键字: telnet命令 opentelnet linux telnet telnet入侵 telnet telnet端口
这种对称式的对话语法潜在地引起了一个不可终止的确认环--任何一方都将收到的确认信息看作是请求,而不是一个确认信息。为了防止这种循环的出现,有下面的规则:任何一方仅可以要求对选项状态的变化:例如,一方不可以发出请求,仅仅说明它在什么样的选项状态下。
如果一方接收到好象是请求的信息,请求进入一个已经进入的状态,此信息将被看作是一个确认消息。这种非响应从本质上防止了不可终止的对话的循环。如果要求发送一个要求改变状态的请求,即使状态并未改变。
无论何时,一方发送选项命令到另一方,无论作为一个请求或者是一个确认消息,选项的使用将对发送的数据处理有影响,这样命令应该被插入到希望发生作用的数据流中的数据点之前。(应该注意,传送请求和收到确认消息之间有一定的时间间隔,这是被动方式的。因此,一个主机希望在要求一个选项后缓存数据,直到它知道它的请求是否被接受,这样就可以使这段不不确定时间对用户不可见。)选项的请求可以在建立TELNET连接时十分频繁地来往交换,因为每一方都希望从对方得到更好的服务。
除此以外,选项也可以在连接持续过程中动态改变来适应本地机器条件的变化。例如,NVT(它将以后被详细解释)对于许多“一次一行”的应用程序,如BASIC是十分适用的,而对于如NLS的“一次一字”的应用程序却不怎么好用。服务器可能被选择作为“一次一字”法则来适应在其上运行的本地进程,它将发起对话以达到合适的选项状态。然而,相对于永久地负责这种多余的处理负担;它可以通过会话,在不需要这样的选项状态下回到NVT状态。由一个进程发起的请求可以导致一个不可终止的请求循环,如果此进程对一个拒绝请求的响应是再次要求此选项。为了防止这样循环的发生,被拒绝的请求在其它事情发生变化之前不能被重复请求。这可能意味着,进程运行另外一个程序,或者用户发送另外的命令,或者用户对于环境或选项的改变。
比较好的方法是,预请求应该作为由另一端发送信息的结果而发生,或者由于人为介入而发生。选项的设计者不应该因为对于选项会话的种种限制而感觉到伸不开手脚。一般语法的目的是更容易地拥有选项--因为表示对它们的忽视也是容易的。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。