Pergunta
Eu estou tentando suprimir o eco local de uma senha em uma sessão telnet enviando 0xFF 0xFD 0x2D (IAC fazer SUPPRESS_LOCAL_ECHO). Isso funciona bem.
O meu problema é permitir que o eco local após a senha. Estou enviando 0xFF 0xFE 0x2D (IAC NÃO SUPPRESS_LOCAL_ECHO). Mas eu não vejo nenhum dos meus comandos que eu digito mais tarde.
Eu estou usando o programa MS Telnet para se conectar.
O IAC é descrever aqui .
O Suprimir eco local é definido aqui
Solução 4
Enviar um retrocesso e, em seguida, a *. Esse backup vontade o cursor e, em seguida, imprimir a * sobre o personagem que apenas impresso. Se for uma conexão lenta o personagem pode estar lá por algum período de tempo. Também olhar para o '\ n' e não tente sobre gravação que.
Outras dicas
Durante suas sessões telnet em telnet.exe você pode abrir o telnet pronta pressionando Ctrl + ]
Depois disso, digite " set localecho
" ou " unset localecho
" para mudar localecho ligado ou desligado.
Pressione Enter para retornar à sua sessão telnet.
sequência errada acima. De acordo com algum documento que eu encontrei, minha sequência deve estar errado (VONTADE / WONT trocados). No entanto, trabalhou com Putty e MS Telnet -. Estranho
Por favor, tente o seguinte:
// 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
De acordo com as minhas investigações hoje:
-
O cliente MS Telnet aceita 'localecho set' e 'localecho unset', mas não faz nada com eles, exceto o registro do estado. Ele não envia nada sobre o fio. O estado real dos restos do cliente 'sem eco local' Não importa o que você faz eo que 'd', diz.
-
O servidor MS Telnet envia IAC, VONTADE, ECHO e, em resposta aceita IAC, DO, ECHO, e IAC, NÃO, ECHO, mas ignora completamente-los, permanecendo em estado irá ecoar por toda parte. Você pode enviar IAC, DO, ECHO ou IAC, NÃO, ECHO, mais tarde, e ele não vai mesmo responder.
Assim, se você está ou usando o cliente MS para falar com um servidor não-MS Telnet ou usando outro cliente para falar com o servidor MS Telnet é melhor você ficar em nenhum-local-echo modo, caso contrário você terá dupla ecoando .
Windows Vista 64.