Telnet linux com port

Как пользоваться telnet

Telnet — это сетевая утилита, которая позволяет соединиться с удаленным портом любого компьютера и установить интерактивный канал связи, например, для передачи команд или получения информации. Можно сказать, что это универсальный браузер в терминале, который умеет работать со множеством сетевых протоколов.

Эта утилита очень часто использовалась раньше, для удаленного управления компьютером с Linux, но потом ей на замену пришел защищенный протокол SSH. Но telnet все еще используется, например, для тестирования сети, проверки портов, а также для взаимодействия с различными IoT устройствами и роутерами. В этой статье мы рассмотрим что такое telnet, а также как пользоваться telnet для решения своих задач.

Что такое Telnet?

Как я уже сказал, эта утилита предназначена для создания интерактивного соединения между удаленными компьютерами. Она работает по протоколу TELNET, но этот протокол поддерживается многими сервисами, поэтому ее можно использовать для управления ими. Протокол работает на основе TCP, и позволяет передавать обычные строковые команды на другое устройство. Он может использоваться не только для ручного управления но и для взаимодействия между процессами.

Для работы с этим протоколом мы будем использовать утилиту telnet, ею очень просто пользоваться. Давайте рассмотрим синтаксис telnet:

$ telnet опции хост порт

Хост — это домен удаленного компьютера, к которому следует подключиться, а порт — порт на этом компьютере. А теперь давайте рассмотрим основные опции:

  • -4 — принудительно использовать адреса ipv4;
  • -6 — принудительно использовать адреса ipv6;
  • -8 — использовать 8-битную кодировку, например, Unicode;
  • -E — отключить поддержку Escape последовательностей;
  • -a — автоматический вход, берет имя пользователя из переменной окружения USER;
  • -b — использовать локальный сокет;
  • -d — включить режим отладки;
  • — режим эмуляции rlogin;
  • -e — задать символ начала Escape последовательности;
  • -l — пользователь для авторизации на удаленной машине.

Это все, что касается команды telnet для установки соединения. Но соединение с удаленным хостом, это только полдела. После установки подключения telnet может работать в двух режимах:

  • Построчный — это предпочтительный режим, здесь строка текста редактируется на локальном компьютере и отправляется только тогда, когда она будет полностью готова. На такая возможность есть не всегда и не у всех сервисов;
  • Посимвольный — все набираемые вами символы отправляются на удаленный сервер. Тут будет сложно что-либо исправить, если вы допустили ошибку, потому что Backspace тоже будет отправляться в виде символа и стрелки движения тоже.
Читайте также:  Var som mx6 linux

Использование telnet заключается в передаче специальных команд. У каждого сервиса свои команды, но у протокола есть свои команды telnet, которые можно применять в консоли telnet.

  • CLOSE — закрыть соединение с сервером;
  • ENCRYPT — шифровать все передаваемые данные;
  • LOGOUT — выйти и закрыть соединение;
  • MODE — переключить режим, со строчного на символьный или с символьного на строчный;
  • STATUS — посмотреть статус соединения;
  • SEND — отправить один из специальных символов telnet;
  • SET — установить значение параметра;
  • OPEN — установить подключение через telnet с удаленным узлом;
  • DISPLAY — отобразить используемые спецсимволы;
  • SLC — изменить используемые спецсимволы.

Мы не будем рассматривать все команды, поскольку они вам вряд ли понадобятся, а если и понадобятся, то вы легко сможете их найти в официальной документации.

Как пользоваться telnet?

Дальше мы рассмотрим как использовать telnet для решения ваших задач. Обычно, утилита уже установлена в большинстве систем, но если это не так, то вы можете установить telnet из официальных репозиториев, например, в Ubuntu:

Теперь перейдем к применению утилиты. Изначально она использовалась для удаленного управления компьютером, но поскольку потом был разработан более безопасный протокол SSH, использовать ее перестали.

1. Доступность сервера

Утилита все еще может быть полезной при поверке доступности узла, для этого просто передайте ей ip адрес или имя хоста:

Для этого не обязательно применять telnet, есть ping.

2. Проверка порта

C помощью telnet мы можем проверить доступность порта на узле, а это уже может быть очень полезным. Чтобы проверить порт telnet выполните:

telnet localhost 123
$ telnet localhost 22

В первом случае мы видим, что соединение никто не принимает, во втором же выводится сообщение об успешном подключении и приветствие SSH сервера.

3. Отладка

Чтобы включить режим отладки и выводить более подробную информацию во время работы используйте опцию -d во время подключения:

sudo telnet -d localhost 22

4. Консоль telnet

Использование консоли telnet тоже важный момент в разборе как пользоваться telnet. В основном режиме вы можете выполнять команды, на удаленном сервере, если же вы хотите адресовать команду именно telnet, например, для настройки ее работы, необходимо использовать спецсимвол для открытия консоли, обычно утилита сразу говорит вам что это за символ, например, по умолчанию используется «^[«:

Для его активации вам нужно нажать сочетание клавиш Ctrl+[, затем вы уведите приглашение ввода telnet.

Читайте также:  Linux redirect port to port

Чтобы посмотреть все доступные команды, вы можете набрать ?. Например, вы можете посмотреть статус подключения:

Здесь есть и другие интересные возможности. Такие вещи можно проделывать при любом подключении с помощью утилиты telnet.

5. Посмотреть сайт telnet

Один из распространенных способов использования telnet — это тестирование сайта из консоли. Да, красивую веб-страницу вы не получите, но можете вручную собрать запросы и видеть все переданные сервером данные.

Затем наберите команду веб-серверу:

Веб сервер вернет полностью страницу, а также заголовки, которые необходимы для ее отображения браузером.

6. Удаленное управление telnet

Настоятельно не рекомендуется использовать небезопасный telnet для удаленного управления, потому что все команды и пароли могут быть прослушаны сторонним пользователем. Но иногда, например, для роутеров telnet все же используется для удаленного управления. Все работает точно так же, как и для других подключений, только нужно использовать порт 23, а на удаленном компьютере должен быть установлен telnet-server:

Тут порт можно даже не указывать, потому что по умолчанию будет использоваться именно 23. Далее, вам нужно ввести логин и пароль, а затем вы сможете выполнять команды в удаленной системе.

Выводы

В этой статье мы рассмотрели примеры использования telnet, а также что представляет из себя эта утилита, хотя она уже не используется по своему основному назначению, но до сих пор может быть полезной многим пользователям и системным администраторам. Если у вас остались вопросы, спрашивайте в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

unixforum.org

telnet на com-порт, аналог hyperterminal (в opensuse linux)

telnet на com-порт, аналог hyperterminal

Сообщение iltmpz » 09.10.2008 16:07

Как можно телнетом по нуль-модемному кабелю подключиться к устройству?
Есть различные устройства: свичи, УПСы и т.п. к которым иногда необходимо подключаться через serial console.
А как? Везде пишут про телнет, но телнет умеет вроде бы только по ip?

Вроде бы есть огромная куча софта для подключения к модемам, звонилок и т.п, но вот просто тупо подключиться к ком-порту без всяких модемов мне так и не удалось.
Надо просто указать: скорость, дата-биты, стоп-биты, четность и управление потоком.
Посоветуйте что-нибудь для этой цели.

Если что, у меня opensuse linux 11.0

Re: telnet на com-порт, аналог hyperterminal

Сообщение Ariasp » 09.10.2008 16:21

Как можно телнетом по нуль-модемному кабелю подключиться к устройству?
Есть различные устройства: свичи, УПСы и т.п. к которым иногда необходимо подключаться через serial console.
А как? Везде пишут про телнет, но телнет умеет вроде бы только по ip?

Читайте также:  Linux установка с жесткого

Re: telnet на com-порт, аналог hyperterminal

Сообщение iltmpz » 09.10.2008 16:38

minicom под suse не нашел,
cu под suse тоже не нашел — оно работает под freebsd, но пишет:
# cu /dev/cuad0
cu: unknown host cu9600

Что это может значить? для cuad1 то же самое, если задать скорость — аналогично, например для cu115200


Понял, надо было man почитать.
# cu -l /dev/cuad0

Источник

/dev/blog

При такой схеме передаются данные, но не управляющая информация. Настройка виртуального терминала на хосте client никак не отражается на реальном терминале на хосте server. Это значит, что приложения, которые используют ioctl(2) или termios(3) , не будут работать так, как ожидается.

Способ 2: RFC 2217

Более сложный способ – использовать RFC 2217 для удаленного управления терминалом. Это расширение telnet, которое описывает передачу управляющей информации для последовательного порта.

Сервер

server$ ser2net -d -C '23:telnet:0:/dev/ttyS0'
server$ nc -l -p 23 -c '/usr/sbin/sredird 5 /dev/ttyS0 sredird.lock'

Клиент

client$ kermit -q C-Kermit>set carrier-watch off C-Kermit>telnet SERVER_IP

cyclades-serial-client – клиент для сервера RFC 2217. Он работает с помощью трюка с LD_PRELOAD .

  1. Виртуальный терминал /dev/pts/N .
  2. Символическая ссылка на него /dev/NAME .
  3. Локальный сокет /dev/NAME.control .

Настраиваем конфиг клиента /etc/cyclades-devices (без этого не будет работать трюк с LD_PRELOAD ):

/dev/mytty:prts:SERVER_IP:0:rfc2217:
client$ cyclades-ser-cli -d 3 -m 1 -x /dev/mytty SERVER_IP 0
client$ echo hello > /dev/mytty

Cообщение hello должен получить тот, кто подключен к порту /dev/ttyS0 на хосте server .
Проверяем настройку baud rate :

client$ export LD_PRELOAD=/usr/lib/libcyclades-ser-cli.so client$ stty -F /dev/mytty 38400
server$ stty -F /dev/ttyS0 speed 38400 baud; .

У меня этот клиент работает с сервером sredird , но не работает с ser2net .

  • Не все параметры ioctl() реализованы.
  • Подход с использованием LD_PRELOAD для ioctl() и tcgetattr() работает не для всех приложений. У меня так и не заработала команда setserial(8) .

And this is still something that should be done in userspace if necessary
by fixing up the tty layer to support pty/tty pair modem lines and
termios change reporting, or some kind of generic vt that can also
expose all the config other net protocols might need.

TTYredirector

TTYredirector реализует сервер и клиент RFC 2217, создавая на клиенте виртуальный терминал. Автоматического перенаправления управляющих команд с локального терминала на удаленный нет, его нужно настраивать вручную с помощью специальной утилиты, так что это решение подвержено тем же проблемам, что способ в socat .

Способ 3: Serial to Ethernet Converter

Serial to Ethernet Converter – устройство, преобразующее RS-232 (и/или другие протоколы) в Ethernet и обратно.

Источник

Оцените статью
Adblock
detector