FTP server return codes always have three digits, and each digit has a special meaning.[1] The first digit denotes whether the response is good, bad or incomplete:
1xx
The requested action is being initiated; expect another reply before proceeding with a new command. (The user-process sending another command before the completion reply would be in violation of protocol; but server-FTP processes should queue any commands that arrive while a preceding command is in progress.) This type of reply can be used to indicate that the command was accepted and the user-process may now pay attention to the data connections, for implementations where simultaneous monitoring is difficult. The server-FTP process may send at most, one 1xx reply per command.
2xx
The requested action has been successfully completed. A new request may be initiated.
3xx
The command has been accepted, but the requested action is being held in abeyance, pending receipt of further information. The user should send another command specifying this information. This reply is used in command sequence groups.
4xx
The command was not accepted and the requested action did not take place, but the error condition is temporary and the action may be requested again. The user should return to the beginning of the command sequence, if any. It is difficult to assign a meaning to «transient», particularly when two distinct sites (Server- and User-processes) have to agree on the interpretation. Each reply in the 4xx category might have a slightly different time value, but the intent is that the user-process is encouraged to try again. A rule of thumb in determining if a reply fits into the 4xx or the 5xx (Permanent Negative) category is that replies are 4xx if the commands can be repeated without any change in command form or in properties of the User or Server (e.g., the command is spelled the same with the same arguments used; the user does not change his file access or user name; the server does not put up a new implementation.)
5xx
The command was not accepted and the requested action did not take place. The User-process is discouraged from repeating the exact request (in the same sequence). Even some «permanent» error conditions can be corrected, so the human user may want to direct his User-process to reinitiate the command sequence by direct action at some point in the future (e.g., after the spelling has been changed, or the user has altered his directory status.)
6xx
RFC 2228 introduced the concept of protected replies to increase security over FTP communications. The 6xx replies are Base64 encoded protected messages that serves as responses to secure commands. When properly decoded, these replies fall into the above categories.
Below is a list of all known return codes that may be issued by an FTP server.
100 Series
110
MARK yyyy = mmmm
where yyyy is User-process data stream marker, and mmmm server’s equivalent marker (note the spaces between markers and «=»).
120
125
150
200 Series
202
211
212
213
214
215
220
221
225
226
227
228
229
230
232
234
235
250
257
300 Series
331
332
334
335
336
350
400 Series
421
425
426
430
431
434
450
451
452
500 Series
501
502
503
504
530
532
533
534
535
536
537
550
551
552
553
600 Series
631
632
633
10000 Series
10054
10060
10061
10065
10066
10068
Ответ FTP сервера на любую команду FTP сервера состоит из трех цифр. Рассмотрим значение каждой цифры в каждой позиции.
Первая позиция
- Единица означает, что команда принята к выполнению но ещё не завершена;
- Двойка означает, что выполнение команды успешно завершено;
- Тройка говорит о том, что команда принята и ожидается какая-либо дополнительная команда;
- Четверка говорит о том, что в данный момент команда выполнена быть не может;
- Пятерка означает принципиальную невозможность выполнения команды.
Вторая позиция
- Ноль соответствует синтаксической ошибке;
- Единица соответствует информационному сообщению;
- Двойка говорит о том, что сообщение относится либо к управляющему соединению, либо к соединению данных;
- Тройка соответствует сообщениям об аутентификации пользователя и его правах;
- Значение четверки не определено;
- Пятерка соответствует сообщению о состоянии файловой системы.
Третья позиция
- Третья цифра окончательно специфицирует ошибку.
Полный список кодов ответов FTP сервера
Код | Описание |
---|---|
100 | Запрошенное действие инициировано, дождитесь следующего ответа прежде, чем выполнять новую команду. |
110 | Комментарий |
120 | Функция будет реализована через nnn минут |
125 | Канал открыт, обмен данными начат |
150 | Статус файла правилен, подготавливается открытие канала |
200 | Команда корректна |
202 | Команда не поддерживается |
211 | Системный статус или отклик на справочный запрос |
212 | Состояние каталога |
213 | Состояние файла |
214 | Справочное поясняющее сообщение |
215 | Выводится вместе с информацией о системе по команде SYST |
220 | Слишком много подключений к FTP-серверу (можете попробовать позднее). В некоторых версиях указывает на успешное завершение промежуточной процедуры |
221 | Благополучное завершение по команде quit |
225 | Канал сформирован, но информационный обмен отсутствует |
226 | Закрытие канала, обмен завершен успешно |
227 | Переход в пассивный режим (h1,h2,h3,h4,p1,p2). |
228 | переход в длинный пассивный режим (длинный адрес, порт). |
229 | Переход в расширенный пассивный режим (|||port|). |
230 | Пользователь идентифицирован, продолжайте |
231 | Пользовательский сеанс окончен; Обслуживание прекращено. |
232 | Команда о завершении сеанса принята, она будет завершена по завершении передачи файла. |
250 | Запрос прошёл успешно |
257 | «ПУТЬ» создан. |
331 | Имя пользователя корректно, нужен пароль |
332 | Для входа в систему необходима аутентификация |
350 | Запрошенное действие над файлом требует большей информации |
404 | Данный удалённый сервер не найден |
421 | Процедура не возможна, канал закрывается |
425 | Открытие информационного канала не возможно |
426 | Канал закрыт, обмен прерван |
434 | Запрашиваемый хост недоступен |
450 | Запрошенная функция не реализована, файл не доступен, например, занят |
451 | Локальная ошибка, операция прервана |
452 | Ошибка при записи файла (недостаточно места) |
500 | Синтаксическая ошибка, команда не может быть интерпретирована (возможно она слишком длинна) |
501 | Синтаксическая ошибка (неверный параметр или аргумент) |
502 | Команда не используется (нелегальный тип MODE) |
503 | Неудачная последовательность команд |
504 | Команда не применима для такого параметра |
530 | Вход не выполнен! Требуется авторизация (not logged in) |
532 | Необходима аутентификация для запоминания файла |
550 | Запрошенная функция не реализована, файл не доступен, например, не найден |
551 | Запрошенная операция прервана. Неизвестный тип страницы. |
552 | Запрошенная операция прервана. Выделено недостаточно памяти |
553 | Запрошенная операция не принята. Недопустимое имя файла. |
Опубликовал(а):
в: 08.11.2010
Всем нам известно что такое FTP (англ. File Transfer Protocol — протокол передачи файлов). Иногда в процессе эксплуатации или настройки нужного нам сервиса возникают ошибки которые описаны кодами ошибок FTP.
При FTP операциях некоторые клиенты не только пишут коды сообщений, но и расшифровавают их. Но не всегда. Например, при установке соединения, мы получили от FTP клиента код ошибки 434, и что это значит?
Попробуем разобраться разбив код ошибки на цифры (каждая позиция отвечает за свой набор значений):
Первая позиция
- 1 это — команда принята к выполнению но все еще не завершена
- 2 это — команда завершена успешно
- 3 это — команда принята, но ожидается дополнительная команда
- 4 это — в данный момент команда не может быть выполнена
- 5 это — невозможно выполнить команду в принципе
Вторая позиция
- 0 это — синтаксическая ошибка в команде
- 1 это — информационное сообщение
- 2 это — означает что сообщение относится к управляющему соединению либо соединению данных
- 3 это — сообщение о аутентификации пользователя и его правах
- 4 — не определено
- 5 — состояние файловой системы
Третья позиция
- Третья цифра окончательно специфицирует ошибку.
Код | Описание |
100 | Запрошенное действие инициировано, дождитесь следующего ответа прежде, чем выполнять новую команду. |
110 | Комментарий |
120 | Функция будет реализована через nnn минут |
125 | Канал открыт, обмен данными начат |
150 | Статус файла правилен, подготавливается открытие канала |
200 | Команда корректна |
202 | Команда не поддерживается |
211 | Системный статус или отклик на справочный запрос |
212 | Состояние каталога |
213 | Состояние файла |
214 | Справочное поясняющее сообщение |
215 | Выводится вместе с информацией о системе по команде SYST |
220 | Слишком много подключений к FTP-серверу (можете попробовать позднее). В некоторых версиях указывает на успешное завершение промежуточной процедуры |
221 | Благополучное завершение по команде quit |
225 | Канал сформирован, но информационный обмен отсутствует |
226 | Закрытие канала, обмен завершен успешно |
227 | Переход в пассивный режим (h1,h2,h3,h4,p1,p2). |
228 | переход в длинный пассивный режим (длинный адрес, порт). |
229 | Переход в расширенный пассивный режим (|||port|). |
230 | Пользователь идентифицирован, продолжайте |
231 | Пользовательский сеанс окончен; Обслуживание прекращено. |
232 | Команда о завершении сеанса принята, она будет завершена по завершении передачи файла. |
250 | Запрос прошёл успешно |
257 | «ПУТЬ» создан. |
331 | Имя пользователя корректно, нужен пароль |
332 | Для входа в систему необходима аутентификация |
350 | Запрошенное действие над файлом требует большей информации |
404 | Данный удалённый сервер не найден |
421 | Процедура не возможна, канал закрывается |
425 | Открытие информационного канала не возможно |
426 | Канал закрыт, обмен прерван |
434 | Запрашиваемый хост недоступен |
450 | Запрошенная функция не реализована, файл не доступен, например, занят |
451 | Локальная ошибка, операция прервана |
452 | Ошибка при записи файла (недостаточно места) |
500 | Синтаксическая ошибка, команда не может быть интерпретирована (возможно она слишком длинна) |
501 | Синтаксическая ошибка (неверный параметр или аргумент) |
502 | Команда не используется (нелегальный тип MODE) |
503 | Неудачная последовательность команд |
504 | Команда не применима для такого параметра |
530 | Вход не выполнен! Требуется авторизация (not logged in) |
532 | Необходима аутентификация для запоминания файла |
550 | Запрошенная функция не реализована, файл не доступен, например, не найден |
551 | Запрошенная операция прервана. Неизвестный тип страницы. |
552 | Запрошенная операция прервана. Выделено недостаточно памяти |
553 | Запрошенная операция не принята. Недопустимое имя файла. |
Вот и все, надеюсь этот материал поможет Вам лучше понимать FTP :))
THE INFORMATION IN THIS ARTICLE APPLIES TO:
- EFT Server all versions
- CuteFTP® all versions
DISCUSSION
During FTP sessions, servers send and receive various numbered codes to/from FTP clients. Some codes represent errors, most others simply communicate the status of the connection. Below are brief explanations for the most common status and error codes.
When determining a course of action, review the entire log; some codes are informational only, others indicate that you have entered the wrong information, and others indicate what the information is that you need to provide before continuing.
For troubleshooting CuteFTP connection problems, also refer to Troubleshooting CuteFTP Connection Problems.
The table below is provided so that you have some idea whether you can solve the issue on your own (e.g., code 331=you need to provide a password) or you need to call your ISP for assistance (e.g., code 426=you are unable to connect to the remote server). These codes are used by most FTP servers/clients.
NOTE: The information below is only offered as a courtesy to assist you in telling your Internet Service Provider what the error is so that they can help solve your issue. For example, if you get a code 426, the transfer was aborted and the connection closed. The solution to this error is to «try logging back in; contact your hosting provider to check if you need to increase your hosting account; try disabling the firewall on your PC to see if that solves the problem. If not, contact your hosting provider or ISP.»
The list below contains standard FTP codes. Numbers outside this list are proprietary to the Server or Client that you are using.
Click the code number in the left-most column of the table, if it’s linked (blue), to read a more-specific reason for the code.
Code | Description | Discussion |
100 Series | The requested action was initiated; expect another reply before proceeding with a new command. | |
110 | Restart marker reply. |
The text is exact and not left to the particular implementation; it must read «MARK yyyy = mmmm» where yyyy is User-process data stream marker, and mmmm server’s equivalent marker (note the spaces between markers and «=»). |
120 | Service ready in nn minutes. | (Informational) |
125 | Data Connection already open; transfer starting. | (Informational) |
150 | File status okay; about to open data connection. | FTP uses two ports: 21 for sending commands, and 20 for sending data. A status code of 150 indicates that the server is about to open a new connection on port 20 to send some data. |
200 Series |
The requested action has been successfully completed. |
|
200 | Command okay. | (Informational) |
202 | Command not implemented, superfluous at this site. | (Informational) |
211 | System status, or system help reply. | (Informational) |
212 | Directory status. | (Informational) |
213 | File status. | (Informational) |
214 | Help message. | (Informational) |
215 | NAME system type. | Where NAME is an official system name from the list in the Assigned Numbers document. |
220 | Service ready for new user. | (Informational) |
221 | Service closing control connection. | Logged out if appropriate. |
225 | Data connection open; no transfer in progress. | (Informational) |
226 | Closing data connection. | Requested file action successful (for example; file transfer or file abort). The command opens a data connection on port 20 to perform an action, such as transferring a file. This action successfully completes, and the data connection is closed. |
227 | Entering Passive Mode. | (h1,h2,h3,h4,p1,p2) |
230 | User logged in, proceed. This status code appears after the client sends the correct password. It indicates that the user has successfully logged on. | (Informational) |
250 | Requested file action okay, completed. | (Informational) |
257 | «PATHNAME» created. | (Informational) |
300 Series | The command has been accepted, but the requested action is on hold, pending receipt of further information. | |
331 | User name okay, need password. | You see this status code after the client sends a user name, regardless of whether the user name that is provided is a valid account on the system. |
332 | Need account for login. | Provide login credentials |
350 | Requested file action pending further information. | (Informational) |
400 Series | The command was not accepted and the requested action did not take place, but the error condition is temporary and the action may be requested again. | |
421 |
Error 421 Service not available, closing control connection. Error 421 User limit reached Error 421 You are not authorized to make the connection Error 421 Max connections reached Error 421 Max connections exceeded |
This can be a reply to any command if the service knows it must shut down. Try logging in later. |
425 | Cannot open data connection. | Change from PASV to PORT mode, check your firewall settings, or try to connect via HTTP. |
426 | Connection closed; transfer aborted. |
The command opens a data connection to perform an action, but that action is canceled, and the data connection is closed. Try logging back in; contact your hosting provider to check if you need to increase your hosting account; try disabling the firewall on your PC to see if that solves the problem. If not, contact your hosting provider or ISP. |
450 | Requested file action not taken. | File unavailable (e.g., file busy). Try again later. |
451 | Requested action aborted: local error in processing. | Ensure command and parameters were typed correctly. |
452 | Requested action not taken. Insufficient storage space in system. | Ask FTP administrator to increase allotted storage space, or archive/delete remote files. |
500 Series |
The command was not accepted and the requested action did not take place. |
|
500 | Syntax error, command unrecognized, command line too long. | Try switching to passive mode. |
501 | Syntax error in parameters or arguments. | Verify your input; e.g., make sure there are no erroneous characters, spaces, etc. |
502 | Command not implemented. | The server does not support this command. |
503 | Bad sequence of commands. | Verify command sequence. |
504 | Command not implemented for that parameter. | Ensure entered parameters are correct. |
530 | User not logged in. | Ensure that you typed the correct user name and password combination. Some servers use this code instead of 421 when the user limit is reached |
532 | Need account for storing files. | Logged in user does not have permission to store files on remote server. |
550 | Requested action not taken. File unavailable, not found, not accessible | Verify that you are attempting to connect to the correct server/location. The administrator of the remote server must provide you with permission to connect via FTP. |
552 | Requested file action aborted. | Possible causes: Client aborted the action; EFT Site not running; storage allocation exceeded. |
553 | Requested action not taken. File name not allowed. | Change the file name or delete spaces/special characters in the file name. |
10,000 series | Common Winsock Error Codes (complete list of Winsock error codes) | |
10054 | Connection reset by peer. The connection was forcibly closed by the remote host. | (Informational) |
10060 | Cannot connect to remote server. | Generally a time-out error. Try switching from PASV to PORT mode, or try increasing the time-out value. |
10061 | Cannot connect to remote server. The connection is actively refused by the server. | Try switching the connection port. |
10066 | Directory not empty. |
The server will not delete this directory while there are files/folders in it. If you want to remove the directory, first archive or delete the files in it. |
10068 | Too many users, server is full. | Try logging in at another time. |
Share Article
On a scale of 1-5, please rate the helpfulness of this article
Optionally provide additional feedback to help us improve this article…
Thank you for your feedback!
Last Modified: 2 Months Ago
Last Modified By: kmarsh
Type: ERRMSG
Rated 2 stars based on 1201 votes.
Article has been viewed 899K times.
FTP server response codes are helpful for system administrators in charge of their company’s FTP server. Oftentimes, users might see these response codes listed in their favorite FTP client, such as FileZilla.
When troubleshooting a file transfer problem, it’s often helpful to identify the FTP response code that is being thrown around. It’s also important to ask what time of connection they’re using (ie FTP, SFTP or FTPS).
This guide will help you understand each element of the FTP server response code so you can get a better feel of what’s happening. It will also give you a full listing of each error code.
Shortcuts
1st Digit in the FTP Server Code 2nd Digit in the FTP Server Code 3rd Digit in the FTP Server Code Complete FTP Server Code Listing
FTP Server Response Codes: The First Digit
The first digit in the FTP server code lets you know whether or not the that step was successful. They also tell you what you should expect next. For instance, a 100 level code tells you that the process has started and to expect another code shortly.
Range | Purpose |
---|---|
1xx |
Positive Preliminary ReplyThe request is being initiated and you should expect another reply before proceeding with a new command. If a user sends another command before the reply completion the server-FTP process should queue the commands while this is in progress. This type of reply can indicate that the command was accepted and the user-process may now pay attention to the data connections, for implementations where simultaneous monitoring is difficult. The server-FTP process may send, at most, one 1xx reply per command. |
2xx |
Positive Completion ReplyThe request was successful. A new request may now be sent. |
3xx |
Positive Intermediate ReplyThe command was accepted but the request is being held in abeyance, pending the receipt of more information. The user should send another command with this information. This reply is used in command sequence groups. |
4xx |
Transient Negative Completion ReplyThe command wasn’t accepted and the request didn’t occur, but the error condition is temporary and the action may be resent. The user should return to the beginning of the command sequence, if any. A rule of thumb in determining if this reply belongs to the 4xx (Temporary Negative) or the 5xx (Permanent Negative) category is that replies are 4xx if the commands can be repeated without any change in command form or in properties of the User or Server. |
5xx |
Permanent Negative Completion ReplyThe command wasn’t accepted and the requested action didn’t occur. The User-process shouldn’t repeat the exact same request (in the same sequence). Some “permanent” error conditions can be fixed, so the human user may want to direct his User-process to reinitiate the command sequence by direct action (e.g., the user has changed his directory status.) |
6xx |
Protected ReplyThe RFC 2228 introduced the concept of protected replies to increase security over the FTP communications. The 6xx replies are Base64 encoded protected messages that serves as responses to secure commands. When decoded, these replies fall into the above categories. |
FTP Response Codes: The Second Digit
The second digit in the FTP server code lets you know what group or category the request belongs too. For instance, it tells you if it’s regarding connections or if it’s regarding authentication.
Range | Purpose |
---|---|
x0x |
SyntaxThese replies refer to syntax errors, syntactically correct commands that don’t fit any functional category, unimplemented or superfluous commands. |
x1x |
InformationReplies to requests for information, like help or support. |
x2x |
ConnectionsReplies regarding the control and data connections. |
x3x |
Authentication and accountingReplies for the login process and accounting procedures. |
x4x |
Unspecified as of RFC 959. |
x5x |
File systemIndicates the status of the Server file system vis-a-vis the requested transfer or other file system action. |
FTP Server Codes: The Third Digit
The third digit in the FTP serve code gives further explanation on what exactly is causing this code. Usually it’s the final piece of the puzzle.
Looking For a User-Friendly FTP Alternative?
Get our guide to a more secure and easier-to-use FTP replacement:
Get the Guide
FTP Server Codes: List of Error Codes
Here is a full list of known FTP server error codes:
Code | Explanation |
---|---|
100 Series |
The request has started, expect another reply before proceeding with a new command. |
110 |
Restart marker replay. In this case, the text is exact and not left to the particular implementation; it must read: MARK yyyy = mmmm where yyyy is User-process data stream marker, and mmmm server’s equivalent marker (note the spaces between markers and “=”). |
120 |
Service ready in xx minutes. |
125 |
Data connection is already open and the transfer is starting. |
150 |
File status is okay and about to open data connection. |
200 Series |
The request was successfully completed. |
202 |
Command was not implemented, superfluous at this site. |
211 |
System status, or system help reply. |
212 |
Directory status. |
213 |
File status. |
214 |
Help message. On how to use the server or the meaning of a particular non-standard command. |
215 |
NAME system type. Where NAME is an official system name from the registry kept by IANA. |
220 |
Service is ready for new user. |
221 |
Service closing control connection. |
225 |
Data connection is open and no transfer is in progress. |
226 |
Closing the data connection. Requested file action successful (for example, file transfer or file abort). |
227 |
Entering Passive Mode (h1, h2, h3, h4, p1, p2). |
228 |
Entering Long Passive Mode (long address, port). |
229 |
Entering Extended Passive Mode (|||port|). |
230 |
User has logged in, proceed. Logged out if appropriate. |
231 |
User has logged out and the service is terminated. |
232 |
Logout command noted, will complete when the transfer done. |
234 |
Specifies that the server accepts the authentication mechanism specified by the client, and the exchange of security data is complete. A higher level nonstandard code created by Microsoft. |
250 |
Requested file action okay and completed. |
257 |
“PATHNAME” created. |
300 Series |
The command was accepted, but the request is on hold, pending receipt of further information. |
331 |
User name okay, need password. |
332 |
Need account for login. |
350 |
Requested file action pending further information |
400 Series |
The command wasn’t accepted and the requested action didn’t occur, but the error condition is temporary and the action may be requested again. |
421 |
Service not available, closing control connection. This may be a reply to any command if the service knows it must shut down. |
425 |
Can’t open data connection. |
426 |
Connection closed; transfer aborted. |
430 |
Invalid username or password. |
434 |
Requested host unavailable. |
450 |
Requested file action not taken. |
451 |
Requested action aborted. Local error in processing. |
452 |
Requested action not taken. Insufficient storage space in system.File unavailable (e.g., file busy). |
500 Series |
Syntax error, command unrecognized and the request did not take place. This may include errors such as command line too long. |
501 |
Syntax error in parameters or arguments. |
502 |
Command not implemented. |
503 |
Bad sequence of commands. |
504 |
Command not implemented for that parameter. |
530 |
Not logged in. |
532 |
Need account for storing files. |
550 |
Request not taken. File unavailable (e.g., file not found, no access). |
551 |
Request aborted. Page type unknown. |
552 |
Requested file action aborted. Exceeded storage allocation (for current directory or dataset). |
553 |
Requested action not taken. File name not allowed. |
600 Series |
Replies regarding confidentiality and integrity |
631 |
Integrity protected reply. |
632 |
Confidentiality and integrity protected reply. |
633 |
Confidentiality protected reply. |
10000 Series |
Common Winsock Error Codes |
10054 |
Connection reset by peer. The connection was forcibly closed by the remote host. |
10060 |
Cannot connect to remote server. |
10061 |
Cannot connect to remote server. The connection is actively refused by the server. |
10066 |
Directory not empty. |
10068 |
Too many users, server is full. |
Looking for an FTP Alternative? Get Our Full Guide!
Learn the 5 Ways FTP Fails You (Security, Scripting, etc…)
Identify Things to Look for in an FTP Alternative (Accessibility, Scalability, etc…)
Discover Available Alternatives that Make Your Job Easier
Sources: SmartFile’s I.T. Personnel, Wikipedia