Home

Page 68
Page 68
background image

клиент   предлагает   серверу   отказаться   от   эхо-вывода,   отказаться   от 
использования GA и перейти в режим Linemode. Сервер должен ответить 

- либо  WON’T  Suppress  Go  Ahead,  WON’T  Echo  DO  Linemode  (если сервер 

готов работать в построчном режиме) 

- либо WON’T Suppress Go Ahead, WON’T Echo DON’T Linemode (если сервер 

готов работать в старом построчном режиме)

-   либо  WON’T  Suppress  Go  Ahead,  WON’T  Echo,  DON’T  Linemode,  WILL 

Suppress  Go  Ahead,  WILL  Echo  если   сервер   стремится   вернуться   обратно   в 
посимвольный режим (т.е. сервер принимает предложение клиента отказаться от 
SGA  и  Echo,   отказывается   от   построчного   режима   и  снова   предлагает   начать 
использование  SGA и Echo. 

Но что отвечает сервер в пакете 65? Сервер отвечает WON’T Suppress Go 

Ahead, тут же заявляет WILL Suppress Go Ahead (вроде бы как сразу собирается 
возвращаться в посимвольный режим), отказывается от Linemode, отказывается 
от эхо, но забывает, раз уж решил возвращаться в посимвольный режим, СНОВА 
предложить использование эхо как только что сделал с  Suppress  Go  Ahead! В 
итоге   устанавливается   по   сути   посимвольный   режим,   в   котором   клиент   сам 
выполняет эхо вывод (т.к. сервер не заявил WILL Echo). Но при этом сервер все 
же выполняет эхо вывод, что явно говорит о сырой реализации, это видно из 
анализа   пакетов   74-81!   Итак,   вместо   построчного   или   старого   построчного 
режима в итоге работает посимвольный режим, да еще и с неправильным эхо 
выводом – сервер обещал этого не делать, но делает. Так же вывод на экран 
введенных пользователем символов делает и клиент. Значит ли это, что пара 
сервер – клиент из  Linux  не перейдет даже в старый построчный режим из за 
странной реализации сервера, который после  WON’T SGA тут же отвечает WILL 
SGA? Кажется,  что так, НО! Рассмотрим , что произойдет при повторной подаче 
команды mode line. Свое предложение после этой команды клиент шлет в пакете 
90. В этом пакете клиент предлагает отказаться от SGA   и перейти в Linemode, 
при этом отказаться от эхо вывода клиент серверу уже не предлагает, так как 
формального   говоря   сервер   и   не   делает   сейчас   эхо   вывода   (хотя   по   факту 
делает). В пакете 91 сервер отвергает  Linemode, соглашается не отказаться от 
SGA, но нет предлагает сразу за этим использовать  SGA  как в прошлый раз. 
Клиент   при   этом   думает,   что   эхо   вывод   сервер   не   делает,   но   сервер   его   к 
сожалению делает. Однако то, что получилось теперь, в принципе, имеет черты 
старого   построчного   режима,   так   как   теперь   клиент   позволяет   пользователю 
редактировать строки локально и отсылает  их на сервер целиком (пакет 98). 
Впрочем, сервер при этом делает не нужный эхо вывод, да еще и посимвольно  

(пакеты   99-105).   Рассмотренный   пример   показывает,   что   сервер   telnetd   из 
комплекта Linux так же не слишком  хорошо поддерживает старый построчный 

режим. 

Рассмотрим пример администрирования сервера  Telnet  в  Windows. Сервер 

Telnet управляется только с консоли командой tlntadmn.

Просмотр текущих настроек:


Copyright © 2018 Файлообменник files.d-lan.dp.ua

Использование любых материалов сайта возможно только с разрешения автора.