Соединение с удаленным портом и установление интерактивного канала связи для передачи команд или получения данных – все это возможно при помощи утилиты telnet. Иногда ее называют универсальным браузером для терминала, потому что программа способна работать с различными протоколами.
Что такое telnet?
Протокол telnet, созданный на основе TCP, позволяет передавать на удаленный сервер простые текстовые команды для ручного управления процессами и включения взаимодействия между ними. Несмотря на повальный переход на SSH, утилита продолжает повсеместно использоваться.
Общий синтаксис telnet:
Под хостом подразумевается удаленный компьютер (домен или IP-адрес), порт – тот порт, через который осуществляется подключение. Перечень опций следующий:
- -4 – вручную включить поддержку стандарта IPv4;
- -6 – то же самое относительно IPv6;
- -8 – применять 8-битную кодировку вроде Unicode;
- -E – отключить поддержку Escape-последовательностей;
- -a – автоматическое подключение под логином из переменного окружения USER;
- -b – использовать локальный сокет;
- -d – активировать режим отладки;
- -p – включить эмуляцию rlogin;
- -l – указание пользователя авторизации.
Перечисленные опции предназначены для подключения к удаленному серверу. Но это лишь начало, далее следует ввод команд для управления процессами. Здесь возможно включение двух различных режимов:
- построчный – сначала строка полностью вводится в терминал на локальном компьютере и только затем целиком отправляется на сервер;
- посимвольный – отправка осуществляется посимвольно, в этом случае критичны любые ошибки ввода, потому что даже Backspace передается в виде определенной комбинации из символов.
Стандартные команды консоли telnet
- CLOSE – отключиться от удаленного сервера;
- ENCRYPT – включить шифрование информации;
- LOGOUT – выйти из программы с закрытием соединения;
- MODE – переключение режима со строчного на символьный или наоборот;
- STATUS – отобразить текущий статус соединения;
- SEND – отправить один из специальных символов telnet;
- SET – установить значение параметра;
- OPEN – открыть соединение с удаленным сервером;
- DISPLAY – отобразить применяемые спецсимволы;
- SLC – изменить используемые спецсимволы.
Это основной перечень команд, более подробно о них написано в официальной документации разработчика программы.
Как установить telnet
Теперь проведем несколько тренировочных подключений, чтобы на практике разобраться в работе утилиты. Но предварительно ее требуется инсталлировать на компьютер (на примере Ubuntu). Для этого используется команда:
По завершении процедуры можно приступать к запуску и использованию.
Проверка доступности сервера
Первая и самая важная команда – это проверка доступности сервера, к которому осуществляется подключение. Она позволяет подтвердить установление соединения. Выглядит она так:
Фактически это аналог PING, поэтому она вводится только при использовании telnet, чтобы перед инициацией других процессов убедиться в том, что сервер воспринимает команды.
Проверка доступности порта
То же относится к режиму проверки порта на удаленном сервере. Это осуществляется командами:
Первая строка в приведенном примере выдает ответ, что на соединение никто не отвечает. Вторая же инициирует ответ, что доступно соединение по протоколу SSH.
Отладка
Режим отладки востребован в ситуациях, когда пользователю важно видеть подробности работы утилиты (в окне консоли). Для этого команда запуска вводится с префиксом -d:
Консоль telnet
Встречаются ситуации, когда необходимо передать команды в утилиту telnet, запущенную именно на сервере, а не на локальном компьютере пользователя. В этом случае требуется открыть консоль, для чего используется спецсимвол. По умолчанию это «^[«.
Чтобы ввести его, достаточно нажать комбинацию клавиш . После этого на экране будет отображаться приглашение ввода telnet. Сначала рекомендуется посмотреть текущий перечень доступных команд, он отображается после ввода команды . Также на этом этапе есть возможность посмотреть статус подключения:
По желанию можно опробовать другие команды, доступные для ввода в текущей сессии.
Тестирование сайта
Распространенный вариант применения telnet заключается в подключении к определенному сайту через консоль. Страницы отображаются не в привычном «красивом» виде, а списком информации, которая передается с сервера или на него. Пример команды:
После подключения достаточно ввести команду /GET, и веб-сервер вернет страницу и заголовки, которые при обычном подключении передаются в браузер.
Подключение к удаленному серверу
Отказ от telnet чаще связывается с тем, что передаваемые команды легко «подслушать» извне. В этом случае появляются риски несанкционированного подключения. Но опробовать такой режим вполне допускается в качестве изучения матчасти. Пример команды:
Порт по умолчанию – 23, поэтому команду легко «упростить» и убрать номер. Подключение все равно будет производиться по тому же принципу. После запроса остается ввести логин и пароль доступа, после чего приступать к управлению удаленным компьютером.
Я пытаюсь настроить обратный Telnet (Telnet для COM) на Mac OS X 10.9.5 (Mavericks). Компьютер Mac подключен к последовательному порту. У меня нет проблем с доступом к последовательному устройству с Mac с помощью экрана:
однако, я хотел бы получить доступ к устройству удаленно, через Telnet.
Я пробовал использовать Netcat ( nc ) и имеют ограниченный успех. Команда, которую я использовал:
и тогда я могу Telnet к устройству. Однако это не работает для двоих причины:
- для интерактивного пользовательского интерфейса, вход по существу строка буферизована, пока я не нажму return .
- все мои данные отражаются на мне. В реальной жизни устройство должно повторять мои входные символы.
Как правильно это сделать?
2 ответов
самый простой способ:
- telnet (вернее ssh ) на ваш Mac
- введите screen /dev/cu.USBserial command
теперь, если вы не хотите, чтобы подключиться к вашему mac непосредственно в com-порт, или позволить другим делать это и ничего больше, вот способ:
-
создать выделенного пользователя на компьютере mac. Назовем его «comport» и войдем как этот пользователь.
создать скрипт соединения для этого пользователя. Создать файл по имени /Users/comport/log2com.sh и вставьте в него следующие строки:
разрешить выполнение скрипта, выполнив в терминале следующую команду:
наконец, установите этот скрипт в качестве регистрационной оболочки пользователя. Для этого в разделе Системные настройки > Пользователи и группы в списке пользователи щелкните правой кнопкой мыши на пользователе и выберите «расширенный параметр». Затем в поле» shell » введите /Users/comport/log2com.sh и нажмите OK.
вот она. Теперь вы можете telnet (я бы рекомендовал ssh !) для этого войдите на свой Mac, чтобы попасть прямо на экран.
обратите внимание, что для выхода вам нужно сделать это экранным способом (обычно Ctrl + на , потом :quit Return ).
протестировано на OSX 10.10.5. Дай мне знать, если это сработает.
В этой статье: Соединение через HConnection небезопасно Telnet — это очень полезное приложение, которое использовалось десятилетиями. Вы можете использовать его для подключения к удаленным серверам дл
Содержание:
- этапы
- Метод 1 из 3: Соединение через SSH
- Метод 2 из 2: Небезопасное соединение
В этой статье: Соединение через SSHConnection небезопасно
Telnet — это очень полезное приложение, которое использовалось десятилетиями. Вы можете использовать его для подключения к удаленным серверам для различных целей, например, для удаленного администрирования компьютера через сервер Telnet или ручного запроса веб-сервера.
этапы
Открыть приложение терминал в папке коммунальные услугисам в папке приложений.
- Это очень похоже на командную строку в Windows. Поскольку OS X основана на UNIX, а не MS-DOS, команды немного отличаются.
Метод 1 из 3: Соединение через SSH
Чтобы установить безопасное соединение, используйте протокол Secure Shell (SSH).
В меню скорлупавыбирать Установить новое соединение...
Введите имя хоста или IP-адрес. В поле внизу окна Новое соединениевведите адрес сервера, к которому вы хотите подключиться.
- Вы должны иметь учетную запись для входа
Нажмите на войти в систему
Вам будет предложено ввести пароль. Ваше нажатие клавиши не будет отображаться по очевидным причинам безопасности.
Сохраните ваши настройки. Нажмите на знак+ под колонной сервер.
Введите имя или IP-адрес сервера в поле ввода.
Нажмите на хорошо.
Введите ваш ID в поле пользователя нажмите войти в системуВаша информация будет сохранена.
Метод 2 из 2: Небезопасное соединение
Сделать Command-N. Эта комбинация открывает новое окно терминал.
Если вы делитесь своим Mac в сети, вам может быть интересно узнать, кто подключен к Mac в любой момент времени. Это может включать в себя перечисление, которое в настоящее время регистрируется пользователями через множество сетевых протоколов, даже локально, или, возможно, только историю входа пользователей в систему в течение определенного периода времени. В то время как OS X Client не предлагает тот же уровень информации, что и OS X Server, вы все равно можете найти сведения о подключении пользователей, используя различные инструменты, встроенные во все версии Mac OS X.
Мы рассмотрим поиск активных учетных записей пользователей с помощью Activity Monitor, «последней» команды и команды «кто». Это довольно полно, то есть он будет включать всех пользователей, которые в настоящее время подключены и / или активно вошли в систему на Mac, будь то другая учетная запись пользователя в фоновом режиме, учетная запись гостя, общий доступ из общего доступа к папке, пользователь, подключенный через общий доступ к локальной сети для совместного использования файлов с другим Mac, сетевыми пользователями, подключенными с компьютеров с ОС Windows или Linux, через SMB, удаленный вход в систему через SSH и SFTP, почти все.
См. «Пользователи с Activity Monitor» в OS X
Самый простой способ получить базовую информацию о пользователе — использовать Activity Monitor из учетной записи администратора. Это будет включено, но данные немного ограничены для некоторых видов использования, как вы увидите:
- Запустить «Монитор активности» в OS X, находящийся в / Applications / Utilities /
- Нажмите «Пользователи», чтобы сортировать и группировать список по зарегистрированным пользователям.
Если вы ищете определенную учетную запись пользователя, вы можете легко найти этого пользователя, а также все процессы, с которыми они работают, будь то приложения, службы или ничего, и какие ресурсы они используют. Выбор вкладки «Сеть» в «Мониторе действий» будет также содержать информацию об использовании сети пользователя, помогая указывать, копируют ли они или получают файлы с Mac самостоятельно.
Чтобы правильно использовать эту информацию, вам потребуется некоторое базовое понимание того, какие учетные записи пользователей существуют на Mac (т. Е. Кто находится в папке / Users /), но также понимают учетную запись root / superuser в дополнение к сервисам и которые работают в фоновом режиме на всех компьютерах Mac, которые могут отображаться в списке «Пользователи» с именами, такими как spotlight, netbios, usbmuxd, locationd, coreaudiod, window server, mdnsresponder, networkd, appleevents и многие другие.
В конечном счете, последняя команда может оказаться более полезной для тех, кто удобен в командной строке.
Список подключенных пользователей и Log Ins для Mac с «последним»
Инструмент командной строки «последний» предлагает простой способ просмотреть историю того, что пользователи вошли в данный Mac, как локально, так и через сетевое соединение, такое как AFP, протокол обмена по умолчанию для компьютеров Mac. Использование «last» достаточно простое, но вы должны иметь некоторое знакомство с командной строкой, чтобы получить максимальную пользу от утилиты и понять результат.
Приложение «Запустить терминал», найденное в / Приложения / Утилиты / и введите следующую командную строку, чтобы просмотреть полный список пользовательских логинов
Чтобы найти конкретный логин пользователя, отправьте выходные данные последним через grep следующим образом:
last | grep USERNAME
Например, для поиска последнего результата для пользователя «OSXDaily» вы использовали бы следующую команду:
последний | grep OSXDaily
Это чувствительно к регистру, поэтому пользователь «osxdaily» будет неидентифицирован, а «OSXDaily» вернет положительные результаты, поэтому обязательно используйте надлежащий корпус.
Это приведет к выходу следующего вида, включая все даты входа и, если возможно, источник IP соединительного аппарата, если пользователь был зарегистрирован через сетевое соединение (на этом примере скриншота IP-адрес происхождения был идентифицирован как 192.168. 1.4):
Если не отображается IP-адрес или сеть, это означает, что пользователь регистрируется непосредственно на Mac, либо через стандартный процесс входа в систему OS X, либо Fast User Switching, su / sudo или что-то подобное.
Чтобы узнать, кто в настоящее время входит в систему через AFP, вы также можете использовать следующий синтаксис команды:
последний | grep «вошел в систему»
Пользователи, которые активно вошли в систему, через удаленное соединение или локальную машину, покажут «все еще зарегистрированный» в качестве своего статуса.
Потенциальная икота для последней команды появляется, когда вы вошли в систему через протокол SMB / Windows, который, возможно, включен в Mac OS X, чтобы разрешить совместное использование файлов между ПК с ОС Windows и компьютерами Mac, а пользователи вошли в систему через Mac через SMB никогда не будет показывать, как вверх через «последний» вывод команды. Это оставляет несколько других возможностей, например, использование «netstat» или, возможно, проще для большинства пользователей, просмотр в Network Activity из Activity Activity, как было описано в начале этой статьи.
Просмотр зарегистрированных пользователей SSH / Telnet с именем «кто»
Наконец, вы можете видеть, кто в настоящее время подключен к Mac через активное соединение SSH или устаревший протокол Telnet, используя классическую команду «кто» с терминала:
Это показывает все экземпляры вашей собственной учетной записи пользователя, а также регистрируется пользователями через внешнее соединение с Mac.
Знать другой способ увидеть, что пользователи в настоящее время регистрируются на Mac? Поделитесь им с нами в комментариях!