USER имя пользователя |Указывает имя пользователя | ----------------------+-------------------------------------------------------+ PASS пароль |Указывает пароль пользователя | ----------------------+-------------------------------------------------------+ LIST список файлов |Запрос списка файлов | ----------------------+-------------------------------------------------------+ PORT n1,n2,n3,n4,n5,n6|Указание IP и порта для соединения данных(4,2) | ----------------------+-------------------------------------------------------+ RETR имя файла |Получить файл с сервера | ----------------------+-------------------------------------------------------+ STOR имя файла |Положить файл на сервер | ----------------------+-------------------------------------------------------+ TYPE тип |Тип передаваемых данных | ----------------------+-------------------------------------------------------+ QUIT |Отключение от сервера | ----------------------+-------------------------------------------------------+ ABOR |Отмена предыдущее команды. Прекращение передачи данных.| ----------------------+-------------------------------------------------------+ NOOP |Ничего не делает. Нужна для поддержки соединения или | |отладки | ----------------------+-------------------------------------------------------+ SIZE имя файла#есть не|Спрашиваем размер файла | везде,но вещь полезная| | ----------------------+-------------------------------------------------------+ #Ответы: первая цифра - как выполнилась (или не выполнилась) команда. ---+--------------------------------------------------------------------------+ 1хх|Команда находится в процессе выполнения, необходимо дождаться еще одного | |сообщения перед тем, как давать следующую команду. | ---+--------------------------------------------------------------------------+ 2хх|Команда выполнена. Сервер находится в ожидании следующей. | ---+--------------------------------------------------------------------------+ 3хх|Команда выполнена, но для продолжения необходима еще одна команда | ---+--------------------------------------------------------------------------+ 4хх|Команда не была выполнена, необходимо подождать и повторить команду | ---+--------------------------------------------------------------------------+ 5хх|Команда не была выполнена и не будет выполнена при повторе. | ---+--------------------------------------------------------------------------+ вторая цифра указывает на причину, приведшую к первой цифре: ---+--------------------------------------------------------------------------+ x0x|Ошибка синтаксиса. | ---+--------------------------------------------------------------------------+ x1x|Информация. | ---+--------------------------------------------------------------------------+ x2x|Отклик относится к состоянию управляющего или соединению данных. | ---+--------------------------------------------------------------------------+ x3x|Отклик относится к аутентификации пользователя или состоянию бюджета. | ---+--------------------------------------------------------------------------+ x4x|Не определенно. | ---+--------------------------------------------------------------------------+ x5x|Отклик относится к состоянию файловой системы. | ---+--------------------------------------------------------------------------+ третья цифра - дополнительная информация. #пример FTP сеанса в пассивном режиме: #устанавливаю соеиднение с cs.usu.edu.ru на 21 порт #FE: в telnet "open cs.usu.edu.ru 21" 220 babbage Microsoft FTP Service (Version 5.0).\r\n USER helios\r\n 331 Password required for helios.\r\n PASS qwerty-123\r\n 230-Hi, doc!\r\n 230 User helios logged in.\r\n opts utf8 on\r\n 500 'OPTS utf8 on': command not understood\r\n PWD\r\n 257 "/helios" is current directory.\r\n TYPE A\r\n 200 Type set to A.\r\n #прошу пассивный режим соединения(мне скажут куда коннектиться) PASV\r\n 227 Entering Passive Mode (194,226,235,251,9,114).\r\n LIST\r\n 125 Data connection already open; Transfer starting.\r\n #слушаю сокет(ип, порт), который мне указали 226 Transfer complete.\r\n CWD /helios/\r\n 250 CWD command successful.\r\n noop\r\n 200 NOOP command successful.\r\n TYPE I\r\n 200 Type set to I.\r\n PASV\r\n 227 Entering Passive Mode (194,226,235,251,9,116).\r\n #кидаю на указанный сокет файл "my.htm" STOR my.htm\r\n 125 Data connection already open; Transfer starting.\r\n 226 Transfer complete.\r\n CWD /helios/\r\n 250 CWD command successful.\r\n TYPE I\r\n 200 Type set to I.\r\n PASV\r\n 227 Entering Passive Mode (194,226,235,251,9,117).\r\n SIZE my.htm\r\n 213 4933\r\n #смотрю размер файла, слушаю сокет RETR my.htm\r\n 125 Data connection already open; Transfer starting.\r\n 226 Transfer complete.\r\n CWD /helios/\r\n 250 CWD command successful.\r\n DELE my.htm\r\n 250 DELE command successful.\r\n QUIT\r\n 221 Bye, doc.\r\n