Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Протокол передачи файлов 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; Нарушение авторского права страницы