有没有办法设置" WONT NAWS"与" telnet"命令?

时间:2016-02-06 18:25:40

标签: linux telnet

我打开了.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字符。)

2 个答案:

答案 0 :(得分:1)

有多个实现。要回答这个问题,您可能需要阅读源代码。例如,

      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,那么WILLDOWONTDONT是仅宣布的选项协商您愿意接受的选项(或在对等体中配置)。如果服务器不接受这些选项,您将收到DONT响应(WILL}和WONTDO) ,并且不会协商选项。 TELNET是一个强大的协议,旨在实现最大的互操作性,因此,它只允许协商两个方面理解的选项,同时可扩展到足以允许几乎无限的扩展可能性。唯一的理由是,你必须强制禁止一个选项,当两端都理解它时,两端的默认行为是协商它,你不希望设置该选项(例如传递选定的环境变量到另一端,通常使用命令行选项配置。)

所有telnet选项都有一个默认值,如果其中一个目标不支持,则设计为非协商。所以你没有风险,至少从TELNET协议中出现。

顺便说一句,这是从服务器到WILL NAWS的答案。它是DO NAWS吗?还是DONT NAWS? (最后一个应该是我不支持你应该收到的服务器的NAWS 响应,以防NAWS不是支持的功能)