代码之家  ›  专栏  ›  技术社区  ›  Robert Deml

如何取消按本地回声

  •  8
  • Robert Deml  · 技术社区  · 15 年前

    我试图通过发送0xFF 0xFD 0x2D(iac do suppress ou local_echo)来抑制telnet会话中密码的本地回显。这个很好用。

    我的问题是在密码后启用本地echo。我正在发送0xFF 0XFE 0X2D(IAC不抑制本地回波)。但我看不到我以后输入的任何命令。

    我正在使用MS Telnet程序进行连接。

    IAC描述 here .

    定义抑制局部回波 here

    4 回复  |  直到 10 年前
        1
  •  11
  •   Wouter van Nifterick Andrey    15 年前

    在telnet.exe中的telnet会话期间,可以通过按弹出telnet提示。 Ctrl键 + ]

    之后,键入“ set localecho “或” unset localecho “打开或关闭本地回声。

    出版社 进入 返回您的telnet会话。

        2
  •  3
  •   Oliver Rode    10 年前

    上面的顺序错误。 根据我发现的一些文档,我的顺序应该是错误的(会/不会翻转)。然而,它与Putty和MS Telnet一起工作——很奇怪。

    请尝试此操作:

    // Supress Echo on client:
    out.write(0xFF);    // IAC
    out.write(0xFB);    // WILL
    out.write(0x01);    // ECHO
    
    // Enable again with:
    out.write(0xFF);    // IAC
    out.write(0xFC);    // WONT
    out.write(0x01);    // ECHO
    
        3
  •  1
  •   user207421    12 年前

    根据我今天的调查:

    1. ms telnet客户机接受“set localecho”和“unset localecho”,但除了记录状态外,对它们什么也不做。它不发送任何信息。不管你做什么和D说什么,客户的真实状态都是“没有本地回音”。

    2. MS telnet服务器发送iac、will、echo,并在回复中接受iac、do、echo和iac、dont、echo,但完全忽略它们,始终保持will echo状态。你可以发送iac,do,echo或iac,don,echo稍后,它甚至不会回复。

    因此,如果您使用MS客户机与非MS telnet服务器通信,或者使用其他客户机与MS telnet服务器通信,则最好保持无本地回显模式,否则将得到双重回显。

    Windows Vista 64。

        4
  •  -2
  •   Robert Deml    15 年前

    发送退格键,然后发送*。这将备份光标,然后在刚刚打印的字符上打印一个*。如果是慢速连接,字符可能会在那里停留一段时间。还要查找'\n',不要试图重写它。