Как настроить обратный Telnet на Mac OS X

Я пытаюсь настроить обратный Telnet (Telnet для COM) на Mac OS X 10.9.5 (Mavericks). Компьютер Mac подключен к последовательному порту. У меня нет проблем с доступом к последовательному устройству с Mac с помощью экрана:

screen /dev/cu.USBserial

однако, я хотел бы получить доступ к устройству удаленно, через Telnet.

Я пробовал использовать Netcat (nc) и имеют ограниченный успех. Команда, которую я использовал:

nc -l 9999 > /dev/cu.USBserial < /dev/cu.USBserial

и тогда я могу Telnet к устройству. Однако это не работает для двоих причины:

  1. для интерактивного пользовательского интерфейса, вход по существу строка буферизована, пока я не нажму return.
  2. все мои данные отражаются на мне. В реальной жизни устройство должно повторять мои входные символы.

Как правильно это сделать?

13
задан JakeGould
09.11.2022 10:42 Количество просмотров материала 2559
Распечатать страницу

2 ответа

самый простой способ:

  1. telnet (вернее ssh) на ваш Mac
  2. введите screen /dev/cu.USBserial command

теперь, если вы не хотите, чтобы подключиться к вашему mac непосредственно в com-порт, или позволить другим делать это и ничего больше, вот способ:

  1. создать выделенного пользователя на компьютере mac. Назовем его "comport" и войдем как этот пользователь.
  2. создать скрипт соединения для этого пользователя. Создать файл по имени /Users/comport/log2com.sh и вставьте в него следующие строки:

    #!/bin/bash
    /usr/bin/screen -R /dev/cu.USBserial
    
  3. разрешить выполнение скрипта, выполнив в терминале следующую команду:

    chmod +x /Users/comport/log2com.sh
    
  4. наконец, установите этот скрипт в качестве регистрационной оболочки пользователя. Для этого в разделе Системные настройки > Пользователи и группы в списке пользователи щелкните правой кнопкой мыши на пользователе и выберите "расширенный параметр". Затем в поле" shell " введите /Users/comport/log2com.sh и нажмите OK.

вот она. Теперь вы можете telnet (я бы рекомендовал ssh!) для этого войдите на свой Mac, чтобы попасть прямо на экран.

обратите внимание, что для выхода вам нужно сделать это экранным способом (обычно Ctrl+на, потом :quit Return).

протестировано на OSX 10.10.5. Дай мне знать, если это сработает.

4
отвечен CuriousFab 2022-11-10 18:30

Я нашел решение. Пакет python PySerial имеет класс rfc2217. У них есть пример приложения, которое работает как сервер telnet:

https://pyserial.readthedocs.org/en/latest/examples.html

$ python rfc2217_server.py /dev/tty.serial

открывает порт 2217, который позволяет telnet подключаться. Это именно то, чего я хотела.

1
отвечен some user 2022-11-10 20:47

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх