Техника сетевых атак
Шрифт:
Telnet - прикладной протокол, реализуемый поверх транспортного TCP-протокола. Он обеспечивает дуплексный, 8-битный канал между участниками соединения и поддерживает виртуальные терминалы. По умолчанию для подключения к telnet-серверу необходимо установить соединение по 23 порту.
Виртуальный терминал (NVT - Network Virtual Terminal) это мнимое символьное устройство с клавиатурой и принтером. Данные, набранные на клавиатуре, отправляются серверу, а ответ сервера печатается на принтере. Под «клавиатурой» и «принтером» подразумеваются некие мнимые
Виртуальный терминал позволяет согласовать форматы представления данных обеих сторон, ширину и высоту экрана и т.д. Соответствие между мнимыми и физическими устройствами узла должна обеспечить реализация протокола.
Подробнее о виртуальном терминале рассказано ниже, в конце этой главы.
Протокол telnet использует довольно оригинальный способ передачи команд, называемый команды в потоке (in-band signaling), заключающийся в следующем: любой байт из интервала [0x0, 0xFF) [185] интерпретируется как данные, а байт 0xFF, называемый IAC (Interpret As Command – интерпретировать как команду), указывает на то, что следующий за ним байт является командным байтом. Если возникнет необходимость передать байт данных, равный 0xFF, его следует продублировать, т.е. отправить два байта 0xFF 0xFF.
Командный байт может принимать следующие значения, перечисленные в таблице (необходимые объяснения даны ниже).
???? Имя Код Пояснения
???? EOF 0xEC Конец файла
???? SUSP 0xED Приостановить текущий процесс
???? ABORT 0xEE Прекратить процесс
???? EOR 0xEF Конец записи
???? SE 0xF0 Конец подопции
???? NOP 0xF1 Нет операции
???? DM 0xF2 Маркер данных
???? BRK 0xF3 Прерывание
???? IP 0xF4 Прервать процесс
???? AO 0xF5 Прекратить вывод
???? AYT 0xF6 Есть кто живой?
???? EC 0xF7 Удалить последний введенный символ
???? EL 0xF8 Стереть строку
???? GA 0xF9 Идти дальше
???? SB 0xFA Начало под опции
???? WILL 0xFB Обсуждение опции
???? WONT 0xFC Обсуждение опции
???? DO 0xFD Обсуждение опции
???? DONT 0xFE Обсуждение опции
???? IAC 0xFF Байт данных 0xFF
Многие из перечисленных в таблице команд в настоящее время вышли из употребления и поэтому представляют лишь исторических интерес, а потому рассмотрены по возможности кратко:
· EOF
· End Of File – конец файла. Получатель команды уведомляет процесс, подсоединенный к NVT терминалу, что был достигнут конец файла. В настоящее время эта команда не используется.
· SUSP
· (сокращение от Suspend– приостановить) «замораживает» связанный с NVT процесс и передает управление другому процессу. «Замороженный» процесс позднее сможет продолжить свое выполнение с той же самой точки. Эта команда в настоящее время игнорируется большинством получателей.
· EOR
· End of Record– конец записи.
· NOP
· No operation – нет операции. Эта команда обычно используется для проверки работоспособности сессии. Если соединение с получателем разорвано, то попытка посылки NOP приведет к ошибке TCP/IP. Некоторые сервера периодически посылают NOP, чтобы убедится в активности клиента.
·
DM
· Data Mark - маркер данных. Используется в качестве сигнала синхронизации, который передается в виде срочных данных TCP. Когда получатель принимает уведомление о том, что отправитель вошел в режим срочности, он начинает читать поток данных, отбрасывая все, кроме telnet-команд. Команда DM сообщает принимающему о необходимости вернуться в обычный режим работы.
·
BRK
· Break - прерывание. Уведомляет о нажатии клавиши «Break» и приводит к прерыванию сессии с очисткой буферов ввода вывода.
· IP
· Interrupt Process– Прервать Процесс. Прервать, приостановить или завершить процесс, связанный с NVT терминалом
· AO
· Abort Output– Прервать Вывод. Принудительное завершение вывода с очисткой буферов.
· AYT
· Are You There– Есть кто живой? Эта команда приписывает получателю вернуть отправителю нечто читабельное для подтверждения факта своей активности.
· EC
· Erase Character– Удалить Символ. Эта команда предписывает получателю удалить последний символ, полученный им от отправителя.
· EL
· Erase Line - Удалить Строку. Эта команда предписывает получателю удалить последнюю строку, полученную им от отправителя.
· GA
· Go Ahead – Далее. Эта команда передает управление получателю (используется в полудуплексном режиме)
Для согласования дополнительных параметров используются квиточки WILL, WONT, DO, DONT. Отправитель может попросить получателя изменить требуемые опции или уведомлять его об изменении своего состояния.
· Квиток WILL, посылаемый отправителем, говорит, что отправитель хочет включить некую опцию для себя. Если получатель согласен, он отправляет квиток DO, в противном случае DONT.