Telnet отправить Ctrl-C

Telnet отправить Ctrl-C

Я использую telnet для подключения к терминальному серверу, который перенаправляет трафик на порт RS-232.

К сожалению, при использовании некоторых устройств невозможно отправить символ CTRL+ C(0x03). Вместо передачи символа, похоже, что локальный клиент перехватывает нажатие клавиши, и я остаюсь в "каком-то-другом-режиме". Я просто хотел отправить символ.

Чтобы отладить это, я экспериментировал с:

^] toggle termdata

и

^] toggle options

Вот что происходит, когда я нажимаю CTRL+ 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

Вот что происходит на терминальных серверах, которые работают:

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

Я пробовал toggle localchars, но это ничего не изменило.

Я также попробовал mode characterотправить символ CTRL+ C, но в этом случае я не получил никакого вывода от устройства.

Как мне настроить мой клиент telnet, чтобы решить эту проблему?

решение1

Вы пробовали отключить localchars в вашем клиенте Telnet?

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

Вы также можете поместить эту команду в ~/.telnetrcфайл, в зависимости от вашей версии telnet.

решение2

Это может помочь, хотя вместо этого используются 3 других инструмента telnet:

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

решение3

Вы можете попробовать 8-битный режим очистки... он не позволяет Telnet интерпретировать большую часть данных.

telnet -8 host port

(Это выстрел в темноте)

По большей части вы на правильном пути, пытаетесь заставить telnet прекратить предварительную интерпретацию нажатий клавиш... таких как Ctrl+ Cи Ctrl+ Zи других. 8-битный режим должен помочь.

решение4

Я боролся с этим и не нашел ответа в Google. Это очень старая тема, но я оставлю ее на случай, если кто-то еще придет сюда в поисках решения, как и я.

  1. Перейдите в командный режим telnet с помощью Ctrl+]
  2. Введите команду: mode characterЭто переведет telnet в режимрежим персонажа, который по какой-то причине теперь работает так, как и ожидалось, Crtl+ Cи все такое.

Связанный контент