Скорее всего, Вам не установили драйвер. У Вас есть 2 выбора:
Вы попытались выключить localchars в своем клиенте telnet?
bash$ telnet
telnet> toggle localchars
Won't recognize certain control characters.
telnet> open myhost
Можно также смочь вставить эту команду ~/.telnetrc
файл, в зависимости от Вашей версии telnet.
Вы могли бы попробовать 8-разрядный чистый режим... он мешает telnet интерпретировать большую часть данных
telnet -8 host port
(Это - выстрел в темноте),
По большей части Вы на правильном пути, пытаясь заставить telnet прекращать предварительно интерпретировать нажатия клавиш..., такие как CTRL-C и CTRL-Z и другие. Режим на 8 битов должен помочь.
^C
символ прерывания. Можно отправить его с Escape telnet (значение по умолчанию ^]
) и затем send brk
.
BRK
последовательность имеет определенное для реализации значение на принимающем конце и не является тем же как отправкой ETX
(^C
) символ. В системах Unixy это обычно означает делать TCSBRK
ioctl
на любом TTY telnetd
использует. На последовательных устройствах, который часто переводит в содержание линии передачи низко для четверти к половине секунды.
– Blrfl
14.07.2012, 16:33
BRK
последовательность имеет определенное для реализации значение на принимающем конце и не является тем же как отправкой ETX
(^C
) символ. В системах Unixy это обычно означает делать TCSBRK
ioctl
на любом TTY telnetd
использует. На последовательных устройствах, который часто переводит в содержание линии передачи низко для четверти к половине секунды.
– Blrfl
14.07.2012, 16:33
Это может помочь, хотя вместо telnet
используются 3 других инструмента. ]:
эхо 03 | xxd -r -p | порт хоста NC
Я использовал 'toggle options' и 'toggle termdata', чтобы убедиться, что ситуация на моем сайте соответствует исходному плакату. Мне удалось отправить ^ C (control-C), в частности, с помощью команды telnet 'send ip', как описано в документации. В моем случае я поместил все 3 команды в свой ~ / .telnetrc
Используйте
nc host port
, если вы хотите просто подключиться к порту сервера -и прерывать с помощью Ctrl C
, когда это необходимо. Вы можете установить nc
с пакетом netcat
.
П.С. идея взята из ответа @bambam -, но я не знаю, что означает использованная команда xxd
, и она отлично работает без нее для моего варианта использования.
Я столкнулся с аналогичной проблемой, связанной с невозможностью отправки ^C (Control -C )через сеанс telnet. Кроме того, я получал серийный номер через сеанс telnet, и каждый раз, когда я взаимодействовал с терминалом, возникало эхо. То есть, когда я вводил «a» в оболочке linux bash, я дважды возвращал «a» и «команда :не найдена» или я получал два запроса на это :$ $
Я решил эту проблему, убедившись, что сеанс telnet, который я использовал, был настроен на использование протокола RFC2217. Это исправило аномалии последовательного терминала, и эхо-сигналы и «управляющие» символы были правильно интерпретированы. См.https://www.rfc-editor.org/rfc/rfc2217