Как работает протокол ftp

Служба FTP предназначена для обмена файлами и построена по технологии "клиент-сервер".
Взаимодействие клиента и сервера осуществляется по протоколу FTP (File Transfer Protocol – протокол передачи файлов).
Клиент посылает запросы серверу, принимает и передает файлы.
Сервер обрабатывает запросы клиента, передает и принимает файлы.

Рис. 1.1. Взаимодействие клиента и сервера по протоколу FTP

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

FTP-серверы, как правило, доступны только для зарегистрированных пользователей и требуют при подключении
ввода идентификатора (login – входное имя) и пароля (password).

Многие FTP-серверы открыты и для свободного доступа, их часто называют анонимными.
Для таких серверов login (входное имя) – anonymous, а в качестве пароля (password) рекомендуют ввести адрес своей электронной почты.

Большинство Web-браузеров обеспечивают доступ к FTP-серверам без использования специальных FTP-клиентов.
Например, URL-адрес:

означает “связаться с FTP-сервером с правами для анонимных пользователей, перейти в каталог pub, далее в каталог win, каталог internet, каталог ftp и взять файл dl.zip”.

Сеанс работы с FTP-сервером можно провести в режиме командной строки. Для этого необходимо ввести команду ftp и после пробела ввести IP-адрес или DNS-адрес FTP-сервера. Если регистрация прошла успешно и связь установлена, то с помощью команд FTP можно выполнить все действия по работе с файлами.

Протокол FTP

Протокол FTP (File Transfer Protocol – протокол передачи файлов) используется службой FTP для передачи файлов, непосредственно взаимодействует с протоколом транспортного уровня TCP.

Первый стандарт – RFC-114 (File Transfer Protocol A.K. Bhushan Apr-10-1971).

Последняя версия – RFC-959 (File Transfer Protocol J. Postel, J.K. Reynolds Oct-01-1985).

FTP отличается от других приложений тем, что он использует два TCP соединения для передачи файла:

    Управляющее соединение – соединение для посылки команд серверу и получения ответов от него.

Для организации такого соединения используется протокол Telnet. Telnet-соединение устанавливается в один шаг – посылка запроса и ожидание ответа, получение которого свидетельствует о возможности передачи команд FTP.

Канал управления существует на протяжении всей FTP-сессии и закрывается после завершения информационного обмена.

Соединение данных – соединение для передачи файлов.

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

Канал данных формируется и ликвидируется по мере необходимости.

Протокол FTP предусматривает два возможных режима установления связи для обмена файлами:

  • активный режим;
  • пассивный режим.

Действия клиента и сервера:

  1. Клиент устанавливает связь и посылает с нестандартного порта N ( N>1024 ) запрос на 21 порт сервера;
  2. Сервер посылает ответ на порт N клиента;
  3. Сервер устанавливает связь для передачи данных по порту 20 на порт клиента N+1.

Активный режим выгоден для FTP-сервера, но вреден для клиента. Так как FTP сервер пытается соединиться со случайным высоким (по номеру) портом на клиенте, то такое соединение может быть блокировано брандмауэром на стороне клиента.

Действия клиента и сервера:

  1. Клиент устанавливает связь и посылает запрос (сообщает, что надо работать в пассивном режиме) на 21 порт сервера с нестандартного порта N ( N>1024 );
  2. Сервер назначает нестандартный порт P для канала данных ( P>1024 ) и посылает на порт N клиента ответ, в котором сообщает номер порта P;
  3. Клиент устанавливает связь для передачи данных по порту N+1 на порт сервера P.

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

Рис. 1.4. Схема соединения по протоколу FTP в активном режиме

Работа FTP на пользовательском уровне при передаче файлов содержит несколько этапов:

  1. Идентификация (ввод имени-идентификатора и пароля);
  2. Выбор каталога;
  3. Определение режима обмена:
    • передача файлов в текстовом виде;
    • передача файлов в бинарном виде;
    • Выполнение команд обмена;
    • Завершение работы.

    Протокол TFTP

    Иногда для передачи файлов используется упрощенный протокол TFTP (Trivial File Transfer Protocol – простейший протокол передачи файлов).
    Он работает поверх транспортного протокола UDP. Обмен осуществляется в стартстопном режиме (с подтверждением доставки каждого переданного информационного блока) пакетами стандартной длины (512 байт) с заголовком (4 байта). Контроль ошибок не выполняется. Пакет считается принятым, если на него получено подтверждение, в противном случае выполняется однократная повторная передача.

    Для начала обмена клиент случайным образом выбирает уникальный идентификатор TID (номер порта) и выдает на сервер запрос на чтение (RRQ) или запись (WRQ) файла. Запрос отправляется на UDP-порт 69 (порт инициализации). Сервер также случайным образом выбирают номер порта (уникальный идентификатор TID) и выдает клиенту подтверждение готовности (ACK). Затем начинается передача файла (команда DATA, блок данных, номер блока, …). Соединение закрывается после передачи пакета, имеющего длину менее 512 байт, и при получении пакета ERROR.

    Команды протокола TFTP:

    1. Read request (RRQ) – запрос на чтение файла;
    2. Write request (WRQ) – запрос на запись файла;
    3. Data (DATA) – пакет данных;
    4. Acknowledgment (ACK) – подтверждение;
    5. Error (ERROR) – ошибка.

    Обычно TFTP используется при загрузке ОС в бездисковые рабочие станции и для загрузки конфигурационных файлов в маршрутизатор.

    Отсутствие авторизации в TFTP может явиться одной из угроз безопасности.

    Microsoft Windows XP [Версия 5.1.2600]
    (С) Корпорация Майкрософт, 1985-2001.
    C:Documents and SettingsUser>tftp ?
    Обмен файлами с удаленным компьютером, на котором запущена служба TFTP.

    TFTP [-i] узел [GET | PUT] источник [адресат]

    -i Задание режима передачи файлов в двоичном формате.
    В этом режиме файл передается в неизменном виде по байтам.
    узел Указание локального или удаленного узла.
    GET Передача исходного файла с удаленного узла на локальный узел.
    PUT Передача исходного файла с локального узла на удаленный узел.
    источник Передаваемый файл.
    адресат Задание адресата, которому нужно передать файл.

    Читайте также  Замена крыла ваз 2107 видео

    FTPS (File Transfer Protocol + SSL) — это защищённый протокол передачи данных.

    В процессе передачи информации по протоколу FTPS используется криптографический протокол SSL (Secure Sockets Layer)

    Для чего же нужно шифрование?

    Используя протокол FTPS, вы сможете передавать или принимать данные через своего интернет провайдера в полной уверенности, что никто кроме вас не узнает, какие именно манипуляции вы производили со своими файлами.

    Существует два вида соединения FTPS

    • Explicit FTPS — порт 21. Команды FTP передаются без шифрования. Шифруются только данные.
    • Implicit FTPS — порт 990. Шифруются команды FTP и данные. (более старая версия протокола.)

    Рассмотрим подключение к вашей площадке с использованием FTPS на примерe программ:

    Настройка FTPS в программе Far Manager

    Для установки безопасного соединения с помощью программы Far Manager вам необходимо скачать и установить plugin Far Navigator.

    Для установки Far Navigator нужно сделать следующее:

    1. Закройте все копии менеджера FAR.
    2. Запустите Проводника Windows.
    3. Создайте подкаталог «ProxyFTP» в каталоге FARPlugin
    4. Скопируйте файлы из этого архива в созданный подкаталог.
    5. В файловой панели нажмите F11 и выберите «Far Навигатор».
    6. Нажмите SHIFT+F4 для создания нового подключения.

    В поле адреса сервера вводите: , где uXXXXX — имя вашей площадки.

    В поле Имя пользователя введите FTP-логин вашей площадки, в поле Пароль — пароль FTP-площадки.

    Для создания FTPS соединения нужно нажать на фразу «Параметры для FTP-соединения», в открывшемся окне отметить строку «Encrypt data transfers with TSL/SSL». После этого нажмите на слово «Сохранить» и можете соединяться со своей площадкой.

    Если у вас не установлены библиотеки SSL, тогда вам нужно их скачать и установить.

    В директории C:WINDOWSsystem должны находиться два файла: libssl32.dll и libeay32.dll.

    На этом настройка FTP клиента Far Manager завершена.

    Настройка FTPS в программе FileZilla.

    Для начала нужно скачать и установить FileZilla FTP клиент.

    После установки нужно добавить новый хост.

    В меню нажимаете «Файл» и выбираете стоку «Менеджер хостов».

    Даёте название новому хосту.

    В поле адреса вводите: где uXXXXX — имя вашей площадки.

    Порт — 21, Тип сервера — нужно выбрать FTPES, Тип входа — нужно выбрать «Нормальный».

    В поле Пользователь вводите FTP-логин вашей площадки, в поле Пароль пароль FTP-площадки.

    На закладке «Настройка передачи» нужно указать Режим передачи — «Активный».

    Настройка клиента FileZilla на этом завершена, нажимаем на кнопку «Соединиться». При установке соединения всплывет окно с предложением доверять сертификату, нужно нажать кнопку «OK».

    Теперь вы можете работать в защищённом режиме со своей площадкой используя протокол FTPS в защищённом режиме простым перетаскиванием файлов мышью между окнами.

    Настройка FTPS в программе SmartFTP

    Для начала нужно скачать и установить SmartFTP-клиент.

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

    В поле адреса вводите где uXXXXX имя вашей площадки.

    В поле Login вводите FTP-логин вашей площадки, в поле Password — пароль FTP-площадки.

    Для соединения с сервером можно нажать комбинацию клавиш CTRL+G или кликнуть левой кнопкой мыши на зелёную иконку.

    Если вы ввели все координаты правильно — произойдёт соединение с сервером, и вы увидите все домены, размещённые на площадке.

    Обратите внимание на стоки: «Session Clipher: 128 bit RC4» и «TLS encrypted session established». Это значит, что вы соединились с сервером и используете потоковое шифрование с длинной ключа равной 128 bit.

    Нажав на ссылку «Open a Local Browser» вы сможете открыть проводник и работать в защищённом режиме со своей площадкой используя протокол FTPS в защищённом режиме простым перетаскиванием файлов мышью между окнами.

    FTP (англ. File Transfer Protocol — протокол передачи файлов) — стандартный протокол, предназначенный для передачи файлов по TCP-сетям (например, Интернет). FTP часто используется для загрузки сетевых страниц и других документов с частного устройства разработки на открытые сервера хостинга.

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

    Достаточно яркая особенность протокола FTP в том, что он использует множественное (как минимум – двойное) подключение. При этом один канал является управляющим, через который поступают команды серверу и возвращаются его ответы (обычно через TCP-порт 21), а через остальные происходит собственно передача данных, по одному каналу на каждую передачу. Поэтому в рамках одной сессии по протоколу FTP можно передавать одновременно несколько файлов, причём в обоих направлениях. Для каждого канала данных открывается свой TCP порт, номер которого выбирается либо сервером, либо клиентом, в зависимости от режима передачи.[2]

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

    Начиная работу через протокол FTP, клиент входит в сессию, и все операции проводятся в рамках этой сессии (проще говоря, сервер помнит текущее состояние). Протокол HTTP ничего не "помнит" – его задача – отдать данные и забыть, поэтому запоминание состояния при использовании HTTP осуществляется внешними по отношению к протоколу методами.

    FTP работает на прикладном уровне модели OSI и используется для передачи файлов с помощью TCP/IP. Для этого должен быть запущен FTP-сервер, ожидающий входящих запросов. Компьютер-клиент может связаться с сервером по порту 21. Это соединение (поток управления) остаётся открытым на время сессии. Второе соединение (поток данных), может быть открыт как сервером из порта 20 к порту соответствующего клиента (активный режим), или же клиентом из любого порта к порту соответствующего сервера (пассивный режим), что необходимо для передачи файла данных. Поток управления используется для работы с сессией – например, обмен между клиентом и сервером командами и паролями с помощью telnet-подобного протокола. Например, "RETR имя файла" передаст указанный файл от сервера клиенту. Вследствие этой двухпортовой структуры, FTP считается внешнеполосным протоколом, в отличие от внутриполосного HTTP.

    Читайте также  Калина расход топлива на холостом ходу

    Соединение и передача данных

    Протокол определен в RFC 959. Сервер отвечает по потоку управления трехзначными ASCII-кодами состояния с необязательным текстовым сообщением. Например, "200" (или "200 ОК") означает, что последняя команда была успешно выполнена. Цифры представляют код ответа, а текст – разъяснение или запрос. Текущая передача по потоку данных может быть прервана с помощью прерывающего сообщения, посылаемого по потоку управления.

    FTP может работать в активном или пассивном режиме, от выбора которого зависит способ установки соединения. В активном режиме клиент создаёт управляющее TCP-соединение с сервером и отправляет серверу свой IP-адрес и произвольный номер клиентского порта, после чего ждёт, пока сервер не запустит TCP-соединение с этим адресом и номером порта. В случае, если клиент находится за брандмауэром и не может принять входящее TCP-соединение, может быть использован пассивный режим. В этом режиме клиент использует поток управления, чтобы послать серверу команду PASV, и затем получает от сервера его IP-адрес и номер порта, которые затем используются клиентом для открытия потока данных с произвольного клиентского порта к полученному адресу и порту. Оба режима были обновлены в сентябре 1998 г. для поддержки IPv6. В это время были проведены дальнейшие изменения пассивного режима, обновившие его до расширенного пассивного режима.

    При передаче данных по сети могут быть использованы четыре представления данных:

    ASCII – используется для текста. Данные, если необходимо, до передачи конвертируются из символьного представления на хосте-отправителе в "восьмибитный ASCII", и (опять же, если необходимо) в символьное представление принимающего хоста. Как следствие, этот режим не подходит для файлов, содержащих не только обычный текст.

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

    EBCDIC – используется для передачи обычного текста между хостами в кодировке EBCDIC. В остальном, этот режим аналогичен ASCII-режиму.

    Локальный режим – позволяет двум компьютерам с идентичными установками посылать данные в собственном формате без конвертации в ASCII.

    Для текстовых файлов предоставлены различные форматы управления и настройки структуры записи. Эти особенности были разработаны для работы с файлами, содержащими Telnet или ASA-форматирование.

    Передача данных может осуществляться в любом из трёх режимов:

    Поточный режим – данные посылаются в виде непрерывного потока, освобождая FTP от выполнения какой бы то ни было обработки. Вместо этого, вся обработка выполняется TCP. Индикатор конца файла не нужен, за исключением разделения данных на записи.

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

    Режим сжатия – данные сжимаются единым алгоритмом (обыкновенно, кодированием длин серий).

    FTP-аутентификация использует обычную схему имя пользователя/пароль для предоставления доступа. Имя пользователя посылается серверу командой USER, а пароль – командой PASS. Если предоставленная клиентом информация принята сервером, то сервер отправит клиенту приглашение и начинается сессия. Пользователи могут, если сервер поддерживает эту особенность, войти в систему без предоставления учётных данных, но сервер может предоставить только ограниченный доступ для таких сессий.

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

    Специально для работы FTP-протокола через межсетевые экраны было сделано расширение NAT, называемое NAT-PT (rfc2766), позволяющее транслировать входящие соединения от сервера к клиенту через NAT. В процессе такого соединения NAT подменяет передаваемые данные от клиента, указывая серверу истинный адрес и порт, с которым сможет соединиться сервер, а потом транслирует соединение от сервера от этого адреса клиенту на его адрес. Несмотря на все меры и нововведения, принятые для поддержки FTP-протокола, на практике функция NAT-PT обычно отключается во всех роутерах и маршрутизаторах с целью обеспечения дополнительной безопасности от вирусных угроз.

    NAT и обход брандмауэров

    FTP обычно передает данные при наличии соединения сервера с клиентом, после того как клиент отправил команду PORT. Это создает проблему как для NAT, так и для брандмауэров, которые не разрешают соединения из интернета к внутренним хостам. Для NAT дополнительной проблемой является то, что представление IP-адресов и номера порта в команде PORT относится к IP-адресу и порту внутреннего хоста, вместо публичного IP-адреса и NAT-порта. Существует два подхода к этой проблеме. Первый заключается в том, что FTP-клиент и FTP-сервер используют команду PASV, которая вызывает соединение для передачи данных, установленное от клиента к серверу. Второй подход – изменение для NAT значений команды PORT с помощью шлюза на прикладном уровне.

    Большая часть обычных веб-браузеров может извлекать файлы, расположенные на FTP-серверах, хотя они могут не поддерживать расширения протоколов вроде FTPS. Когда указан FTP-адрес, а не HTTP-адрес, доступный контент на удалённом сервере представляется аналогично остальному веб-контенту. Полностью функциональный FTP-клиент может быть запущен в Firefox как расширение FireFTP.

    FTP не разрабатывался как защищённый (особенно по нынешним меркам) протокол и имеет многочисленные уязвимости в защите. В мае 1999 авторы RFC 2577 свели уязвимости в следующий список проблем:

    Читайте также  16 Или 8 клапанный двигатель что лучше

    Скрытые атаки (bounce attacks)

    Спуф-атаки (spoof attacks)

    Атаки методом грубой силы (brute force attacks)

    Перехват пакетов, сниффинг (packet capture, sniffing)

    Защита имени пользователя

    Захват портов (port stealing)

    FTP не может зашифровать свой трафик, все передачи – открытый текст, поэтому имена пользователей, пароли, команды и данные могут быть прочитаны кем угодно, способным перехватить пакет по сети. Эта проблема характерна для многих спецификаций Интернет-протокола (в их числе SMTP, Telnet, POP, IMAP), разработанных до создания таких механизмов шифрования, как TLS и SSL. Обычное решение этой проблемы – использовать "безопасные", TLS-защищенные версии уязвимых протоколов (FTPS для FTP, TelnetS для Telnet и т.д.) или же другой, более защищённый протокол, вроде SFTP/SCP, предоставляемого с большинством реализаций протокола Secure Shell.

    Существует несколько методов безопасной передачи файлов, в одно или другое время называемых "Безопасным FTP": FTPS, SFPS, FTP через SSH.

    Явный FTPS – расширение стандарта FTP, позволяющее клиентам требовать того, чтобы FTP-сессия была зашифрована. Это реализуется отправкой команды "AUTH TLS". Сервер обладает возможностью позволить или отклонить соединения, которые не запрашивают TLS. Это расширение протокола определено в спецификации RFC 4217. Неявный FTPS – устаревший стандарт для FTP, требующий использования SSL- или TLS-соединения. Этот стандарт должен был использовать отличные от обычного FTP порты.

    SFTP, или «SSH File Transfer Protocol», не связан с FTP, за исключением того, что он тоже передаёт файлы и имеет аналогичный набор команд для пользователей. SFTP, или безопасный FTP, — это программа, использующая SSH (Secure Shell) для передачи файлов. В отличие от стандартного FTP он шифрует и команды, и данные, предохраняя пароли и конфиденциальную информацию от открытой передачи через сеть. По функциональности SFTP похож на FTP, но так как он использует другой протокол, клиенты стандартного FTP не могут связаться с SFTP-сервером и наоборот.

    FTP через SSH (не SFTP) относится к практике туннелирования обычной FTP-сессии через SSH-соединение. Поскольку FTP использует несколько TCP-соединений, туннелирование через SSH особенно затруднительно. Когда много SSH-клиентов пытаются установить туннель для канала управления (изначальное "клиент-сервер" соединение по порту 21), защищён будет только этот канал; при передаче данных программное обеспечение FTP на любом конце установит новые TCP-соединения (каналы данных), которые обойдут SSH-соединение и, таким образом, лишатся целостной защиты.

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

    FTP через SSH иногда относят к безопасным FTP; но не стоит путать его с другими методами, такими как SSL/TLS (FTPS). Другие методы передачи файлов с помощью SSH и не связанные с FTP – SFTP и SCP; в каждом из них и учётные и файловые данные всегда защищены протоколом SSH.

    FXP (англ. File eXchange Protocol — протокол обмена файлами) — способ передачи файлов между двумя FTP-серверами напрямую, не закачивая их на свой компьютер. При FXP-сессии клиент открывает два FTP-соединения к двум разным серверам, запрашивая файл на первом сервере, указывая в команде PORT IP-адрес второго сервера.

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

    FXP стал использоваться злоумышленниками для атак на другие серверы: в команде PORT указывается IP-адрес и порт атакуемого сервиса на компьютере жертвы, и командами RETR/STOR производится обращение на этот порт от лица FTP-сервера, а не атакующей машины, что позволяло устраивать масштабные DDoS-атаки с использованием сразу многих FTP-серверов, либо обходить систему безопасности компьютера жертвы, если он полагается только на проверку IP клиента и используемый для атаки FTP-сервер находится в доверенной сети или на шлюзе. В результате сейчас практически все серверы проверяют соответствие IP-адреса, указанного в команде PORT, IP-адресу FTP-клиента и по умолчанию запрещают использование там IP-адресов третьих сторон. Таким образом, использование FXP невозможно при работе с публичными FTP-серверами.

    ABOR — Прервать передачу файла

    CDUP — Сменить директорию на вышестоящую.

    CWD — Сменить директорию.

    DELE — Удалить файл (DELE filename).

    EPSV — Войти в расширенный пассивный режим. Применяется вместо PASV.

    HELP — Выводит список команд, принимаемых сервером.

    LIST — Возвращает список файлов директории. Список передаётся через соединение данных.

    MDTM — Возвращает время модификации файла.

    MKD — Создать директорию.

    NLST — Возвращает список файлов директории в более кратком формате, чем LIST. Список передаётся через соединение данных.

    NOOP — Пустая операция

    PASV — Войти в пассивный режим. Сервер вернёт адрес и порт, к которому нужно подключиться, чтобы забрать данные. Передача начнётся при введении следующих команд: RETR, LIST и т.д.

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

    PWD — Возвращает текущую директорию.

    REIN — Реинициализировать подключение

    RETR — Скачать файл. Перед RETR должна быть команда PASV или PORT.

    RMD — Удалить директорию

    RNFR и RNTO — Переименовать файл. RNFR — что переименовывать, RNTO — во что.

    SIZE — Возвращает размер файла

    STOR — Закачать файл. Перед STOR должна быть команда PASV или PORT.

    SYST — Возвращает тип системы (UNIX, WIN, …)

    TYPE — Установить тип передачи файла (бинарный, текстовый)

    USER — Имя пользователя для входа на сервер

    Источник: automotogid.ru

    Автоматика