0

Для чего нужен 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 (англ. File Transfer Protocol ) — протокол передачи файлов по сети, является одним из старейших прикладных протоколов, появившихся задолго до HTTP, и даже до TCP/IP, в 1971 году; в первое время он работал поверх протокола NCP [1] . Он и сегодня широко используется для распространения ПО и доступа к удалённым хостам. В отличие от TFTP, гарантирует передачу (либо выдачу ошибки) за счёт применения квитируемого протокола

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

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

Содержание

Описание протокола [ править | править код ]

Отличие от HTTP [ править | править код ]

Свойство FTP HTTP
Основан на сессиях работы Нет
Встроена аутентификация пользователей Нет
Изначально предусмотрен для передачи Больших двоичных файлов Небольших текстовых файлов
Модель соединения Двойное подключение Одиночное подключение
Поддерживает текстовый и двоичный режимы передачи Нет
Поддерживает указание типов передаваемых данных (MIME заголовки) Да
Поддерживает операции над файловой системой (mkdir, rm, rename, и т. д.) Нет

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

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

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

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», и (опять же, если необходимо) в символьное представление принимающего хоста. В частности, изменяются символы перевода строки (CR /chr(13)/, LF /chr(10)/ в Windows на LF /chr(10)/ в Unix/Linux. Как следствие, этот режим не подходит для файлов, содержащих не только обычный текст.
  • Режим изображения (обычно именуемый бинарным) — устройство-отправитель посылает каждый файл байт за байтом, а получатель сохраняет поток байтов при получении. Поддержка данного режима была рекомендована для всех реализаций FTP.
  • EBCDIC — используется для передачи обычного текста между хостами в кодировке EBCDIC. В остальном этот режим аналогичен ASCII-режиму.
  • Локальный режим — позволяет двум компьютерам с идентичными установками посылать данные в собственном формате без конвертации в ASCII.
Читайте также:  Где гонки нормально врезаются

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

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

  • Поточный режим — данные посылаются в виде непрерывного потока, освобождая FTP от выполнения какой бы то ни было обработки. Вместо этого вся обработка выполняется TCP. Индикатор конца файла не нужен, за исключением разделения данных на записи.
  • Блочный режим — FTP разбивает данные на несколько блоков (блок заголовка, количество байт, поле данных) и затем передаёт их TCP.
  • Режим сжатия — данные сжимаются единым алгоритмом (обычно кодированием длин серий).

Аутентификация [ править | править код ]

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

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

FTP-ALG [ править | править код ]

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

NAT и обход брандмауэров [ править | править код ]

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

История [ править | править код ]

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

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

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

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

Поддержка веб-браузерами [ править | править код ]

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

С 2020 г. браузер Chrome (как, возможно, и другие) будет полностью лишён поддержки протокола FTP. [3]

Синтаксис 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. Программные пакеты, поддерживающие этот режим:

Читайте также:  Баллон для подкачки колес

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

Основные команды [ править | править код ]

  • ABOR — Прервать передачу файла
  • CDUP — Сменить каталог на вышестоящий.
  • CWD — Сменить каталог.
  • DELE — Удалить файл (DELE filename).
  • EPSV — Войти в расширенный пассивный режим. Применяется вместо PASV.
  • HELP — Выводит список команд, принимаемых сервером.
  • LIST — Возвращает список файлов каталога. Список передаётся через соединение данных.
  • MDTM — Возвращает время модификации файла.
  • MKD — Создать каталог.
  • NLST — Возвращает список файлов каталога в более кратком формате, чем LIST. Список передаётся через соединение данных.
  • NOOP — Пустая операция.
  • PASS — Пароль.
  • 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 — Файловая система. Соответствует сообщению о состоянии файловой системы.

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

Пример [ править | править код ]

В примере жирным шрифтом выделены команды, которые подаёт клиент; обычным шрифтом — сообщения сервера. Примечания отделены двумя слэшами:

Аргумент 192,168,254,253,207,56 означает, что соединение к серверу ожидается на узле с IP-адресом 192.168.254.253 на порту 207 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-серверами.

30 октября 2017 года. Опубликовано в разделах: Азбука терминов. 58704

Больше видео на нашем канале – изучайте интернет-маркетинг с SEMANTICA

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

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

Как выглядит FTP сервер

Визуальное представление зависит от системы, через которую выполняется вход. Есть специальные программы типа FileZilla, в ней данные выводятся в виде привычного всем Total Commander.


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

Особенности FTP сервера

Более подробно рассмотрим технические аспекты и расскажем, что такое ftp сервер и как он работает.

Главная функция FTP — передача файлов.

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

  1. Требуется аутентификация.
  2. Наличие выделенного канала для каждого соединения.
  3. Поддержка 2-х режимов передачи данных: текста и бинарного (в двоичной системе). Второй вариант сокращает время и трафик.
  4. Использование множественного подключения как минимум двуканального. Через один передаются команды управления и возвращаются обработанные ответы. С помощью других осуществляется файловая передача из расчета выделенный канал на каждую.

Как подключиться к FTP серверу

Для входа на сервер требуется заполнить форму авторизации, иначе говоря, пройти аутентификацию. После ввода логина (user) и пароля (pass) эта информация передается в систему. Если она принята, клиент получит приглашение и откроется рабочая сессия.

Бывают варианты входа без указания регистрационных данных. В этом случае доступные посетителю опции будут ограничены.

Есть еще один вариант, как зайти на FTP сервер — анонимный доступ. По умолчанию вход происходит при вводе логина «anonymous», написание может отличаться регистром букв. Однако самый распространенные способ, когда предлагают залогиниться с помощью электронного адреса. Такой вариант доступа используют многие FTP-хосты, рассылающие обновления ПО.

Для подключения можно использовать веб-браузер или файловые менеджеры типа Total Commander, FileZilla. Через браузер вы сможете просмотреть и скачать файлы, при этом внести изменения не сможете.

Удобнее работать через программу-клиент FileZilla (можно скачать в свободном доступе).

Создаем новое подключение следующим образом:

  • В поле «Хост» вводим адрес ftp-сервера.
  • Заполняем поля «Имя» пользователя, «Пароль» и, при необходимости, «Порт».

Где взять адрес? Если вы подключаетесь к серверу, размещенному на хосте, все доступы есть у владельца сайта, их предоставил провайдер.

Для чего еще используют FTP

Файлы веб-сайтов – это самый распространенный вариант использования, но это далеко не все, что располагается на FTP серверах.

Там можно хранить любую рабочую либо личную информацию больших объемов, как вариант, фотографии, видеофильмы.

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

Недостатки FTP-серверов

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

Проверка подлинности источника пакета передачи данных отсутствует, это приводит к уязвимости перед dDoS-атаками.

admin

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *