- •Введение
- •Лабораторная работа № 1 Изучение протоколаTelnet
- •1. Пояснение к заданию
- •1.1. Основы работы в ос unix
- •1.1.1. Подключение к unix-серверу
- •1.1.2. Основные команды ос unix
- •1.2. Telnet- серверный процесс
- •1.2. Основные сведения о протоколе telnet
- •1.3 Работа с утилитой telnet
- •1.5 Взаимодействие «Терминал - терминал»
- •1.6. Работа с почтовой системой unix
- •2. Домашняя подготовка
- •3. Лабораторное задание
- •Часть 1. Основы работы в ос unix
- •Часть 2. Изучение команд протокола telnet
- •Часть 3. Работа в режиме «Терминал - терминал»
- •Часть 4. Работа с электронной почтой в unix
- •7. Контрольные вопросы
- •1. Краткое пояснение
- •1.1. Формат почтовых сообщений
- •1.2. Примеры почтовых сообщений
- •13. Основные сведения о протоколе smtp
- •1.3. Основные сведения о протоколе рорз
- •2. Домашняя подготовка
- •3. Лабораторное задание
- •Часть 1. Работа с протоколом smtp
- •4. Контрольные вопросы
- •Лабораторная работа №3 Изучение протокола передачи файловFtp
- •Краткое пояснение
- •1.1. Основные сведения о протоколе ftp
- •331 Password required for vov.
- •2. Домашняя подготовка
- •3. Лабораторное задание
- •Часть 1. Работа с командами протокола ftp
- •4. Контрольные вопросы
- •Литература
- •Содержание
3. Лабораторное задание
Часть 1. Работа с протоколом smtp
1. Пользуясь утилитой TELNET, установите соединение с сервером SMTP.
2. Просмотрите список команд протокола SMTP.
3. Отправьте простейшее сообщение на свой адрес при помощи трёхшаговой транзакции отправки почты (MAIL-RCPT-DATA).
4. Завершите работу с почтовым сервером и прочитайте полученное вами сообщение при помощи команд UNIX.
5. Снова установите соединение с сервером SMTP и отправьте сообщения, составленные согласно стандарту MIME.
6. Отправьте письмо сразу нескольким адресатам.
7. Отправьте письмо с искажённым адресом отправителя. Проверьте его получение.
8. Отправьте письмо с искажённым адресом получателя, но верным адресом
отправителя. Просмотрите сообщение об ошибке. Часть 2. Работа с протоколом РОРЗ
1. Пользуясь утилитой ТЕШЕТ, установите соединение с сервером РОРЗ.
2. Подключитесь к вашему почтовому ящику (предварительно вы должны отправить туда несколько сообщений).
3. Проверьте, поддерживает ли РОРЗ-сервер усиленную аутентификацию.
4. При помощи команды STAT просмотрите состояние вашего почтового ящика.
5. Просмотрите размер отдельных сообщений.
6. Получите одно из сообщений с сервера.
7. Удалите одно из сообщений.
8. Отмените удаление сообщения.
9. Завершите работу с сервером РОРЗ.
4. Контрольные вопросы
1. Что происходит с почтовым ящиком при аварийном завершении РОРЗ -сессии?
2. В чём главные отличия протоколов SMTP и РОРЗ?
3. Поясните схему соединения по протоколу SMTP.
4. Поясните схему соединения по протоколу РОРЗ.
5. Перечислите основные части РОРЗ-сессии.
6. Объясните структуру команд и ответов SMTP.
7. Объясните структуру команд и ответов РОРЗ.
Лабораторная работа №3 Изучение протокола передачи файловFtp
Цель - изучение команд протокола FTP и приобретение навыков использования утилиты FTP для передачи файлов.
Краткое пояснение
1.1. Основные сведения о протоколе ftp
Согласно RFC959 (основополагающий документ по протоколу FTP) протокол FTP предназначен для надежной и достоверной передачи данных между удалёнными компьютерами. Модель работы протокола приведена на рис. 4.
Рис. 4. Модель работы протокола FTP
При работе по протоколу FTP клиент и сервер поддерживают сразу два канала соединения. По одному каналу передаются данные (в обоих направлениях) и он может закрываться и открываться в процессе работы. Другой канал (управляющий) открыт в течение всего сеанса работы и предназначен для передачи команд от клиента серверу и ответов от сервера клиенту.
Сеанс работы по протоколу FTP состоит из следующих шагов:
Модуль управления передачей FTP-сервера находится в состоянии ожидания соединения на порт 21.
Клиент (модуль управления передачей со стороны клиента) устанавливает соединение с сервером (на 21-й порт) и отправляет команды, определяющие параметры соединения передачи данных:
• роли участников соединения (активный/пассивный);
• порты соединения (по умолчанию модуль передачи данных клиента использует тот же порт, что и модуль управления передачей клиента, а модуль передача данных со стороны сервера использует уменьшенный на 1 номер порта модуля управления передачей со стороны сервера, т.е. 20);
• параметры передачи;
• управляющие директивы (собственно команды).
Пассивный участник соединения переходит в режим ожидания соединения на заданный порт. Активный участник открывает соединение и начинает передачу данных (направление передачи определяется активной стороной).
Канал передачи данных закрывается по окончании передачи данных, но соединение FTP считается закрытым только после закрытия управляющего канала.
Файлы, передаваемые по FTP, находятся на каком-либо устройстве хранения узла-отправителя и после передачи помещаются на устройство хранения узла-получателя. Однако способы представления данных в различных системах могут отличаться. Например, компьютеры DEC TOPS-20s хранят пять 7-разрядных символов ASCII в 36-разрядном машинном слове. IBM Mainframe хранит четыре 9-разрядных символа в 36-разрядном машинном слове. При обмене текстовыми файлами между такими разнородными системами отправитель должен конвертировать символы в стандартное представление, а получатель выполняет преобразование из стандартного представления в своё внутреннее.
При передаче двоичной информации возникает проблема, если отправитель и получатель имеют различную длину машинного слова. Например, отправитель, имеющий длину машинного слова 32 разряда, желает передать данные системе с 36-разрядным машинным словом. В этом случае получатель сохраняет полученные данные в виде 36-разрядных слов, выравнивая их вправо.
Средства протокола FTP позволяют указать тип представления данных. Этот тип подразумевает размер логического байта данных (logical byte size), используемый для хранения данных. Далее приведено описание различных типов представления данных.
Тип ASCII. Отправитель конвертирует символы в стандартное представление "8-bit NVT-ASCIF', получатель выполняет преобразование из "8-bit NVT-ASCH" в свое внутреннее. Размер логического байта данных подразумевается равным 8 бит. Кроме того, учитываются и обрабатываются управляющие символы, например, конец строки (<CRLF>).
Тип EBCDIC. Этот тип отличается от ASCII только кодами символов и используется для повышения эффективности передачи между узлами, имеющими внутреннее представление EBCDIC. Размер логического байта данных подразумевается равным 8 бит.
Тип IMAGE. Отправитель посылает данные в виде непрерывного потока битов, а получатель сохраняет их также в виде непрерывного потока. Данные никак не интерпретируются, обрабатываются только символы конца файла или конца записи (если файл имеет структуру, ориентированную на записи).
Тип LOCAL. Этот тип явно указывает размер логического байта отправителя, для того чтобы получатель смог правильно конвертировать данные, например, если размеры логических байтов отправителя и получателя отличаются.
По умолчанию при передаче файлов используется ASCII. Для изменения типа представления данных применяется команда TYPE.
В дополнение к различным типам представления данных, средства FTP позволяют задать внутреннюю структуру данных. Это важно при передаче файлов между системами с различными методами доступа к файлам. FTP позволяет указать три типа структуры.
Структура, ориентированная на файлы, предполагает, что у файла нет какой-либо внутренней структуры, т. е. файл считается последовательностью байт данных.
Структура, ориентированная на записи, считает файл состоящим из нескольких записей. Здесь возникает понятие «конец записи» и т. д.
Структура, ориентированная на страницы, предполагает, что файл состоит из нескольких страниц.
Если структура явно не указана командой STRU, используется первый из перечисленных вариантов.
И наконец, средства FTP позволяют указать режим передачи данных. В сущности, это способ передачи, учитывающий такие моменты, как сжатие данных, возможность повторной передачи в случае ошибки и т. д. Здесь имеется три варианта.
Потоковый режим. Данные передаются в виде потока байт. Концом передачи является момент достижения символа «конец файла» (EOF).
Блочный режим. Данные передаются блоками по несколько байт. У каждого блока есть заголовок. Возможно возобновление передачи в случае ошибки. Кроме того, передача не останавливается при достижении конца файла, следовательно в этом режиме можно передать несколько файлов.
Режим со сжатием. Данные передаются с использованием простейшего способа сжатия. Здесь также возможны возобновление передачи и отправка сразу нескольких файлов. По умолчанию используется потоковый режим.
Подробно о структуре данных, режимах передачи, типах представления можно узнать из RFC959 [3]. В табл. 5 приведены основные команды протокола FTP.
Таблица 5. Команды протокола FTP
Команда
|
Описание
|
Формат
|
USER
|
Открытие управляющего соединения
|
USER <имя>
|
PASS
|
Ввод пароля
|
PASS <пароль>
|
CWD
|
Смена каталога на сервере FTP
|
CWD<путь>
|
REIN
|
Сброс параметров соединения
|
REIN
|
QUIT
|
Закрытие управляющего канала
|
QUIT
|
PORT
|
Задание IP-адреса и порта активного участника соединения по каналу передачи данных
|
PORT <hl>,<h2>,<h3>,<h4>,<p 1>,<р2>
|
PASV
|
Запрос параметров пассивного участника соединения
|
PASV
|
TYPE
|
Задание типа представления данных (аргумент «тип» может иметь значения: А - ASCII, E - EBCDIC, I - IMAGE, L - LOCAL)
|
TYPE [тип] параметр]
|
STRU
|
Задание структуры данных (F - файловая, R - записи, Р - страницы)
|
STRU <тип>
|
MODE
|
Задание режима передачи (S - потоковый, В - блочный, С - со сжатием)
|
MODE <режим>
|
RETR
|
Передача файла от сервера клиенту
|
RETR <файл>
|
STOR
|
Передача файла от клиента серверу
|
8ТСЖ<файл>
|
RNFR
|
Переименование файла
|
RNFR <старое имя>
|
RNTO
|
Переименование файла
|
RNTO <новое имя>
|
ABOR
|
Закрытие канала передачи данных
|
ABOR
|
DELE
|
Удаление файла
|
DELE <файл>
|
MKD
|
Создание каталога
|
MKD <каталог>
|
RMD
|
Удаление каталога
|
RMD <каталог>
|
LIST
|
Просмотр каталога (полная информация)
|
LIST [каталог]
|
NLST
|
Просмотр каталога (только имена файлов и подкаталогов)
|
NLST [каталог]
|
Пояснения к таблице 5:
Пример команды PORT для адреса 193.233.70.197 и номера порта 1997: PORT 193,233,70,197,7,205 (Внимание: пробелов нет!) номер порта раскладывается на 2 байта (7 и 205)
Команды RNFR и RNTO должны следовать друг за другом.
В команде TYPE, кроме типа представления можно задать дополнительный параметр, зависящий от указанного типа. Например, TYPE Local 36 - команда задаёт размер локального байта 36.
Ответы (Replies) на команды предназначены для синхронизации запросов и действий в процессе передачи данных, а также для гарантии того, что клиенту известно состояние сервера. Каждая команда генерирует по крайней мере один ответ. Ответ состоит из трёхзначного кода и отделённой от него пробелом строки текста. Например: 500 Syntax error
Каждая цифра кода имеет строго определённый набор значений, имеющих определенный смысл. Например, для первой цифры кода существует пять возможных значений:
1yz - предварительный положительный ответ;
2yz - окончательный положительный ответ;
3yz - промежуточный положительный ответ;
4yz - отрицательный ответ с возможностью повторить действие;
5yz - окончательный отрицательный ответ.
Подробно об ответах FTP-сервера можно узнать из RFC959. Некоторые из них приведены в табл. 6.
Таблица б. Ответы FTP-сервера
Код возврата
|
Текст сообщения
|
Пояснение
|
200
|
Command okay
|
Успешное выполнение команды
|
500
|
Syntax error, command unrecognized
|
Ошибка в написании команды
|
501
|
Syntax error in parameters or arguments
|
Ошибка в аргументах команды
|
220
|
Service ready for new user
|
Готовность сервера к подключению очередного пользователя
|
221
|
Service closing control connection
|
Закрытие управляющего соединения
|
331
|
User name okay, need password
|
Готовность к приёму пароля
|
230
|
User logged in, proceed
|
Успешное подключение
|
Каждая команда протокола FTP имеет определённый набор ответов. Например, команде USER соответствуют ответы: 230, 530, 500, 501, 421, 331, 332. Подобное соответствие для остальных команд FTP можно найти в RFC959. Там же можно найти и подробные схемы выполнения команд FTP.
Для установления соединения по протоколу FTP используется всё та же утилита TELNET.
$ telnet <имя> 21
Этой командой устанавливается управляющее соединение (используется 21-й порт). Ответ сервера выглядит примерно так: 220 srv-vmss FTP server (UNIX(r) System V Release 4.0) ready.
Далее, как правило, следуют команды USER и PASS, идентифицирующие пользователя:
user vov