12

我试图通过发送 0xFF 0xFD 0x2D (IAC DO SUPPRESS_LOCAL_ECHO) 来抑制 telnet 会话中密码的本地回显。这工作正常。

我的麻烦是在密码后启用本地回显。我正在发送 0xFF 0xFE 0x2D (IAC DONT SUPPRESS_LOCAL_ECHO)。但是我没有看到我之后输入的任何命令。

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

IAC 在此处进行了描述。

Suppress Local Echo在此处定义

4

4 回答 4

19

Ctrl在 telnet.exe 中的 telnet 会话期间,您可以按+弹出 telnet 提示符]

之后,键入“ set localecho”或“ unset localecho”来打开或关闭 localecho。

Enter返回到您的 telnet 会话。

于 2009-07-12T04:36:30.983 回答
5

以上顺序错误。根据我发现的一些文件,我的顺序应该是错误的(WILL/WONT 翻转)。但是它可以与 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
于 2015-02-17T21:52:30.893 回答
4

根据我今天的调查:

  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,DONT,ECHO,它甚至不会回复。

因此,如果您使用 MS 客户端与非 MS Telnet 服务器对话,或使用另一个客户端与 MS Telnet 服务器对话,您最好保持在 no-local-echo 模式,否则您将获得双重回声。

Windows Vista 64。

于 2012-09-20T07:35:46.620 回答
-2

发送一个退格键,然后发送一个 *. 这将备份光标,然后在他们刚刚打印的字符上打印一个 *。如果连接速度较慢,则角色可能会在那里停留一段时间。还要寻找 '\n' 并且不要试图覆盖它。

于 2009-07-14T14:27:43.900 回答