Команды протокола FTP
7 июля 2011г.
Обзор команд протокола FTP.
Команды клиента FTP имеет следующую схему: КОМАНДА[пробел]<аргумент(ы)>CrLf. Команда представляет собой 3 или 4 заглавных символа в кодировке ASCII. Некоторые команды могут содержать аргументы. Они следуют сразу за командой через пробел. Любая строка, содержащая команды и аргументы, заканчивается символами CrLf (0Dh, 0Ah; дес. 13, 10).
Вот перечень основных команд клиента FTP:
Команда |
Аргументы |
Описание |
USER |
Имя пользователя |
Указывает серверу имя пользователя |
PASS |
Пароль |
Пароль пользователя |
PWD, XPWD |
(без аргументов) |
Получение текущей директории |
PORT |
IP-адрес и порт через запятые в виде:
a1,a2,a3,a4,p1,p2
где: a1,a2,a3,a4 – байты IP-адреса, начиная со старшего, а p1, p2 – байты порта, начиная со старшего.
|
Отправляет серверу адрес и номер порта, на котором клиент открыл соединение данных. |
RETR |
Имя файла |
Получить файл с сервера |
STOR |
Имя файла |
Отправить файл на сервер. |
SYST |
(без аргументов) |
Получить тип операционной системы
сервера. |
CDUP |
(без аргументов) |
Сменить директорию на родительскую. |
LIST |
(без аргументов) |
Получить список файлов текущей директории. |
CWD |
(без аргументов) |
Сменить директорию. |
QUIT |
(без аргументов) |
Отключение от сервера. |
При получении команды от клиента сервер по управляющему соединению высылает ответ, которых состоит из 3 цифр, необязательного пояснения и заканчивается вышеозначенными символами конца строки CrLf (0Dh, 0Ah; дес. 13, 10). Вот схема ответа сервера:
ХХХ[пробел]<необязательное текстовое пояснение ответа>CrLf
Первая цифра ответа сервера несет в себе информацию о результате выполнения команды клиента, она может принимать следующие значения:
1ХХ |
Команда находится в процессе выполнения, необходимо дождаться еще одного сообщения перед тем, как давать следующую команду. |
2ХХ |
Команда выполнена. Сервер ожидает следующую команду. |
3ХХ |
Команда выполнена, но для продолжения необходима еще одна команда. |
4ХХ |
Команда не была выполнена, необходимо подождать и повторить команду. |
5ХХ |
Команда не выполнена и не будет выполнена при повторе. |
Вторая цифра ответа поясняет результат выполнения команд, по ней можно судить, чем был вызван ответ сервера:
Х0Х |
Ошибка синтаксиса. |
Х1Х |
Информация. |
Х2Х |
Ответ относится к состоянию управляющего соединения или соединения данных. |
Х3Х |
Ответ относится к аутентификации пользователя или к состоянию бюджета. |
Х4Х |
Не определено. |
Х5Х |
Ответ связан с состоянием файловой системы. |
Третья цифра содержит дополнительную информацию.
Описание других команд, не рассмотренных в статье, можно найти в соответствующем RFC. Некоторые из них будут рассмотренны позже, во время разбора конкретных примеров клиент-серверного диалога FTP.
Читайте также:
Общее описание протокола FTP
FTP-протокол + WinSocks на примере простого FTP-клиента (зеркала)
Первоначальная спецификация FTP RFC 959
Автор: AT-Now (at-now@bk.ru)
Перепечатка или цитирование разрешены при условии сохранения ссылки на первоисточник: AT-Now, Обзор команд протокола FTP
|