Ответ на команду 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 := размер окна.