протокол и сервер telnet

Настройка, программирование, распределённые вычисления

Модераторы: Olej, bellic, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

протокол и сервер telnet

Непрочитанное сообщение Olej » 01 янв 2024, 17:48

Olej писал(а):
01 янв 2024, 17:38
вручную
Запуск сервера:

Код: Выделить всё

olej@nvidia:~$ sudo /usr/sbin/in.telnetd -debug 10000
[sudo] пароль для olej:       
...
sudo здесь обязательно:

Код: Выделить всё

olej@nvidia:~$ ps -A | grep telnetd
 145765 ?        00:00:00 in.telnetd
Иначе при 1-м же подключении telnet по этому порту - сервер будет остановлен из-за недоступности каталога лог-файлов:

Код: Выделить всё

...
telnetd: /usr/lib/telnetlogin: Permission denied
...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

протокол и сервер telnet

Непрочитанное сообщение Olej » 01 янв 2024, 17:52

Olej писал(а):
01 янв 2024, 17:48
подключении telnet по этому порту
А вот и отладочный коннект (в LAN это вполне допустимо!):

Код: Выделить всё

olej@nvidia:~$ telnet 127.0.0.1 10000
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
Linux Mint 21.2 Victoria
nvidia login: olej
Password: 
...
Last login: Sat Nov 25 19:51:56 EET 2023 from 192.168.1.14 on pts/0
Вот при этом и сервер (145765) и клиент (145766):

Код: Выделить всё

olej@nvidia:~$ sudo netstat -ptun | grep telnet
tcp        0      0 127.0.0.1:59000         127.0.0.1:10000         ESTABLISHED 145766/telnet       
tcp        0      0 127.0.0.1:10000         127.0.0.1:59000         ESTABLISHED 145765/in.telnetd:  
И, собственно, можем видеть новый (pts/7) удалённый сеанс (хотя он, в данном конкретном, тестовом случае и localhost):

Код: Выделить всё

olej@nvidia:~$ who
olej     tty1         2023-12-17 20:15 (:0)
olej     pts/6        2024-01-01 16:44
olej     pts/7        2024-01-01 16:44 (localhost)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

протокол и сервер telnet

Непрочитанное сообщение Olej » 01 янв 2024, 17:59

Olej писал(а):
01 янв 2024, 17:52
А вот и отладочный коннект (в LAN это вполне допустимо!):
Таким способом в LAN (где вопросы безопасности не стоят!) можно легко (самый простой и быстрый способ) вести административно-отладочные работы.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

протокол и сервер telnet

Непрочитанное сообщение Olej » 02 янв 2024, 16:28

Olej писал(а):
01 янв 2024, 17:48
Запуск сервера:
Olej писал(а):
01 янв 2024, 17:59
можно легко (самый простой и быстрый способ) вести административно-отладочные работы.

Код: Выделить всё

olej@nvidia:~$ sudo /usr/sbin/in.telnetd -debug 10000
...

Код: Выделить всё

root@nvidia:/var/log# netstat -ptun | grep telnet
tcp        0      0 192.168.1.11:10000      192.168.1.14:56478      ESTABLISHED 150865/in.telnetd:  
Удалённый коннект из LAN:

Код: Выделить всё

olej@R420:~$ telnet -lolej 192.168.1.11 10000
Trying 192.168.1.11...
Connected to 192.168.1.11.
Escape character is '^]'.
Password: 

Расширенное поддержание безопасности (ESM) для Applications выключено.

0 обновлений может быть применено немедленно.

Включите ESM Apps для получения дополнительных будущих обновлений безопасности.
Смотрите https://ubuntu.com/esm или выполните: sudo pro status

*** /dev/sda2 will be checked for errors at next reboot ***

*** System restart required ***
Last login: Tue Jan  2 15:19:16 EET 2024 from R420 on pts/14

olej@nvidia:~$ ^]
telnet> quit           
Connection closed.
Характерно, что после закрытия такой сессии telnet удалённый сервер in.telnetd завершается:

Код: Выделить всё

root@nvidia:/var/log# netstat -ptun | grep telnet
root@nvidia:/var/log#
И это мне не совсем понятно...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

протокол и сервер telnet

Непрочитанное сообщение Olej » 02 янв 2024, 16:33

Olej писал(а):
02 янв 2024, 16:28
Характерно, что после закрытия такой сессии telnet удалённый сервер in.telnetd завершается:
Что ещё характерно, что, в таком отладочном виде, сервер in.telnetd вообще не "форкающий", однопотосный, последовательный...
Вот, устанавливаю сессию через LAN:

Код: Выделить всё

olej@R420:~$ telnet -lolej 192.168.1.11 10000
Trying 192.168.1.11...
Connected to 192.168.1.11.
Escape character is '^]'.
Password: 

Расширенное поддержание безопасности (ESM) для Applications выключено.

0 обновлений может быть применено немедленно.

Включите ESM Apps для получения дополнительных будущих обновлений безопасности.
Смотрите https://ubuntu.com/esm или выполните: sudo pro status

*** /dev/sda2 will be checked for errors at next reboot ***

*** System restart required ***
Last login: Tue Jan  2 15:22:10 EET 2024 from R420 on pts/14
olej@nvidia:~$ 
И с того же хоста - другую сессию:

Код: Выделить всё

olej@R420:~$ telnet -lolej 192.168.1.11 10000
Trying 192.168.1.11...
telnet: Unable to connect to remote host: Connection refused
Отлуп! :oops:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

протокол и сервер telnet

Непрочитанное сообщение Olej » 02 янв 2024, 16:45

Olej писал(а):
02 янв 2024, 16:33
Отлуп!
Любопытно, что при стандартном запуске, посредством суперсервера inetd через порт 23 ... для каждо сессии (клиента), запускается свой отдельный экземпляр сервера.
Вот как-то так ... 2 запроса коннекта из удалённого хоста:

Код: Выделить всё

olej@R420:~$ telnet -lolej 192.168.1.11 
Trying 192.168.1.11...
Connected to 192.168.1.11.
Escape character is '^]'.
Password: 

Код: Выделить всё

olej@R420:~$ telnet -lolej 192.168.1.11 
Trying 192.168.1.11...
Connected to 192.168.1.11.
Escape character is '^]'.
Password: 
(Причём, если не ответить в какой-то короткий промежуток времени, то экземпляр сервера закроется по тайм-ауту.)
И на серверном хосте видим:

Код: Выделить всё

root@nvidia:/var/log# netstat -ptun | grep telnet
tcp        0      0 192.168.1.11:23         192.168.1.14:51554      ESTABLISHED 151331/in.telnetd:  
tcp        0      0 192.168.1.11:23         192.168.1.14:51558      ESTABLISHED 151333/in.telnetd:  

Код: Выделить всё

root@nvidia:/var/log# ps -A | grep inetd
   1038 ?        00:01:02 inetd
P.S. Это не совсем обычное поведение ... и при отладочных работах нужно это поиметь в виду :!:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

протокол и сервер telnet

Непрочитанное сообщение Olej » 02 янв 2024, 17:22

Olej писал(а):
02 янв 2024, 16:28
Характерно, что после закрытия такой сессии telnet удалённый сервер in.telnetd завершается:
Но если хочется чтобы (отладочный) сервер оставался активным и после завершения сессии, то его вполне можно запускать так:

Код: Выделить всё

olej@nvidia:~$ while true; do sudo /usr/sbin/in.telnetd -debug 10000; done; 
[sudo] пароль для olej:       
...

Ответить

Вернуться в «Сети»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 14 гостей