Ответ на команду Telnet IAC

Я пытаюсь согласовать соединение telnet с сокетом. Розетка работает,но сервер говорит мне это:

ÿýÿýÿûÿû

login:

на ÿýÿýÿûÿû означает 255 253 1 255 253 31 255 251 1 255 251 3

Я прочитал все документы RFC, но я не понимаю, что я должен ответить, чтобы иметь возможность отправлять (строковые данные ascii?) на сервер я хочу успешно запустить приглашение для входа в систему, а затем отправить команды на сервер, например "halt" или что-то еще еще.

заранее спасибо за ваш ответ.

2 ответов


С RFC 854:

С NVT-это то, что остается, когда никакие параметры не включены, не и Не будут ли ответы гарантированно оставлять соединение в состоянии с которыми могут справиться оба конца. Таким образом, все хосты могут реализовать свои Процессы TELNET должны быть полностью не осведомлены о параметрах, которые не являются поддерживается, просто возвращая отказ (т. е. отказ) любого запрос параметр, который не может быть понятно.

то есть, для каждого WILL, ответ DONT. Для каждого DO, ответ WONT.

в вашем случае, вы получили (см. IANA назначил параметры telnet):

255 253 1    IAC DO ECHO
255 253 31   IAC DO NAWS
255 251 1    IAC WILL ECHO
255 251 3    IAC WILL SUPPRESS-GO-AHEAD

Итак, вы должны ответить:

255 252 1    IAC WONT ECHO
255 252 31   IAC WONT NAWS
255 254 1    IAC DONT ECHO
255 254 3    IAC DONT SUPPRESS-GO-AHEAD

обратите внимание, что вам не нужно знать, что на самом деле означает 1, 3 или 31. В этом вся прелесть. Вы можете отказаться от этих вариантов, даже не зная их определения. Вы просто по умолчанию к сети виртуальной терминал.


поиск в RFC 854

255 253 1  IAC DO #1 
255 253 31 IAC DO #31
255 251 1  IAC WILL #1
255 251 3  IAC WILL #3

теперь ищем значения параметра здесь: 1 := Эхо, 31 := размер окна.