10

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

ÿýÿýÿûÿû

login:

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

我阅读了所有 RFC 文档,但我不明白我应该如何响应才能将(字符串 ascii 数据?)发送到服务器,我希望成功运行登录提示,然后将命令发送到服务器,如“停止”或其他东西。

提前感谢您的回答。

4

2 回答 2

27

来自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 的实际含义。这就是美丽。您甚至可以在不知道它们的定义的情况下拒绝这些选项。您将默认使用网络虚拟终端。

于 2012-05-02T17:09:41.453 回答
1

在 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:= 窗口大小。

于 2012-05-02T17:17:03.910 回答