Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Протокол передачи файлов FTP. Пассивный и активный режимы. Основные команды и их формат.



Протокол передачи файлов(FTP-File Transfer Protocol): используется для передачи файлов между системами

FTP позволяет передавать данные между клиентом и сервером

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

В целях успешной передачи данных для FTP требуется два соединения между клиентом с сервером: одно для команд и ответов, другое — для передачи собственно данных.

Активный режим. Клиент инициирует командное TCP-соединение с кратковременного порта N из диапазона (1024-65535) к порту номер 21 на FTP-сервере и говорит «Я хочу подключиться к тебе. Вот мое имя и мой пароль». Получив положительный ответ, клиент отправляет серверу команду PORT N+1 которой сообщает, что он готов принять или передать данные через второй кратковременный порт N+1. Например, если клиент использует для передачи команд кратковременный порт 1026, то принимать информацию он будет через порт 1027. После этого порт передачи данных (порт 20) на сервере FTP установит связь с кратковременным портом +1 клиента FTP и начнется процесс передачи. Таким образом, производится активная сессия между сервером и клиентом FTP. Но если клиент использует защитную систему firewall, то соединение установлено не будет. Защитная система прервет попытку несанкционированного подключения через кратковременный порт +1 для передачи данных. Эта проблема решается с помощью пассивного режима работы FTP.

Во время активного режима, на клиенте создается непривилегированный временный порт N> 1023 — для управляющего соединения и N+1 порт для передачи данных.

Клиент с временного порта X посылает SYN запрос на 21 порт сервера

Сервер с 21 порта отвечает SYN ACK на временный порт X клиента

Клиент подтверждает создание соединения отправкой ACK флага.

Клиент отправляет команду PORT, для перехода в активный режим, указывает IP адрес клиента для передачи (чаще всего свой) и клиентский порт Y, с которым собственно и будет создано соединение для передачи данных.

Режим подтверждается со стороны сервера.

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

Для создания соединения для передачи данных, сервер с 20 порта отправляет SYN запрос клиенту на временный порт Y, который был указан, вместе с командой PORT.

Клиент отвечает SYN ACK.

Сервер подтверждает создания соединения — передачей флага ACK.

Происходит передача данных.

Если надо закрыть соединение, то после 10 шага, клиент отправляет флаг FIN (ниже приведен список флагов), сервер его подтверждает и соединение закрывается.

Список команд

ABOR — Прервать передачу файлаCDUP — Сменить директорию на вышестоящую.CWD — Сменить директорию.DELE — Удалить файл (DELE filename).EPSV — Войти в расширенный пассивный режим. Применяется вместо PASV.HELP — Выводит список команд принимаемых сервером.LIST — Возвращает список файлов директории. Список передается через соединение данных.MDTM — Возвращает время модификации файла.MKD — Создать директорию.NLST — Возвращает список файлов директории в более кратком формате чем LIST. Список передается через соединение данных.PASV — Войти в пассивный режим. Сервер вернет адрес и порт к которому нужно подключиться чтобы забрать данные. Передача начнется при введении следующих команд RETR, LIST и тд.

PORT — Войти в активный режим. Например PORT 12, 34, 45, 56, 78, 89. В отличие от пассивного режима для передачи данных сервер сам подключается к клиенту.

PWD — Возвращает текущую директорию.QUIT — ОтключитьсяREIN — Реинициализировать подключениеRETR — Скачать файл. Перед RETR должна быть команда PASV или PORT.RMD — Удалить директориюRNFR и RNTO — Переименовать файл. RNFR — что переименовывать, RNTO — во что.SIZE — Возвращает размер файлаSTOR — Закачать файл. Перед STOR должна быть команда PASV или PORT.SYST — Возвращает тип системы(UNIX, WIN, …)TYPE — Установить тип передачи файла(Бинарный, текстовый)USER — Имя пользователя для входа на сервер

В пассивном режиме первые три шага такие же, как и в активном.

Клиент с временного порта X посылает SYN запрос на 21 порт сервера

Сервер с 21 порта отвечает SYN ACK на временный порт 1024 клиента

Клиент подтверждает создание соединения отправкой ACK флага.

Клиент отправляет команду PASV, для перехода в пассивный режим.

Сервер подтверждает переход в пассивный режим, отправляет PASV ACK, свой IP адрес и временный порт Z, для передачи данных.

Клиент с порта Y отправляет SYN запрос на создание соединения на серверный порт Z, который был указан, вместе с подтверждением PASV ACK.

Сервер подтверждает создание соединения SYN ACK.

Клиент создает соединение и отправляет флаг ACK.

Передача команд для работы с FTP, таких как список каталогов, инициация передачи или приема данных и остальные. (ниже приведен список FTP команд).

Происходит передача данных.

Пассивный режим.Клиент FTP устанавливает два соединения с сервером FTP. Оба соединения используют кратковременные порты. Командное соединение устанавливается клиентом через свой кратковременный порт с портом 21 сервера FTP, после чего клиент отправляет команду PASV (пассивный режим) вместо обычной команды PORT при активном режиме. После этого сервер FTP открывает кратковременный порт N и отправляет клиенту команду PORT N, указывая номер порта, через который будут передаваться данные. Затем клиент устанавливает соединение с этим портом сервера через свой второй кратковременный порт для передачи данных. Это решение проблемы активного режима и защитной системы firewall


 


Поделиться:



Последнее изменение этой страницы: 2019-04-09; Просмотров: 268; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.011 с.)
Главная | Случайная страница | Обратная связь