Что такое FTPS: принцип работы и отличия от обычного FTP. Что такое FTP

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

Что такое FTP и для чего он нужен

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

Сервер — это ПК, на котором открыт порт для приема и отправки данных, и создан хост, а клиент — это программа на другом или том же компьютере, при помощи которой пользователь может заходить в файловую систему по FTP.

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

FTP сервера может сделать каждый — это вовсе несложная задача. Вы можете либо разместить сервер у себя на компьютере, либо есть специальная аренда удаленных ПК. Эта аренда нужна в том случае, если вы хотите, чтобы сервер всегда был онлайн и чтобы им можно было пользоваться с нескольких клиентов. Как правило, аренда бесплатной не бывает. Так что вам либо придется забивать стопку файлов на свой компьютер, либо платить деньги. Аренда стоит по-разному: от 50 до 5000 рублей в месяц и более. Аренда обойдется вам дороже, если файлов много, и нужно пропустить на сервер несколько десятков пользователей. Но если вы хотите создать сервер протокола FTP только, чтобы протестировать сайт не в онлайн, а через локальную сеть, то аренда вам не понадобится — все можно сделать у себя на компьютере.

Аренда FTP сервера понадобится вам только тогда, если хостом планируют пользоваться 10-20 клиентов и вы хотите разместить на удаленном компьютере файлов на 100-100 Гб. Учтите, что особенность FTP в том, что этот протокол не подходит для работы с большой аудиторией. То есть если хотите обслуживать сразу тысячу клиентов, то лучше создайте онлайн веб-сайт, который будет работать через протокол HTTP. А FTP нужен для четких целей. Например, для доступа к файловой системе сайта и для работы с большим количеством файлов.

Как можно создать сервер FTP

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

В операционных системах, похожих на Linux, создать сервер можно прямо из терминала. Это очень легко, и после первого раза вы быстро освоите этот навык. Для создания такого сервера в Linux и в подобных операционных системах используется сервис VSFTPD. Это тот же протокол FTP, только с некоторыми особенностями, которые в работе вам абсолютно не помешают. Для начала вам нужно будет зайти в командную строку и через консоль ввести команду для установки сервиса VSFTPD: sudo apt-get install vsftpd. После этого вы сможете управлять папками и правами на них через тот же консоль. Чтобы узнать дополнительные возможности, пропишите в терминале строку man 5 vsftpd.conf для вызова мануала.

Настройка сервера в операционной системе Linux и подобных OC при помощи сервиса VSFTPD проходит внутри файла vsftpd.conf. Он располагается в файловой системе компьютера в папке ETC. Найдите его и откройте при помощи текстового редактора. Внутри вы обнаружите множество строчек. Те, которые начинаются с решетки #, считаются закомментированными, потому не активны и на конфигурации сервера никак не влияют. Над каждой функциональный строкой есть пояснение на английском. Там вы найдете и строки для добавления анонимных пользователей, для изменения способа авторизации, корректировки уровня доступа для юзеров, создания бан-листа и др. Не забудьте прежде почитать мануал и определиться с тем, для каких целей вам нужен сервер.

В Windows и вовсе можно сгенерировать сервер и сделать его онлайн при помощи стандартных возможностей операционной системы. Такое возможно благодаря тому, что Windows размещает множество служб в ОС по умолчанию, но не всех их активирует. Так что вы сможете создать сервер полностью free, даже не придется заходить в браузер, чтобы через него что-либо скачивать.

Итак, чтобы у вас был сервер, у которого есть свой адрес, и на который пользователи могут заходить и через клиент, и через браузер, вам нужно активировать некоторые компоненты Windows. Эта опция находится в «Панели управления» внутри вкладки «Программы и компоненты». В левом боковом меню вы найдете пункт для включения различных компонентов. Вам нужно активировать службы IIS, в том числе ФТП сервер и другие компоненты внутри папки IIS. После того, как добавите компоненты, они активируются в разделе «Администрирование». Вам нужно найти «Диспетчер служб IIS» и запустить его. Внутри диспетчера вы сможете добавить новый FTP-сайт. У него будет свой адрес, по какому пользователи и смогут подключиться к вашему серверу.

Учтите, что вам нужно будет не только указать адрес, но и создать пользователей для сервера. По-другому они не смогут получить доступ к вашему удаленному ПК и к его файловой системе. Вам нужно создать сначала группу пользователей, потом отдельного пользователя, а уже затем назначить всей группе права для корневого каталога сервера. Затем, вбивая адрес, они смогут зайти к вам на сервер через браузер или клиент. Но может возникнуть еще одна проблема — они не смогут получить доступ, если у вас не настроен брандмауэр. Вам нужно активировать внешний и исходящий трафик для FTP, то есть включить такие правила внутри настроек брандмауэра.

Как создать сервер при помощи специальных программ

С другой стороны, вы можете не использовать стандартные возможности операционной системы, а получить сервер на компьютере, благодаря различным программам. Есть большое множество free ПО, которое отлично справляется с генерацией сервера. Некоторые из таких программ являются portable. Чтобы вы понимали, portable — это когда программу можно транспортировать на различные устройства. То есть программа portable устанавливается не на сам диск, а на удаленное устройство. Затем, вы можете вставить это съемное устройство на другой ПК и portable программа будет по-прежнему работать, хоть вы и не устанавливали ее на текущий компьютер.

Одна из лучших программ, поддерживающих portable, и которая относится к ценовой категории free — это FileZilla. Есть версия этой программы как для сервера, так и для клиента. Учтите, что как клиент portable, так и сервер FileZilla является portable. Так что вы сможете единожды установить программу на флешку, а затем путешествовать со своим сервером по разным ПК, благодаря возможности portable. Помимо опции portable, FileZilla славится большой скоростью работы, и простотой пользования (вы точно сумеете создать сервер и отыскать его адрес в этой программе).

Есть и другие portable программы для создания сервера. Список FTP серверов, а точнее ПО для их создания, можно пополнять бесконечно. Все зависит от ваших целей. Если хотите получить домашний сервер, то подойдет программа Home FTP Server. В адрес этого приложения написано много лестных отзывов, так как Home FTP Server прекрасно подходит для новичков. Вы быстро сможете получить свой домашний сервер, указать для него адрес и добавить новые аккаунты клиентов благодаря Home FTP server. И хоть Home FTP server работает на английском, но это никак не повлияет на понимание функций программы.

Чтобы создать в Home FTP server новых пользователей, жмите New account. Через Home FTP server вы сможете как добавить анонимных пользователей, так и обычных с обязательной авторизацией. Кроме того, в этой программе можно удобно настраивать права доступа для разных клиентов. Вы сможете следить за их активностью. И самое главное, что Home FTP server, как и FileZilla, работает посредством интерфейса, а не командной строки, что весьма удобно.

Как войти на сервер

Есть только один способ, как зайти на FTP сервер — это скачать какой-либо клиент или браузер и подключиться через него к серверу, введя необходимый адрес и данные для входа. Такое объяснение, скорее всего, покажется вам сложным, но на деле все очень просто. Главное — это чтобы вы знали адрес сервера. Узнать адрес можно либо от администратора сервера, либо в Интернете, если это какой-то публичный хост. И помните, что прежде чем подключиться к серверу, на нем обязательно должен быть создан ваш аккаунт.

Если вы и создаете, и управляете сервером через клиент при помощи одного компьютера, то лучше используйте в работе FileZilla. Эта программа, как уже говорилось, есть и в виде сервера, и в виде клиента. А если хотите, то можете установить другую — Total Commander, но учитывайте, что Тотал платный, и придется искать в Интернете бесплатную или демо-версию этой программы.

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

Зачем нужен FTP

С его помощью можно копировать файлы с компьютера на сервер и с сервера на компьютер. Одно из преимуществ использования FTP - это одновременная загрузка множества документов. Некоторые программы дают возможность редактировать файлы прямо на хостинге. Стандартное окно клиента поделено на две части:

  • в первом отображается все, что загружено на сервер;
  • во втором - все, что находится на компьютере.

Кроме этих, используются вспомагательные окна. Пользователь выделяет документ, который хочет поместить на хостинг, и переносит его. Перед этим он должен обязательно авторизоваться. Данные указываются в формате: @название ресурса.доменное имя.

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


Уязвимости

FTP - это очень старый протокол. Он появился намного раньше HTTP и не разрабатывался как защищенный. Поэтому у него много проблем с защитой. Вот самые основные:

  • спуф-атаки;
  • перехват пользовательских данных;
  • сниффинг;
  • захват портов.

При передаче через FTP файлы не шифруются. Соответственно, все команды, имена пользователей и пароли могут быть перехвачены злоумышленниками. Для этого используются безопасные версии, например для FTP - это FTPS.

Безопасная передача данных

Существуют следующие методы отсылки данных, защищенные от хакерских атак: FTPS, SFTP, а также передача FTP через SSH. С FTPS можно защитить сессию. FTP-server получает команду AUTH TLS, после чего отклоняет соединения, которые не зашифрованы.


У SFTP похожий список команд, как у FTP. Здесь используется протокол SSH, который шифрует весь трафик. Этим способом кодируются команды и данные. Соответственно, все пароли и другая информация, не предназначенная третьим лицам, не передается в открытом виде.

Другой способ передачи через протокол SSH тунеллирует сессию через SSH-соединение.

Подключение и обмен данных

Предусмотрено два возможных вида работы:

  • активный;
  • пассивный.

Они отличаются способом установки соединения. Активный способ предполагает, что в программе создается tcp-соединение с сервером и посылается нужный IP, порт. Пассивный же нужен, когда подобные соединения блокируются межсетевым экраном. Тогда сервер возвращает адрес и порт, затем юзер использует полученные данные для подключения.

В настройках FTP можно выбрать следующие режимы передачи:

  • поточный;
  • блочный;
  • сжатый.

При выборе первого режима данные отсылаются в виде непрерывного потока. Обработка выполняется по TCP. В обычном режиме данные сегментируются и, как правило, отправляются в таком виде: блок заголовка, количество байт, поле данных. В сжатом методе все данные сжимаются одним алгоритмом и передаются значительно быстрее из-за того, что объект меньше весит.

Авторизация

Для идентификации пользователя и последующего назначения прав для управления файлами используется схема - имя пользователя/пароль. Отправка имени осуществляется командой USER, а пароля - PASS.


Сервер принимает эти данные, если они сходятся с теми, что указаны в базе данных. Далее клиент получает приглашение, после чего начинается сессия. Иногда сервер поддерживает возможность входа без учетных данных. Как правило, предоставляется ограниченный доступ для таких связей, используется какое-то стандартное имя, например anonymous. Но чаще всего для авторизации нужно ввести адрес действующей почты, и в дальнейшем она используется, чтобы войти.

Отличие от http протокола

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


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

Связь компьютер-клиент по умолчанию осуществляется на 21 порту и используется для управления. Второе соединение для передачи данных открывается на двадцатом порту или любом другом, который правильно настроен.

Как работать с файлами

Существует FTP клиентов для работы с протоколом, но работа с ними строится по одному и тому же принципу. Все, что нужно для передачи - перетащить документ с компьютера пользователя в папку сервера или проделать те же самые действия с помощью командной строки.

  1. После появления главного окна в соответствующих полях нужно ввести имя хоста, имя пользователя, пароль, порт.
  2. После успешной авторизации появляется список всего, что загружено на сервер.
  3. Вам следует выбирать объект, который нужно закачать на сервер с компьютера или с сервера на компьютер.
  4. Отметив соответствующий файл, вызывайте контекстное меню при помощи ПКМ, выбирайте нужное действие: скачать, добавить в задание, отредактировать, удалить, переименовать, скопировать адрес, настроить права доступа. Эти функции могут меняться в зависимости от используемой программы.

Существует способ обмена между двумя серверами напрямую без закачки на компьютере. Запрашиваются два соединения к разным серверам. На одном из них выбирается файл для передачи и указывается IP-адрес второго сервера. Для этого используется FXP - протокол прямого обмена.

Главным преимуществом применения этого способа является высокая скорость скачивания. Она не зависит от пропускной способности интернет-соединения пользователя, который хочет перенести файл. Время, которое понадобится, зависит от скорости соединения между удаленными FTP-серверами. Как правило, оно заведомо больше, чем пользовательское.

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

Соединение по FTP через браузер

Для соединения, как и при использовании специализированных программ, пользователю необходимо обладать логином, паролем, IP-адресом. Само подключение происходит при использовании командной строки. Для этого нужно ввести адрес такого формата: ftp://логин для входа: пароль сервера@ip адрес. Например, ftp://myname:[email protected]. Если соединение прошло успешно, появляется список всех документов. Как правило, файлы сайта хранятся в папке public_html или www, в зависимости от типа хостинга.

Чтобы скопировать документ, его достаточно просто перетащить. Этот способ не позволяет переносить документы с одного сервера на другой. В браузере легко менять права для чтения/записи. Для этого нужно правой кнопкой мыши выделить файл, который уже есть на сервере. Появится окно с настройками. В нем следует отметить необходимое разрешение.

FileZilla

Это один из популярнейших FTP у Windows-клиентов. Работать с этой программой достаточно легко. Главное окно поделено на пять частей. Три из них отображают файловую структуру компьютера, а четыре - сервера. В нужных полях указывается логин, пароль, порт.


Если планируется частое использование какого-либо соединения, информация для входа указывается в "Менеджере сайтов". В настройках можно выбрать идентификацию, распределить данные для входа по папкам, добавить комментарий. Для переноса файл нужно выделить и перетащить в рабочее окно, где отображена файловая структура компьютера.

Total Commander

Для того чтобы загрузить и скачать файл с помощью "Тотал командера", необходимо выполнить следующую последовательность действий:

  1. Перейти во вкладку "Сеть".
  2. Выбрать пункт меню "Соединиться с сервером".
  3. В появившемся окне нажать кнопку "Добавить".
  4. Указать имя соединения, сервер, учетную запись, пароль.
  5. Установить флаг "Пассивный режим обмена", нажать OK.
  6. После этого следует отметить выбранное соединение, нажать кнопку "Соединиться".

Командная строка

Если пользователь не хочет пользоваться графическим интерфейсом, хотя это достаточно удобно и позволяет быстрее выполнять некоторые функции, он может использовать командную строку:

  1. Подключение осуществляется командой Open. Использование должно выглядеть так: open ftp.server.com port.
  2. Параметр port можно не указывать, если предполагается использование стандартного 21.
  3. Вместо server.com указывается адрес сервера, на котором располагается сайт.

Для переименования используется rename, для смены текущего каталога стандартно используются cd, для выхода необходимо ввести close, а для удаления - delete или disconnect.

Описание протокола

Отличие от HTTP

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

Поддержка веб-браузерами

Синтаксис

Синтаксис FTP URL описан в RFC1738, в форме: ftp://[<пользователь>[:<пароль>]@]<хост>[:<порт>]/<путь> (параметры в квадратных скобках необязательны). Например:

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

Безопасность

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

  • Скрытые атаки (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

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

FTPS

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

SFTP

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

FTP через SSH (не SFTP)

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

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

  • Tectia ConnectSecure (Win/Linux/Unix)
  • Tectia Server for IBM z/OS из пакета SSH Communications Security
  • (под лицензией GPL)

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

История

Первая реализация протокола (1971 г.) предусматривала обмен между клиентом и сервером сообщениями, состоящими из заголовка (72 бит) и данных переменной длины. Заголовок сообщения включал в себя запрос к FTP-серверу или ответ от него, тип и длину передаваемых данных. В качестве данных передавались параметры запроса (например, путь и имя файла), информация от сервера (например, список файлов в каталоге) и сами файлы. Таким образом, команды и данные передавались по одному и тому же каналу.

В 1972 г. протокол был полностью изменён, и принял вид, близкий к современному. Команды с параметрами от клиента и ответы сервера передаются по TELNET -соединению (канал управления), для передачи данных создаётся отдельное соединение (канал данных).

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

В 1980 г. FTP-протокол стал использовать TCP . Последняя редакция протокола была выпущена в 1985 г. В 1997 г. появилось дополнение к протоколу, позволяющее шифровать и подписывать информацию в канале управления и канале данных. В 1999 г. выпущено дополнение, посвящённое интернационализации протокола, которое рекомендует использовать кодировку UTF-8 для команд и ответов сервера и определяет новую команду LANG, устанавливающую язык ответов.

Основные команды

  • 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 - Возвращает текущую директорию.
  • QUIT - Отключиться
  • REIN - Реинициализировать подключение
  • RETR - Скачать файл. Перед RETR должна быть команда PASV или PORT.
  • RMD - Удалить директорию
  • RNFR и RNTO - Переименовать файл. RNFR - что переименовывать, RNTO - во что.
  • SIZE - Возвращает размер файла
  • STOR - Закачать файл. Перед STOR должна быть команда PASV или PORT.
  • SYST - Возвращает тип системы (UNIX, WIN, …)
  • TYPE - Установить тип передачи файла (бинарный, текстовый)
  • USER - Имя пользователя для входа на сервер

Коды ответов FTP

Ниже представлено краткое описание кодов ответа, которые могут быть возвращены FTP-сервером . Эти коды были стандартизированы IETF в RFC 959 . Как было сказано ранее, код ответа - трёхзначное число. Первая цифра отвечает за один из трёх исходов: успех, отказ или указание на ошибку либо неполный ответ.

  • 2xx – Успешный ответ
  • 4xx/5xx – Команда не может быть выполнена
  • 1xx/3xx – Ошибка или неполный ответ

Вторая цифра определяет тип ошибки:

  • x0z – Синтаксическая.
  • x1z – Информация. Соответствует информационному сообщению.
  • x2z – Соединения. Сообщение относится к управляющему соединению либо к соединению данных.
  • x3z – Соответствует сообщениям об аутентификации пользователя и его правах.
  • x4z – Не определено.
  • x5z – Файловая система. Соответствует сообщению о состоянии файловой системы.

Третья цифра окончательно специфицирует ошибку.

Пример

220 FTP server ready. USER ftp //Анонимус 230 Login successful. PASV 227 Entering Passive Mode (192,168,254,253,233,92)//Клиент должен открыть соединение на переданный IP LIST 150 Here comes the directory listing. //Сервер передает список файлов в директории 226 Directory send OK. CWD incoming 250 Directory successfully changed. PASV 227 Entering Passive Mode (192,168,254,253,207,56) STOR gyuyfotry.avi 150 Ok to send data. //Клиент передает содержимое файла 226 File receive OK. QUIT 221 Goodbye.

Аргумент 192,168,254,253,207,56 означает, что соединение к серверу ожидается на узле с IP-адресом 192.168.254.253 на порту 207 << 8 + 56 = 53048 (где << - операция побитового сдвига, 207 записывается в младший разряд, а потом сдвигается в старший, чтобы в младший записать 56 или 207*256+56=53048).

На многих FTP-серверах существует каталог (под названием incoming, upload и т. п.), открытый на запись и предназначенный для закачки файлов на сервер. Это позволяет пользователям наполнять сервер свежими данными.

FXP

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-серверами.

См. также

  • Список FTP серверов (англ.)
  • Команды и коды ошибок FTP сервера

Ссылки

  • Первоначальная спецификация FTP RFC 959
  • Расширения безопасности RFC 2228
  • Интернационализация FTP RFC 2640
  • Расширение NAT-PT для поддержки FTP RFC 2766
  • Шифрование KEA и SKIPJACK RFC 2773
  • Расширение команд FTP RFC 3659

Постоянно натыкаются на вопросы типа: "что это?", "как это?" , "как сделать чтобы..." и многие другие. В этой статье разберем вопрос: "Что такое ftp и как им пользоваться"

Что такое FTP?

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

Зачем оно мне нужно?

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

Как пользоваться FTP?

В некоторых случаях для скачивания файла со ссылкой в формате FTP не нужны какие-то специальные программы. Например Download Master нормально подхватывает такие ссылки, и вы, если только специально не обратили на это внимание, можете и не знать что пользуетесь протоколом FTP. В таких ситуациях сложностей обычно не возникает.

Как качать с FTP?

1. Скачиваем и инсталлируем программу FileZilla. При установке, как правило, не должно возникнуть никаких сложностей. Ничего из настроек в окне инсталлятора не меняем. Просто жмите все время “Далее” и “Установить”.

2. Открываем программу.

Как видно, окно поделено на 5 частей, причем в 3 части отображается файловая структура вашего компьютера, а в 4 - файловая структура сервера FTP.

3. Для того чтобы связаться с сервером, где лежат нужные вам файлы, нужно ввести в программу данные для связи с ним: его адрес, и данные о себе - логин и пароль (если нужно).

Для того чтобы быстро соединиться с сервером, его адрес нужно впечатать в поле “Сервер” на панели инструментов программы и нажать кнопку “Быстрое соединение”. При этом FileZilla автоматически подставит логин (anonymous) и пароль. Если же вы хотите связаться с сервером где используется логин и пароль, то их также нужно ввести в соответствующие поля панели инструментов.

Если же вы планируете часто пользоваться каким-то FTP-сервером то лучше внести его в “Менеджер сайтов”. Для этого нажмите на специальную кнопку (выделено красным кружком).

Откроется окно менеджера сайтов:

Для внесения нового сервера нажимаем кнопку “Новый”, затем вводим его название и заполняем поля в правой части окна. В нашем случае это только адрес сервера - вносится в поле “Хост”. В случае если используется имя пользователя и пароль - ставьте отметку около надписи “Обычная” и вносите их в соответствующие поля.

После введения информации нажмите кнопку “Сохранить и выйти”. Теперь с сервером можно будет соединиться всего за два клика - нажмите на кнопку (выделено синим кружком) и из выпадающего списка выберите нужный сервер FTP.

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

5. Для скачивания файлов на свой компьютер нужно дважды кликнуть по нему, или перетащить мышкой в нужную папку в 3 части рабочего окна программы (см. первый рисунок).

В той части окна, что отмечена цифрой 1 на первом рисунке будет отображена служебная информация. Например, там будет записана ошибка и ее причина, если запись не удалась

Оставьте свой комментарий!

Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».

Подписаться

Что такое доступ к сайту через FTP протокол

Что значит FTP и как пользоваться этим ? Большинство вебмастеров, пользующихся бесплатными CMS, наподобие Joomla или WordPress, не имеют представления о том, для чего нужен FTP клиент. Они выполняют загрузку текстов и изображений, а также иные действия, связанные с изменением сайта, непосредственно через интерфейс системы управления контентом. Тем не менее, каждый вебмастер должен знать, что такое FTP доступ. Ведь иногда приходится напрямую работать с файлами сайта, без участия CMS.

В первую очередь следует выяснить, что означает FTP. Эта аббревиатура от английского выражения «File Transfer Protocol», которую можно перевести, как «протокол передачи файлов». Его используют для непосредственного редактирования содержимого (папок и файлов) сайта. Выяснив, что такое FTP сайта, можно приступать к настройке специальной программы-клиента.

Какие функции выполняет FTP клиент

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

  • загружать на сервер файлы с компьютера;
  • изменять права доступа к папкам и файлам;
  • скачивать файлы с сервера на компьютер.

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

Чем открыть FTP – бесплатный менеджер FileZilla

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

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

К основным преимуществам, которыми обладает FTP-клиент FileZilla относится:

  • , поддержка Linux, Windows, Mac OS X и других ОС
  • интуитивно понятный интерфейс, переведенный на русский язык
  • поддержка режима drag&drop (загрузка/скачка файлов путем перетаскивания их мышью)
  • регулирование скорости передачи данных
  • наличие менеджера сайтов
  • функция записи в лог
  • возможность синхронного просмотра каталогов
  • поддержка больших файлов, функция возобновления передачи

Клиент обладает собственным логом, в котором отображается количество скачанных/загруженных файлов, а также ошибок передачи.

Что располагается на FTP

У вебмастера, использующего протокол FTP, появляется возможность доступа к любым файлам, хранящимся на сервере. Можно редактировать контент, изменять структуру CMS, напрямую редактировать тексты и изображения (если они хранятся в обычных файлах.html, .php, а не в базе данных MySQL).