我正在尝试与套接字协商 telnet 连接。套接字正在工作,但服务器告诉我那件事:
ÿýÿýÿûÿû
login:
手段 255 253 1 ÿýÿýÿûÿû
255 253 31 255 251 1 255 251 3
我阅读了所有 RFC 文档,但我不明白我应该如何响应才能将(字符串 ascii 数据?)发送到服务器,我希望成功运行登录提示,然后将命令发送到服务器,如“停止”或其他东西。
提前感谢您的回答。
我正在尝试与套接字协商 telnet 连接。套接字正在工作,但服务器告诉我那件事:
ÿýÿýÿûÿû
login:
手段 255 253 1 ÿýÿýÿûÿû
255 253 31 255 251 1 255 251 3
我阅读了所有 RFC 文档,但我不明白我应该如何响应才能将(字符串 ascii 数据?)发送到服务器,我希望成功运行登录提示,然后将命令发送到服务器,如“停止”或其他东西。
提前感谢您的回答。
来自RFC 854:
由于 NVT 是在未启用任何选项时留下的内容,因此可以保证 DON'T 和 WON'T 响应使连接处于两端都可以处理的状态。因此,所有主机都可以实现它们的 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
所以你应该回应:
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
请注意,您不必知道 1、3 或 31 的实际含义。这就是美丽。您甚至可以在不知道它们的定义的情况下拒绝这些选项。您将默认使用网络虚拟终端。
在 RFC 854 中查找
255 253 1 IAC DO #1
255 253 31 IAC DO #31
255 251 1 IAC WILL #1
255 251 3 IAC WILL #3
现在在这里查找参数值:1:= echo,31:= 窗口大小。