Telnet IAC命令回答

Cin*_*tin 8 sockets ip networking telnet tcpclient

我正在尝试与套接字协商telnet连接.套接字正在工作,但服务器告诉我那件事:

ÿýÿýÿûÿû

login:
Run Code Online (Sandbox Code Playgroud)

所述ÿýÿýÿûÿû手段255 253 1 255 253 31 255 251 1 255 251 3

我读了所有的RFC文档,但我不明白,我应该与响应能够(字符串ASCII数据?)发送到服务器,我的愿望是成功运行login提示符,然后发送命令到像"一台服务器停止"或其他东西.

提前感谢您的回答.

Rob*_*obᵩ 24

来自RFC 854:

由于NVT是没有启用选项时剩余的内容,因此DO NOT和WILL NOT响应可保证将连接保持在两端都可以处理的状态.因此,所有主机可以实现其TELNET过程完全不知道不支持的选项,只是返回拒绝(即拒绝)任何无法理解的选项请求.

也就是说,对每个人都WILL做出回应DONT.每一个DO,回应WONT.

在您的情况下,您已收到(请参阅IANA分配的telnet选项):

255 253 1    IAC DO ECHO
255 253 31   IAC DO NAWS
255 251 1    IAC WILL ECHO
255 251 3    IAC WILL SUPPRESS-GO-AHEAD
Run Code Online (Sandbox Code Playgroud)

所以你应该回应:

255 252 1    IAC WONT ECHO
255 252 31   IAC WONT NAWS
255 254 1    IAC DONT ECHO
255 254 3    IAC DONT SUPPRESS-GO-AHEAD
Run Code Online (Sandbox Code Playgroud)

请注意,您不必知道1,3或31实际上是什么意思.那就是美.您甚至不知道他们的定义就可以拒绝这些选项.您只需默认使用网络虚拟终端.