我打开了.telnetrc文件显示选项:
DEFAULT
toggle options
然后我运行telnet并在显示的选项中显示:
SENT WILL NAWS
SENT IAC SB NAWS 0 100 (100) 0 93 (93)
有没有办法设置" WONT NAWS"?我连接的系统没有处理它。 (它忽略列设置,默认为80,因此注入CR / LF字符。我知道如果我们" WONT NAWS",它将停止注入CR / LF字符。)
答案 0 :(得分:1)
有多个实现。要回答这个问题,您可能需要阅读源代码。例如,
telnet.cc
:if (telnetport) { send_do(TELOPT_SGA, 1); send_will(TELOPT_TTYPE, 1); send_will(TELOPT_NAWS, 1); send_will(TELOPT_TSPEED, 1); send_will(TELOPT_LFLOW, 1); send_will(TELOPT_LINEMODE, 1); send_will(TELOPT_ENVIRON, 1); send_do(TELOPT_STATUS, 1); if (env_getvalue("DISPLAY", 0)) send_will(TELOPT_XDISPLOC, 1); if (eight) tel_enter_binary(eight); }
当然,拥有源代码,您可以修改它并使该功能可配置。
答案 1 :(得分:0)
基本上,您的回答的答案是什么都不做
如果您阅读了telnet协议RFC-854
,那么WILL
,DO
,WONT
,DONT
是仅宣布的选项协商您愿意接受的选项(或在对等体中配置)。如果服务器不接受这些选项,您将收到DONT
响应(WILL
}和WONT
(DO
) ,并且不会协商选项。 TELNET
是一个强大的协议,旨在实现最大的互操作性,因此,它只允许协商两个方面理解的选项,同时可扩展到足以允许几乎无限的扩展可能性。唯一的理由是,你必须强制禁止一个选项,当两端都理解它时,两端的默认行为是协商它,你不希望设置该选项(例如传递选定的环境变量到另一端,通常使用命令行选项配置。)
所有telnet选项都有一个默认值,如果其中一个目标不支持,则设计为非协商。所以你没有风险,至少从TELNET
协议中出现。
顺便说一句,这是从服务器到WILL NAWS
的答案。它是DO NAWS
吗?还是DONT NAWS
? (最后一个应该是我不支持你应该收到的服务器的NAWS 响应,以防NAWS
不是支持的功能)