我正在尝试与套接字协商telnet连接。 套接字正在工作,但服务器正在告诉我这件事:
ÿýÿýÿûÿû
login:
ÿýÿýÿûÿû
表示255 253 1 255 253 31 255 251 1 255 251 3
我阅读了所有的RFC文档,但我不明白我应该回应什么才能发送(字符串ascii数据?)到服务器,我的愿望是成功运行登录提示然后发送命令到服务器,如“停止”或其他。
提前感谢您的回答。
答案 0 :(得分:24)
来自RFC 854:
由于 当没有启用任何选项时,NVT就是剩下的,DO NOT和 Will NOT响应可以保证将连接保留在某个状态 哪两端都可以处理。因此,所有主机都可以实现它们 TELNET进程完全没有意识到没有的选项 支持,只是拒绝任何拒绝(即拒绝) 选项请求无法理解。
也就是说,对于每个WILL
,请回复DONT
。对于每个DO
,请回复WONT
。
在您的情况下,您已收到(请参阅IANA assigned telnet options):
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的实际含义。那就是美。您甚至不知道他们的定义就可以拒绝这些选项。您只需默认使用网络虚拟终端。
答案 1 :(得分: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
现在在here中查找参数值:1:= echo,31:=窗口大小。