扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:论坛整理 来源:ZDNet网络安全 2007年12月20日
关键字: telnet命令 opentelnet linux telnet telnet入侵 telnet telnet端口
1.命令名和代码
TIMING-MARK6
2.命令意义
*IACDOTIMING-MARK
命令发出者要求接收者在数据流的适当位置返回一个WILLTIMING-MARK,具体位置在文章的后面加以说明。
*IACWILLTIMING-MARK
命令发出者确认接收者乐意进行同步,发出了DOTIMING-MARKING。
*IACWON'TTIMING-MARK
命令发出者拒绝在数据流中加上确定同步的命令。
*IACDON'TTIMING-MARK
命令发出者通过命令接收者原来收到的WILLTIMING-MARK被忽略了。
3.默认值
WON'TTIMING-MARK,DON'TTIMING-MARK,也就是说默认情况下不对telnet两端的活动进行同步。
4.选项产生原因
有时用户需要知道TELNET另一端已经将传输过去的数据处理完毕,这个选项此时就比较有用了,即使被拒绝进行同步,返回的拒绝代码也表示原来发出的数据都接收到了。
下面是一个例子,可以想象一个全双工服务器它允许用户在处理用户输入之前预先输入一些命令。假设双方同意SuppressGoAhead选项,而且服务器同意提供回显。现在服务器抛弃了一条不可知的命令,这条命令可能是用户的输入错误,服务器可能将用户所有预先输入的命令抛弃,并向用户发出一条错误命令,并且在用户看到错误信息后开始处理用户的新命令。如果用户是本地的,系统可以抛弃缓冲的输入,但是用户输入可能在用户主机或其它地方缓冲。因此服务器必须发出DOTIMING-MARK,并希望从在数据流的合适地方得到WILLTIMING-MARK。这个合适的地方就是用户看到错误信息后输入的第一个字符。
在上例中,如果用户已经意识到自己输入错误,而希望在服务器做出反应前就纠正这个错误并回到预先输入状态。它可以让自己的系统发出WILLTIMING-MARK给服务器,然后再次开始预先输入。在这种情况下,合适的位置是由用户自己定义的。在上面二例中,系统负责传输DOTIMING-MARK来抛弃数据,而WILLTIMING-MARK则是用来对什么字符应该抛弃提供信息。
5.具体描述
假设进程A希望和B同步,A发出DOTIMING-MARK,如果B拒绝则发出WON'TTIMING-MARK,如同意则将timingmark放出输出缓冲BUF2中。下来不将数据传输给终端,而是将标记输入到接收缓冲BUF1中,发给A。当标记进入BUF1时,B发出WILLTIMING-MARK给A。
当A接收到WILLTIMING-MARK时,它知道在timingmarkf发出前发出的所有数据B都收到了。下面是此选项三个典型用途:
A.测量在进程和终端之间或进程和进程之间的响应延时。
B.同步交互,过程就如上面4中所述那样。当A收到非法命令时,它可以:
i.发出
ii.发出DOTIMING-MARK
iii.发出错误信息
iv.开始读出输入并抛弃直到WILLTIMING-MARK
v.重要开始解释输入
这就达到了在用户实际看到questionmark之前,抛弃所有在非法命令后的数据的目的。
C.B的终端用户希望抛弃从A来的一些不想要的输出,
i.B发出DOTIMING-MARK,后面是一些新命令
ii.B开始读出A的输出,抛弃接收到的数据,直到WILLTIMING-MARK.
iii.B重新转发A的输出到终端
这样就抛弃了所有来自A的输出,直到A看到timingmark,但不是对接下来命令进行响应的输出。
更多内容请看TELNET协议专题,或进入讨论组讨论。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者