Как telnet отличается от исходного соединения tcp

Я пытаюсь отправить команды на сервер через скрипт python. Я вижу соединение сокета, установленное на сервере. Но команды, которые я отправляю, не похоже на это (сервер делает чтение в сокете). Сервер в настоящее время поддерживает интерпретатор команд telnet. т. е. вы используете telnet для адреса команды и порта, и вы можете начать отправку строковых команд. Мой вопрос в том, есть ли что-то принципиально отличное от отправки строк по tcp-сокету, в отличие от использования telnet. Я использовал как сырые сокеты, так и структуру Twisted.

3 Solutions collect form web for “Как telnet отличается от исходного соединения tcp”

Telnet – это способ передачи управляющей информации о канале связи. Он определяет буферизацию строк, эхо символов и т. Д. И выполняется через серию сообщений will / wont / do / dont при запуске соединения (и, в редких случаях, во время сеанса).

Вероятно, это не то, что означает ваша документация на сервере. Вместо этого это, вероятно, означает, что вы можете открыть сокет TCP в порт с помощью программы типа «Telnet» и взаимодействовать с командным интерпретатором на сервере.

Когда программа Telnet подключается, она обычно прослушивает эти управляющие сообщения до ответа в натуральной форме и поэтому будет работать с соединениями TCP / socket, которые фактически не используют протокол telnet, возвращаясь к простой исходной трубе. Сервер должен выполнять все эхо-сигналы, буферизацию строк и т. Д.

Таким образом, в вашем случае сервер, скорее всего, использует необработанный поток TCP без каких-либо telnet-escape-последовательностей и, следовательно, нет никакой разницы.

Имейте в виду, что Telnet является протоколом прикладного уровня , а TCP – протоколом транспортного уровня . Telnet использует TCP для передачи данных. Это большое фундаментальное различие между Telnet и TCP.

См. Страницу wiki-страницы модели OSI

Со страницы Википедии на telnet

… Пользовательские данные перемежаются внутри диапазона с информацией управления Telnet …

Итак, чтобы ответить на ваш вопрос, да, telnet отличается от сырого сокета.

RFC 854 описывает протокол telnet, если вы хотите попробовать его реализовать, или можете использовать telnetlib, если вы предпочитаете существующий клиент python.

  • Подключение к Python Telnet
  • Несколько одновременных сетевых подключений - сервер Telnet, Python
  • Как я могу использовать telnetlib python для получения данных с устройства в течение определенного периода времени?
  • Чтение Python до нулевого символа из Telnet
  • Редактирование строки в python telnet server
  • Python - telnet - автоматизация APC PDU
  • Автоматизация / сценарии Telnet
  • Python - лучший язык программирования в мире.