Telnet в Windows
Введение
TELNET (сокр. от англ. teletype network) — сетевой протокол для реализации текстового
терминального интерфейса по сети (в современной форме — при помощи транспорта TCP).
Название «telnet» имеют также некоторые утилиты, реализующие клиентскую часть протокола.
Современный стандарт протокола описан в RFC 854.
Выполняет функции протокола прикладного уровня модели OSI. Протокол telnet, наряду
с ssh широко используется для удалённого администрирования различными сетевыми
устройствами и программными серверами.
Про telnet в Linux читайте статью
«Telnet в Linux»
Установка
Панель Управления
Control Panel
Программы и Компоненты
(Programs and Features)
Turn Windows features on or off
Telnet Client
Установка с dism
dism /online /Enable-Feature /FeatureName:TelnetClient
Установка с pkgmgr
Альтернативный способ- нажать Windows key + R и ввести команду
pkgmgr /iu:”TelnetClient”
pkgmgr не работает на современных Windows. Где-то в районе Windows 7 он был заменён на dism
Telnet клиент в Windows 10 выглядит следующим оригинальным образом.
Это так называемый интерактивный режим.
Справка вызывается командой
?/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.
Запись вывода в файл
Если нужно записать то что приходит по телнету в файл - воспользуйтесь опцией f
telnet IP PORT -f PATH
Например:
telnet 192.168.1.245 10000 -f C:\AutoTest\telnetresult.txt
Windows | |
Работа с сетью в PowerShell | |
Windows Firewall | |
Telnet в Windows 10 | |
pstools | |
RDP: Удалённый рабочий стол | |
SSH туннель для RDP | |
NET USE | |
Telnet в Linux |