Re: телнет
- From
- Valentin Nechayev ()
- To
- Alexander Pevzner ()
- Date
- 2003-05-28T19:14:34Z
- Area
- RU.UNIX.PROG
From: Valentin Nechayev <netch@segfault.kiev.ua>
>>> Alexander Pevzner wrote:
VN>> Про expect тут уже все уши прожужжали, а я такое вот спрошу: что там за
VN>> "протокол телнета"? Работать-то телнетовым клиентом (пока не начали
VN>> слать 0xff) можно с любым протоколом с разделением строк через \r\n -
[...]
AP> Я встряну, поскольку на телнете собаку съел :-)
О, тогда тебя помучаю.
AP> Некоторые сервера не будут с тобой разговаривать, пока ты не
AP> ответишиь на их options negotiations.
Вот в этом и был вопрос - что за сервер, и не относится ли он к тому, кто про
telnet options вообще не знают?
А не разговаривает пока не договорились стандартный BSD'шный telnetd.
AP> Кроме того, телнетовский
AP> IAC вполне может оказаться в потоке данных.
Как IAC, или в том смысле, что это код 0xff, который является частью данных,
но выглядит как IAC?
AP> С другой стороны, минимальная реализация телнета, которая будет
AP> работать с любым сервером, должна делать не больше следующего:
AP> 1) уметь отличать команды от данных, в т.ч. option subnegotiation
А как?
Я вот недавно нарвался - сервер отдаёт кусок текста в cp1251 - "...""ят" -
telnet это понимает как DATA MARK.
Как различать-то будем?
AP> 2) Уметь правильно передавать и принимать в потоке данных байт
AP> 0xff (т.е., IAC)
AP> 3) посылать WONT в ответ на DO, и DONT в ответ на WILL
AP> 4) игнорировать все остальные команды, в т.ч. DONT и WONT.
А если некоторые предложения принимать нельзя?
А что с аутентификацией, как со стандартным telnetd?
AP> Этого вполне достаточно, чтобы сервер был счастлив, и написать
AP> такое несложно. Исходничком такой минимальной имплементации
AP> могу поделиться :-)
-netch-
--- ifmail v.2.15dev5
* Origin: Dark side of coredump (2:5020/400)