Telnet envia Ctrl-C

Telnet envia Ctrl-C

Eu uso o telnet para conectar-me a um servidor de terminal, que faz proxy do tráfego para uma porta RS-232.

Infelizmente ao utilizar alguns dos dispositivos não é possível enviar o caractere CTRL+ C(0x03). Em vez de transmitir o caractere, parece que o cliente local capturou o pressionamento de tecla e fiquei em "outro modo". O que eu queria era apenas enviar um personagem.

Para depurar isso, tenho brincado com:

^] toggle termdata

e

^] toggle options

Aqui está o que acontece quando pressiono CTRL+ Cem um servidor de terminal que não funciona:

telnet 10.10.129.101 2012
Trying 10.10.129.101...
Connected to termserv-val3 (10.10.129.101).
Escape character is '^]'.
^]
telnet> toggle options
Will show option processing.
^]
telnet> toggle termdata
Will print hexadecimal representation of terminal traffic.
SENT IAC IP
SENT DO TIMING MARK

Aqui está o que acontece nos servidores de terminal que funcionam:

telnet termserv-val2 2012
Trying 10.10.128.93...
Connected to termserv-val2 (10.10.128.93).
Escape character is '^]'.

telnet> toggle options
Will show option processing.

telnet> toggle termdata
Will print hexadecimal representation of terminal traffic.
< 0x0   03
^C

Eu tentei toggle localchars, mas não fez nenhuma diferença.

Também tentei mode charactero que me permitiu enviar o caractere CTRL+ C, mas aqui não obtive nenhuma saída do dispositivo.

Como posso configurar meu cliente telnet para resolver isso?

Responder1

Você já tentou desligar localchars em seu cliente telnet?

bash$ telnet
telnet> toggle localchars
Won't recognize certain control characters.
telnet> open myhost

Você também pode colocar este comando no ~/.telnetrcarquivo, dependendo da sua versão do telnet.

Responder2

Isso pode ajudar, embora use três outras ferramentas em vez de telnet:

echo 03 | xxd -r -p | nc host port

Responder3

Você pode tentar o modo limpo de 8 bits... ele impede que o telnet interprete muitos dos dados

telnet -8 host port

(Este é um tiro no escuro)

Na maioria das vezes, você está no caminho certo, tentando fazer com que o telnet pare de pré-interpretar as teclas digitadas... como Ctrl+ Ce Ctrl+ Ze outros. O modo de 8 bits deve ajudar.

Responder4

Eu estava lutando com isso e não encontrando uma resposta pesquisando no Google. Este é um tópico muito antigo, mas deixarei isso caso alguém venha aqui procurando uma solução como eu.

  1. Entre no modo de comando telnet com Ctrl+]
  2. Digite o comando: mode character. Isso coloca o telnet emmodo de personagem, que por qualquer motivo agora funciona como você esperaria, Crtl+ Ce tudo.

informação relacionada