Utilizo telnet para conectarme a un servidor de terminal, que envía el tráfico a un puerto RS-232.
Lamentablemente al utilizar algunos de los dispositivos no es posible enviar el carácter CTRL+ C(0x03). En lugar de transmitir el carácter, parece que el cliente local ha captado la pulsación de la tecla y me quedo en "otro modo". Lo que quería era simplemente enviar un personaje.
Para depurar esto, he estado jugando con:
^] toggle termdata
y
^] toggle options
Esto es lo que sucede cuando presiono CTRL+ Cen un servidor terminal que no 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
Esto es lo que sucede en los servidores de terminal que sí funcionan:
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
Lo he intentado toggle localchars
pero no hizo ninguna diferencia.
También probé mode character
lo que me permitió enviar el carácter CTRL+ C, pero aquí no obtuve ningún resultado del dispositivo.
¿Cómo puedo configurar mi cliente telnet para solucionar esto?
Respuesta1
¿Has intentado desactivar los caracteres locales en tu cliente telnet?
bash$ telnet
telnet> toggle localchars
Won't recognize certain control characters.
telnet> open myhost
Es posible que también pueda colocar este comando en el ~/.telnetrc
archivo, dependiendo de su versión de telnet.
Respuesta2
Esto podría ayudar, aunque utiliza otras 3 herramientas en lugar de telnet
:
echo 03 | xxd -r -p | nc host port
Respuesta3
Puedes probar el modo limpio de 8 bits... evita que Telnet interprete gran parte de los datos.
telnet -8 host port
(Este es un tiro en la oscuridad)
En su mayor parte, está en el camino correcto, tratando de hacer que telnet deje de preinterpretar las pulsaciones de teclas... como Ctrl+ Cy Ctrl+ Zy otras. El modo de 8 bits debería ayudar.
Respuesta4
Estaba luchando con esto y no encontré una respuesta buscando en Google. Este es un hilo muy antiguo, pero lo dejaré en caso de que alguien más venga aquí buscando una solución como lo hice yo.
- Vaya al modo de comando telnet con Ctrl+]
- Ingrese el comando:
mode character
. Esto pone telnet enmodo personaje, que por alguna razón ahora funciona como era de esperar, Crtl+ Cy todo.