Telnet sendet Strg-C

Telnet sendet Strg-C

Ich verwende Telnet, um eine Verbindung zu einem Terminalserver herzustellen, der den Datenverkehr an einen RS-232-Port weiterleitet.

Leider ist es bei manchen Geräten nicht möglich, das CTRL+ C-Zeichen (0x03) zu senden. Anstatt das Zeichen zu übertragen, scheint der lokale Client den Tastendruck abzufangen und ich bleibe im „irgendeinem-anderen-Modus“. Ich wollte einfach nur ein Zeichen senden.

Um dies zu debuggen, habe ich mit Folgendem herumgespielt:

^] toggle termdata

Und

^] toggle options

Folgendes passiert, wenn ich auf einem Terminalserver CTRL+ drücke, was nicht funktioniert:C

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

Folgendes passiert auf Terminalservern, die funktionieren:

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

Ich habe es versucht toggle localchars, aber es hat keinen Unterschied gemacht.

Ich habe es auch versucht , wodurch ich das Zeichen + mode charactersenden konnte , aber hier habe ich keine Ausgabe vom Gerät zurückbekommen.CTRLC

Wie kann ich meinen Telnet-Client konfigurieren, um dieses Problem zu lösen?

Antwort1

Haben Sie versucht, lokale Zeichen in Ihrem Telnet-Client zu deaktivieren?

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

~/.telnetrcAbhängig von Ihrer Telnet-Version können Sie diesen Befehl möglicherweise auch in die Datei einfügen .

Antwort2

Dies könnte hilfreich sein, obwohl stattdessen drei andere Tools verwendet werden telnet:

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

Antwort3

Sie können den 8-Bit-Clean-Modus ausprobieren ... er verhindert, dass Telnet einen Großteil der Daten interpretiert

telnet -8 host port

(Das ist ein Schuss ins Blaue)

Im Großen und Ganzen sind Sie auf dem richtigen Weg, wenn Sie versuchen, Telnet dazu zu bringen, die Vorinterpretation von Tastenanschlägen wie Ctrl+ Cund Ctrl+ Zusw. zu beenden. Der 8-Bit-Modus sollte helfen.

Antwort4

Ich habe damit gekämpft und beim Googeln keine Antwort gefunden. Dies ist ein sehr alter Thread, aber ich werde ihn stehen lassen, falls jemand anders hierher kommt und wie ich nach einer Lösung sucht.

  1. Wechseln Sie in den Telnet-Befehlsmodus mit Ctrl+]
  2. Geben Sie den Befehl ein: mode character. Dadurch wird Telnet inZeichenmodus, das aus irgendeinem Grund jetzt wie erwartet funktioniert, Crtl+ Cund alles.

verwandte Informationen