Telnet в Windows

Содержание
Введение
Установка
Установка в Windows Subsystem for Linux
Демонстрация возможностей
Escape character is '^]' не работает
Похожие статьи

Введение

TELNET (сокр. от англ. teletype network) — сетевой протокол для реализации текстового терминального интерфейса по сети (в современной форме — при помощи транспорта TCP). Название «telnet» имеют также некоторые утилиты, реализующие клиентскую часть протокола. Современный стандарт протокола описан в RFC 854.

Выполняет функции протокола прикладного уровня модели OSI. Протокол telnet, наряду с ssh широко используется для удалённого администрирования различными сетевыми устройствами и программными серверами.

Про telnet в Linux читайте статью «Telnet в Linux»

Установка

Панель Управления
Control Panel

Пошаговая инструкция по установке telnet в Windows 10  изображение с сайта www.andreyolegovich.ru

Программы и Компоненты
(Programs and Features)

Пошаговая инструкция по установке telnet в Windows 10  изображение с сайта www.andreyolegovich.ru

Turn Windows features on or off

Пошаговая инструкция по установке telnet в Windows 10  изображение с сайта www.andreyolegovich.ru

Telnet Client

Пошаговая инструкция по установке telnet в Windows 10  изображение с сайта www.andreyolegovich.ru

Пошаговая инструкция по установке telnet в Windows 10  изображение с сайта www.andreyolegovich.ru

Пошаговая инструкция по установке telnet в Windows 10  изображение с сайта www.andreyolegovich.ru

Альтернативный способ - нажать Windows key + R и ввести команду

pkgmgr /iu:”TelnetClient”

Пошаговая инструкция по установке telnet в Windows 10  изображение с сайта www.andreyolegovich.ru

Telnet клиент в Windows 10 выглядит следующим оригинальным образом.

Это так называемый интерактивный режим.

Пошаговая инструкция по установке telnet в Windows 10  изображение с сайта www.andreyolegovich.ru

Справка вызывается командой

?/help

Commands may be abbreviated. Supported commands are: c - close close current connection d - display display operating parameters o - open hostname [port] connect to hostname (default port 23). q - quit exit telnet set - set set options (type 'set ?' for a list) sen - send send strings to server st - status print status information u - unset unset options (type 'unset ?' for a list) ?/h - help print help information

Если выполнить

d

Escape Character is 'CTRL+]' Will auth(NTLM Authentication) Local echo off New line mode - Causes return key to send CR & LF Current mode: Console Will term type Preferred term type is ANSI

Я лично не люблю интерактивный режим и предпочитаю пользоваться telnet либо из командной строки либо из Bash для Windows

Установка telnet в wsl

sudo apt update

Get:1 http://deb.debian.org/debian buster InRelease [122 kB] Get:2 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB] Get:3 http://deb.debian.org/debian buster-updates InRelease [49.3 kB] Get:4 http://ftp.debian.org/debian buster-backports InRelease [46.7 kB] Get:5 http://security.debian.org/debian-security buster/updates/main amd64 Packages [197 kB] Get:6 http://security.debian.org/debian-security buster/updates/main Translation-en [106 kB] Get:7 http://deb.debian.org/debian buster/main amd64 Packages [7,907 kB] Get:8 http://ftp.debian.org/debian buster-backports/main amd64 Packages [301 kB] Get:9 http://ftp.debian.org/debian buster-backports/main Translation-en [234 kB] Get:10 http://deb.debian.org/debian buster/main Translation-en [5,970 kB] Get:11 http://deb.debian.org/debian buster-updates/main amd64 Packages [7,380 B] Get:12 http://deb.debian.org/debian buster-updates/main Translation-en [5,166 B] Fetched 15.0 MB in 15s (982 kB/s) Reading package lists... Done Building dependency tree Reading state information... Done 24 packages can be upgraded. Run 'apt list --upgradable' to see them.

sudo apt install telnet

Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: telnet 0 upgraded, 1 newly installed, 0 to remove and 24 not upgraded. Need to get 70.4 kB of archives. After this operation, 167 kB of additional disk space will be used. Get:1 http://deb.debian.org/debian buster/main amd64 telnet amd64 0.17-41.2 [70.4 kB] Fetched 70.4 kB in 0s (149 kB/s) Selecting previously unselected package telnet. (Reading database ... 9861 files and directories currently installed.) Preparing to unpack .../telnet_0.17-41.2_amd64.deb ... Unpacking telnet (0.17-41.2) ... Setting up telnet (0.17-41.2) ... update-alternatives: using /usr/bin/telnet.netkit to provide /usr/bin/telnet (telnet) in auto mode

Примеры

andrei@DESKTOP-OP43ER5:~$ telnet httpbin.org 80 Trying 34.230.193.231... Connected to httpbin.org. Escape character is '^]'.

Дописываем следующие строки

GET / HTTP/1.1
Host: httpbin.org

Не бойтесь нажимать Enter - один раз можно.

andrei@DESKTOP-OP43ER5:~$ telnet httpbin.org 80 Trying 34.230.193.231... Connected to httpbin.org. Escape character is '^]'. GET / HTTP/1.1 Host: httpbin.org

Теперь нажимаем Enter два раза подряд и получаем содержимое страницы

HTTP/1.1 200 OK Date: Fri, 08 May 2020 18:28:53 GMT Content-Type: text/html; charset=utf-8 Content-Length: 9593 Connection: keep-alive Server: gunicorn/19.9.0 Access-Control-Allow-Origin: * Access-Control-Allow-Credentials: true <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>httpbin.org</title> …

Весь ответ я не привожу, но Вы уже представляете, что там будет содержимое главной страницы сайта httpbin.org

Попробуем POST

andrei@DESKTOP-OP43ER5:~$ telnet httpbin.org 80 Trying 34.230.193.231... Connected to httpbin.org. Escape character is '^]'. POST /post HTTP/1.1 Host: httpbin.org Connection: close Content-type: application/json Content-length: 19 {"site":heihei.ru}

Количество символов в {"site":heihei.ru} равно 18.

Таким образом если после {"site":heihei.ru} нажать Enter, то перевод строки становится 19-м символом и сообщение уходит в обработку.

Если все прошло успешно, то сразу после нажатия Enter после закрывающей фигурной скобки, от сервера придёт следующий ответ:

HTTP/1.1 200 OK Date: Fri, 08 May 2020 18:49:46 GMT Content-Type: application/json Content-Length: 355 Connection: close Server: gunicorn/19.9.0 Access-Control-Allow-Origin: * Access-Control-Allow-Credentials: true { "args": {}, "data": "{\"site\":heihei.ru}\r", "files": {}, "form": {}, "headers": { "Content-Length": "19", "Content-Type": "application/json", "Host": "httpbin.org", "X-Amzn-Trace-Id": "Root=1-5eb5a9c1-ae41c22c17663ab8255820a7" }, "json": null, "origin": "37.219.127.133", "url": "http://httpbin.org/post" } Connection closed by foreign host.

Обратим внимание на следующую строку:

"data": "{\"site\":heihei.ru}\r",

Отправим всё тоже самое но длину увеличим на два символа

andrei@DESKTOP-OP43ER5:~$ telnet httpbin.org 80 Trying 34.230.193.231... Connected to httpbin.org. Escape character is '^]'. POST /post HTTP/1.1 Host: httpbin.org Connection: close Content-type: application/json Content-length: 21 {"site":heihei.ru}

Теперь сообщение уйдёт только после второго нажатия Enter а в ответе мы в той же строке увидим больше символов.

Дополнительные два символа это новая линия \n и перевод каретки \r

"data": "{\"site\":heihei.ru}\r\n\r",

Динамический порт

Escape Character is '^]' не работает

Попробуйте

CTRL+]

telnet>

telnet> quit

Connection closed.