telnetd - zakaz zjistovani terminal type

zenis na fmph.uniba.sk zenis na fmph.uniba.sk
Středa Květen 28 19:24:41 CEST 2003


On Wed, May 28, 2003 at 02:59:02PM +0200, Pavel Kankovsky wrote:
> On Wed, 28 May 2003, ktunka wrote:
> 
> > Lze nejak zakazat telnetovemu serveru zjistovani
> > typu terminalu? (RH 6.2)
> 
> Nejde, protoze telnetd nic takoveho nedela. Telnetd pouze (v ramci svych
> moznosti) nastavi to, co mu klient sam rekne.
> 
Toto nie je pravda. Server (telnetd) si sam moze vypytat typ terminalu,
pripade cely env; ak mu klient nieco take ponuka, moze to odmietnut.
Prepis komunikacie, ktory som kedysi ziskal pomocou strace klienta:
klient: busybox:

S: 'DO' 'TELOPT_AUTHENTICATION'
C: 'WONT' 'TELOPT_AUTHENTICATION'
S: 'DO' 'TELOPT_TTYPE'
   'DO' 'TELOPT_TSPEED'
   'DO' 'TELOPT_XDISPLOC'
   'DO' 'TELOPT_NEW_ENVIRON'
C: 'WILL' 'TELOPT_TTYPE'
   'WONT' 'TELOPT_TSPEED'
   'WONT' 'TELOPT_XDISPLOC'
   'WONT' 'TELOPT_NEW_ENVIRON'
S: 'SB' 'TELOPT_TTYPE' 'TELQUAL_SEND' 'SE'
C: 'SB' 'TELOPT_TTYPE' 'TELQUAL_IS' xterm 'SE'
S: 'WILL' 'TELOPT_SGA'
   'DO' 'TELOPT_ECHO'
   'DO' 'TELOPT_NAWS'
   'WILL' 'TELOPT_STATUS'
   'DO' 'TELOPT_LFLOW'
C: 'DO' 'TELOPT_SGA'
   'WONT' 'TELOPT_ECHO'
   'WONT' 'TELOPT_NAWS'
   'DONT' 'TELOPT_STATUS'
   'WONT' 'TELOPT_LFLOW'
D: 'WILL' 'TELOPT_ECHO'
   ...
# dalej prompt
C: 'DO' 'TELOPT_ECHO'

klient: telnet:

C: 'WILL' 'TELOPT_AUTHENTICATION'
   'DO' 'TELOPT_SGA'
   'WILL' 'TELOPT_TTYPE'
   'WILL' 'TELOPT_NAWS'
   'WILL' 'TELOPT_TSPEED'
   ...
# dalsia komunikacia nie je zaznamenana v logu strace
S: 'DO' 'TELOPT_AUTHENTICATION'
   'SB' 'TELOPT_AUTHENTICATION' 'TELQUAL_SEND' \7 \0 'SE'
   'WILL' 'TELOPT_SGA'
   'DO' 'TELOPT_TTYPE'
   'DO' 'TELOPT_NAWS'
   ...
# dalsia komunikacia nie je zaznamenana v logu strace
C: 'SB' 'TELOPT_AUTHENTICATION' 'TELQUAL_IS' \7 \0 \1 'SE'
   'SB' 'TELOPT_NAWS' 'TELQUAL_IS' \0 \d80 \0 \d24 'SE'
S: 'SB' 'TELOPT_AUTHENTICATION' 'TELQUAL_INFO' \7 \0 \2 'SE'
# dalsia komunikacia je sifrovana; uz som sa v tom nevyznal

vyznam symbolov sa da najst v: /usr/include/arpa/telnet.h; 
\dxxx znamena desiatkova cislica.

Ako som uz napisal vyssie: 'DO' 'TELOPT_TTYPE' a 'DO'
'TELOPT_NEW_ENVIRON', si server nemusi vypytat, ak mu to klient ponukne
('WILL' 'TELOPT_TTYPE', pripadne 'WILL' 'TELOPT_NEW_ENVIRON'), moze to
server odmietnut ('DONT' ...).

Zakazat ziskal typ terminalu sa da upravou zdrojakov telnetd ...

Ale netusim, k comu je to dobre.

	Tibor Zenis

-- 
,..,.,..,.,..,.,..,.,..,.,..,
; Tibor Zenis               ;
: zenis @ fmph . uniba . sk :
'``'`'``'`'``'`'``'`'``'`'``'


Další informace o konferenci Linux