Кафедра ИСиТ УО ВГТУ
  • Специальности
    • Экономика электронного бизнеса
    • Информационные системы
    • Information Control Systems
  • Каталог
  • Сайт кафедры
  • Сервисы
    • GitLab
    • ownCloud
    • JupyterHub
    • JupyterHub 2
    • VNC
    • Soft
  1. ЭЭБ
  2. СТ
  3. Практика
  4. Лаб. работа “Протокол FTP”
  • ЭЭБ
    • ВТиП
      • Теория
        • Введение в веб технологии
        • Протокол HTTP
        • HTML
        • CSS
        • CSS фреймворки
        • JavaScript
        • jQuery
        • JSON
        • Архитектура и технологии создания веб-приложений
        • React
        • Маршрутизация в React
        • Создание серверных приложений с использованием Express.js
        • REST интерфейс и аутентификация Веб-приложений
        • Введение в DevOps и развертывание приложений
      • Практика
        • Лаб. работа “Основы HTML и CSS”
        • Лаб. работа “Основы JavaScript”
        • Лаб. работа “Создание веб-приложений с использованием фреймворка Express.js”
        • Лаб. работа “Работа с базами данных в Express.js”
    • СТ
      • Теория
        • Введение в компьютерные сети
        • Топологии сетей
        • Кодирование и мультиплексирование
        • Стеки протоколов
        • Адресация в компьютерных сетях
        • Система доменных имен (DNS)
        • Программирование с использованием сокетов
        • Протокол HTTP
        • Введение в PHP
        • Работа с базами данных в PHP
        • Объектно-ориентированные возможности PHP
      • Практика
        • Программное обеспечение
        • Регистрация в JupyterHub
        • Лаб. работа “Почтовые протоколы”
        • Лаб. работа “Протокол FTP”
        • Лаб. работа “Протокол HTTP”
        • Лаб. работа “Программирование сетевых приложений с использованием сокетов”
        • Лаб. работа “Основы PHP”
        • Лаб работа “Массивы в PHP”

Содержание

  • Протокол FTP
  • Описание команд протокола FTP
  • Работа с FTP сервером
  • Задания:
  1. ЭЭБ
  2. СТ
  3. Практика
  4. Лаб. работа “Протокол FTP”

Лаб. работа “Протокол FTP”

Сетевые технологии
Практика
Автор

Бизюк Андрей

Дата публикации

29 февраля 2024 г.

Протокол FTP

FTP (File Transfer Protocol – протокол передачи файлов) – это один из первых и всё ещё широко используемых сервисов Internet. Первые спецификации FTP относятся к 1971 году. С тех пор FTP претерпел множество модификаций и значительно расширил свои возможности. FTP может использоваться как в программах пользователей, так и в виде специальной утилиты операционной системы.

FTP предназначен для решения задач разделения доступа к файлам на удалённых хостах, прямого или косвенного использования ресурсов удалённых компьютеров, обеспечения независимости клиента от файловых систем удалённых хостов, эффективной и надёжной передачи данных.

FTP – протокол прикладного уровня, который, как правило, использует в качестве транспортного протокола TCP. FTP не может использоваться для передачи конфиденциальных данных, поскольку не обеспечивает защиты передаваемой информации и передаёт между сервером и клиентом открытый текст. FTP сервер может потребовать от клиента аутентификации (пользователь будет должен ввести свой идентификатор и пароль), однако и пароль и идентификатор будут переданы от клиента к серверу открытым текстом.

FTP поддерживает сразу два канала соединения – канал передачи команд (и статусов их обработки) и канал передачи данных.

Канал передачи команд открывается с  установлением соединения и используется только для передачи команд и ответов их обработки. После того как устанавливается управляющее соединение, клиент может отправлять на сервер команды. FTP-команды определяют параметры соединения передачи данных: роль участников соединения (активный или пассивный). Порт соединения, тип передачи, тип передаваемых данных, структуру данных и управляющие директивы, обозначающие действия, которые пользователь хочет совершить, например, сохранить, считать, удалить файл и др.

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

После окончания передачи, сторона, выполнявшая передачу, должна закрыть канал передачи данных. Для сохранения полученных данных в виде файла необходимо предварительно включить режим протоколирования соединения и выключить его после закрытия соединения.

За время сессии канал передачи данных может открываться и закрываться неоднократно. Сессия FTP считается закрытой только после закрытия управляющего соединения.

Описание команд протокола FTP

USER пользователь – ввести идентификатор пользователя для работы с файловой системой.

PASS пароль – команда должна следовать непосредственно за командой USER и содержит пароль пользователя.

PASV – перевести FTP-сервер в пассивный режим. В ответ на эту команду сервер возвращает шесть десятичных чисел, определяющих порт, по которому будет осуществляться передача данных. Номер порта вычисляется по формуле :

(пятое число)*256 + (шестое число).

Перед передачей данных клиент должен установить ещё одно соединение с этим портом сервера.

CWD путь – указать путь каталога удалённой файловой системы, в котором желает работать пользователь.

PWD – возвращает строку с текущим каталогом удалённой файловой системы.

LIST [путь] – по каналу передачи данных возвращает содержимое текущего [указанного] каталога удалённой файловой системы. Перед вводом этой команды необходимо установить ещё одно соединение с FTP-сервером, указав порт, полученный по команде PASV.

RETR [путь]файл – команда указывает FTP-серверу передать указанный файл по каналу передачи данных. Перед вводом этой команды необходимо установить ещё одно соединение с FTP-сервером, указав порт, полученный по команде PASV. После передачи файла сервер прекращает соединение.

STOR [путь]файл – сохранить данные в виде файла на FTP-сервере. Перед вводом этой команды необходимо установить ещё одно соединение с FTP-сервером, указав порт, полученный по команде PASV. Все данные, передаваемые по этому соединению, сохраняются на FTP-сервере в файле с указанным именем. Для окончания передачи данных необходимо закрыть соединение.

RNFR [путь]СтароеИмя – переименовать указанный файл.

RNTO [путь]НовоеИмя – команда должна следовать непосредственно за командой RNFR и задаёт новое имя файла.

DELE [путь]файл – удалить указанный файл.

MKD [путь] – создать каталог

RMD [путь] – удалить пустой каталог

QUIT – закончить FTP-сессию

Работа с FTP сервером

Работа с FTP сервером может проходить как в текстовом (командном) режиме так и в графическом. Для работы в текстовом режиме требуется специальная программа – терминальный клиент. Примерами таких программ могут являться TELNET (стандартная программа в большинстве ОС), PuTTY (имеет ряд дополнительных возможностей), Netcat и другие.

В графическом режиме не требуется вводить команды. Работа с файлами и каталогами похожа на работу с файлами и каталогами на локальном диске. Для работы в графическом режиме можно использовать Проводник Windows, Internet Explorer, Total Commander и т.д. 

Для начала работы с сервером, нужно установить к нему подключение. Для этого нужно знать IP-адрес сервера или его DNS-имя, а также порт для подключения (чаще всего 21).

После установления подключения в текстовом режиме происходит диалог с сервером. Пользователь вводит команды и получает ответы от сервера. В ответах содержится информация об успешности выполнения команды - так называемые коды ошибок. Коды ошибок это десятичные числа, каждое число соответствует какому-либо результату. Значения всех кодов ошибок можно узнать в специальной литературе. Числовые коды предназначены в основном для программ-клиентов, которые работают в графическом режиме. Для удобства, числовые коды чаще всего дублируются текстовым описанием например: 

220 FTP server ready
..
331 Password request
..
150 Ok
..
421 Err

При работе в графическом режиме, пользователь не вводит команды самостоятельно, он работает с графическим интерфейсом программы-клиента. Программа преобразует действия пользователя в текстовые команды и посылает их на сервер. Текстовые ответы сервера, преобразуются в изменения в пользовательском интерфейсе.

Промежуточным звеном между терминальной программой и графическим клиентом можно считать стандартную утилиту Windows (и других ОС) под названием FTP. Работа с ней также проходит в текстовом режиме, но у неё свой собственный список команд. Эта утилита является оболочкой для стандартных команд FTP. При работе с ней не требуется устанавливать дополнительных соединений (это происходит автоматически). Получаемые данные имеют вид, более понятный для человека.

Задания:

  1. Изучить краткое описание протокола FTP.

  2. С помощью программы PuTTY или Netcat подключиться к FTP-серверу, используя имя пользователя studN (где N - номер рабочего места) и пароль stud. (адрес сервера 192.168.11.119, порт 21)

  3. Получить список файлов и каталогов в каталоге /pub FTP-сервера.

  4. Получить файл readme из каталога /pub.

  5. Создать в каталоге /pub новый каталог (название содержит фамилию латинскими буквами)

  6. Создать в этом каталоге файл с названием example1, содержащий в себе название группы, имя и ваш номер компьютера.

  7. Удостовериться, что файл создан, и проверить его содержимое.

  8. Переименовать файл в example2.

  9. Удалить ранее созданный каталог.

  10. Изучить утилиту FTP. Повторить пункты 3-10 с помощью этой утилиты.

  11. Повторить пункты 3-10 с помощью проводника Windows (для подключения, в строке адреса ввести ftp://192.168.11.119:21)

Наверх
Лаб. работа “Почтовые протоколы”
Лаб. работа “Протокол HTTP”