для каких целей используется ftp служба
Что такое FTP и как с ним работать в клиенте Filezilla
Что такое FTP
FTP (File Transfer Protocol) – это протокол, который используется для передачи файлов. Чаще всего вы можете услышать эту аббревиатуру в отношении глобальной сети – утилиты, работающие по протоколу FTP, помогают загружать файлы на серверы, что особенно полезно, если вы администрируете сайты. Если выражаться более простым языком, то данный протокол позволит вам подключиться к какой-либо удаленной папке и работать с ней, в том числе загружая на нее (или из нее) нужные вам файлы. FTP-сервер – это любой сервер, который поддерживает данный протокол.
Для того чтобы воспользоваться FTP, вам только нужно убедиться, что сеть поддерживает TCP/IP (по этому протоколу, например, работает Интернет).
Особенности подключения по FTP
Нужно отметить, что протокол FTP появился давно – в 1971 году. Для сравнения – протокол HTTP был создан почти через двадцать лет, в 1992 году, и в плане работы с файлами FTP до сих пор является предпочтительным протоколом.
Почему? Причин много. Например, при обрыве соединения – а бывает, как мы знаем, всякое – FTP позволит вам потом докачать файл, а не начинать его скачивание заново. Да и само скачивание происходит не по одному, а сразу по нескольким потокам параллельно. Для маленьких файлов это не очень важно, а вот если вы собираетесь загружать массивные файлы, то передача по FTP будет очень кстати.
При этом HTTP протокол тоже может быть полезен он используется для передачи веб-страниц, которые представляют собой не что иное, как текстовые файлы с кодом, а также небольших файлов. Его рекомендуют использовать для скачивания файлов с сайта, так как чаще всего, используя этот протокол, пользователи не смогут управлять и изменять файлы (что значительно более безопасно, чем при использовании протокола FTP).
Что такое FTP-клиент
FTP-клиент – это файловый менеджер, который осуществляет подключение к удаленному серверу для передачи данных. Существует много разных FTP-клиентов, но я советую использовать именно Filezilla.
Для подключения клиента к удаленному серверу нужны следующие данные:
Как работать с FTP на примере Filezilla
Работать с FTP-клиентом намного проще, чем может показаться на первый взгляд. Зачастую пользователи предпочитают проверенные пути вместо того, чтобы потратить несколько минут на изучение новой технологии. Поэтому постараюсь в этой статье максимально понятно рассказать о том, как же правильно использовать Filezilla в своих целях.
Установить Filezilla вы можете прямо с официального сайта.
Настройка Filezilla
Для того чтобы настроить Filezilla, вам необходимо знать свой логин и пароль от панели управления, а также название хоста. Timeweb присылает эту информацию после регистрации в приветственном письме (там отдельно будут указаны данные для использования FTP), а также на главной странице панели управления (смотрим блок «Доступ по FTP»):
Теперь открывайте Filezilla и вводите все эти данные в соответствующие строки:
В поле «Порт» напишите 21 (этот порт использует FTP). Затем нажимайте «Быстрое соединение».
Внимание! Иногда на этом этапе у вас может возникнуть ошибка ENETUNREACH (Сеть недоступна), из-за которой соединение не будет установлено. Решается данная проблема легко – выключением (или временным приостановлением) антивирусной программы.
Если соединение установлено правильно, то в блоке справа внизу вы увидите список файлов, которые доступны на вашем аккаунте (по сути, то же самое вы увидите, если зайдете в раздел «Файловый менеджер» панели управления хостингом).
Но каждый раз при запуске Filezilla заново вводить эти данные, согласитесь, неудобно, поэтому мы сделаем следующее:
Теперь после запуска программы вы можете просто нажать на стрелку вниз рядом со значком «Менеджер сайтов», выбрать аккаунт и подключиться к нему. Это особенно удобно, если у вас несколько сайтов на разных серверах.
Кстати, во вкладке «Дополнительно» вы можете указать путь к какой-то конкретной папке на сервере (строка «Удаленный каталог по умолчанию), и тогда при каждом подключении вы будете попадать не в корневой каталог, а в заданную папку.
Управление файлами
Я думаю, что интуитивно вы уже разобрались, что папки слева – это то, что есть на вашем компьютере. А справа – то, что находится на хостинге.
Вы можете заходить в них, смотреть и т.д. – в общем, как на обычном компьютере. Точно так же осуществляется и перенос файлов/папок между вашим компьютером и сервером – просто перетащите нужный вам элемент из одной области в другую (drag-and-drop). Типичный файловый менеджер.
Также вы можете кликом правой кнопки мыши по файлу закачать его на сервер – элемент будет загружен в открытую справа папку на сервере. При этом если файл не загрузился мгновенно (имеет большой вес), то внизу, во вкладке «Файлы в задании», вы увидите зеленую полосу загрузки:
Чтобы создать папку на сервере, нажмите правую кнопку мыши в области справа, где отображены папки и файлы сервера, далее выберите «Создать каталог» и присвойте ему любое название (но обязательно латинскими символами!).
Хотите удалить или переименовать? Все точно так же, щелчком правой кнопки мыши.
Аналогично вы можете и перейти к редактированию файлов (пункт «Просмотр/Правка»), при этом можно использовать как программу по умолчанию, так и выбрать какой-нибудь редактор. Чтобы настроить автоматическое открытие файлов другим редактором, выберите пункт «Редактирование» в верхнем меню, затем «Формат файлов» – и сделайте активным пункт «Использовать следующий редактор» (с последующим выбором нужной вам программы):
FTP-клиент позволяет настраивать и права доступа: для этого на элемент нужно нажать правой кнопкой мыши и выбрать «Права доступа к файлу».
Отдельно стоит рассказать о синхронизированном просмотре. Для того чтобы его активировать, вам нужно нажать соответствующий значок чуть ниже верхнего меню (под надписью «Закладки»):
Зачем это использовать? Допустим, у вас на компьютере есть папка с файлами вашего сайта – точно такими же, как и на хостинге. Файлов, как и папок, может быть очень много – и вот для удобства ориентирования в них и был добавлен такой режим: переходя из папки в папку в одном окне (допустим, серверном), вы будете точно так же, синхронно переходить в окне, где отображается содержимое вашего компьютера. Режим позволит вам не запутаться во множестве этих папок. Но, естественно, действует он лишь в том случае, если названия директорий полностью совпадают.
Заключение
FTP-соединение превращает ваш сервер в директорию, с которой удобно работать при помощи специального файлового менеджера, т.е. FTP-клиента. Освоить такую программу вы сможете за 10 минут!
Самый главный недостаток FTP – это уязвимость перед взломами и DDoS-атаками. Не советую хранить на таком сервере конфиденциальную информацию.
Надеюсь, моя статья оказалась вам полезной. Если остались вопросы по работе FTP-сервера или FTP-клиента, спрашивайте – обязательно отвечу!
Для каких целей используется ftp служба
Что такое FTP? File Transfer Protocol – протокол, используемый для передачи файлов по TCP/IP-сетям между клиентским компьютером и сервером. Это одна из самых популярных технологий обмена данными с серверами, расположенными по всему миру. Сам протокол был разработан в 1971 году, задолго до HTTP и TCP/IP.
Схема работы
Технически FTP-сервер представляет собой компьютер, к которому подключаются внешние пользователи. Они запускают на своих компьютерах специальный FTP-клиент, который делает попытку подключения. Клиент позволяет загружать и скачивать файлы с сервера. Клиентские FTP-программы могут быть встроены в операционную систему, web-браузер, HTML-редактор, файловые менеджеры, а также быть отдельными программами (FileZilla, Total Commander и другими). Взаимодействие между сервером и пользовательским компьютером выглядит следующим образом:
для связи, как правило, используется порт 21, который по умолчанию открыт на серверном компьютере. Клиент подключается к нему и выходит на управляющий канал;
после подключения FTP-клиент подает определенные команды интерпретатору;
после согласования команд для передачи данных необходимо дождаться получения номера канала, по которому будет осуществляться передача файлов для скачивания или загрузки на сервер. Эта операция осуществляется не через порт 21;
после передачи или приема файлов канал закрывается, оставляя открытым порт 21 для обработки новых команд.
Подключение к FTP-серверу
Чтобы получить доступ к содержимому сервера, необходимо пройти аутентификацию в системе. Существуют также ресурсы, которые не подразумевают обязательную регистрацию, но ее отсутствие накладывает ограничения на возможности пользователя. Подключение к серверу происходит через браузер или клиентскую программу. В первом случае посетитель может только просматривать и скачивать файлы, но не может их редактировать. После ввода логина и пароля необходимо указать адрес сервера или хост. Также нужно указать порт соединения (21), если тот не указан автоматически.
Программы для работы с FTP-серверами
FTP-клиенты, как уже было сказано, могут быть предоставлены вместе с программным обеспечением, а могут представлять собой отдельные программы. Рассмотрим наиболее популярные клиенты.
FileZilla. Одна из самых популярных бесплатных программ. Поддерживается практически всеми операционными системами, имеет русифицированную версию и понятный интерфейс. Возможности клиента:
поддержка FTP через SSL/TLS (FTPS) и SSH File Transfer Protocol (SFTP);
поддержка IDN, IPv6, Drag-and-drop;
удаленное редактирование файлов;
работа с вкладками;
возможность приема и передачи больших объемов информации (более 4 Гб);
менеджер сайтов и очередь загрузки.
Total Commander. Свободно распространяемое программное обеспечение, использование которого в качестве FTP-клиента имеет большую популярность у пользователей. Встроенный FTP-клиент работает со всеми стандартными операциями: позволяет не только просматривать, скачивать и загружать файлы, но и редактировать их. Подключение к серверу производится по стандартной схеме: через ввод логина и пароля, а также указание хоста.
Far Manager. Также является свободно распространяемым ПО. Российская разработка, отличающаяся узнаваемым интерфейсом, выполненным в сине-белых цветах. Управление осуществляется посредством ввода команд с клавиатуры. Доступ к FTP-серверам производится через различные типы прокси-серверов. Присутствует функция автоматической докачки файлов.
WinSCP. Свободно распространяемый графический клиент. Обмен файлами производится в защищенном режиме. Также клиент может сохранять настройки, чтобы пользоваться ими для будущих соединений, синхронизировать папки по определенным алгоритмам и имеет возможность редактировать файлы.
FTP-архивы
Посредством протокола передается достаточно большое количество информации, поэтому для удобства работы были созданы FTP-архивы. Они представляют собой глобальное медиахранилище, в котором содержатся файлы различных типов. Для их хранения используются разные серверы. Условно информацию, содержащуюся в архивах, можно разделить на три категории:
свободно распространяемую. Доступ к файлам такого типа можно получить без специальной регистрации. Это может быть документация, программное обеспечение и другие файлы. При этом стоит учесть, что программное обеспечение, распространяемое таким образом, не обладает сертификатом качества, но и не скрывает своих разработчиков;
ограниченного пользования. К этой категории могут относиться ресурсы с ограниченным временем действия, например программы категории shareware, которые предоставляют определенное время для использования, после чего предлагают приобрести полную версию ПО;
защищенную информацию. Степень доступа к подобным файлам устанавливают их владельцы и предоставляют их пользователям только по определенной договоренности. Это может быть информация о частных благотворительных фондах, коммерческих архивах и других документах с закрытым доступом.
Поиск в FTP-архивах осуществляется посредством системы Archie. Она сканирует все хранилища, предоставляя затем ссылку на нужный сервер, с которым необходимо установить соединение.
Синонимы: нет
Все термины на букву «F»
Все термины в глоссарии
Интернет технологии (архив ИПМ 2001-2010, Богомолов)
FTP служба построена по хорошо известной схеме «клиент-сервер».
Взаимодействие клиент и сервера по протоколу FTP.
Служба FTP базируется на двух стандартах:
FTP отличается от других приложений тем, что он использует два TCP соединения для передачи файла.
Схема двух каналов соединения по протоколу FTP
В старых версиях для передачи данных использовался только 20-й порт (активный режим), в современных версиях FTP-серверов порт для канала данных может назначаться сервером из нестандартных (N > 1024) портов (пассивный режим).
Протокол FTP определяет запрос-ответный способ взаимодействия между программой-клиентом и программой-сервером.
Работа FTP на пользовательском уровне содержит несколько этапов:
Идентификация (ввод имени и пароля).
Определение режима обмена (поблочный, поточный, ascii или двоичный).
Выполнение команд обмена (get, mget, dir, mdel, mput или put).
Завершение процедуры (quit или close).
5.2.1 Различие работы пассивного режима и активного.
5.2.1.1 Активный режим
Действия сервера и клиента:
Клиент устанавливает связь и посылает запрос на 21 порт сервера с порта N (N>1024)
Сервер посылает ответ на порт N (N>1024) клиента
Сервер устанавливает связь для передачи данных по порту 20 на порт клиента N+1
5.2.1.2 Пассивный режим:
Действия сервера и клиента:
Клиент устанавливает связь и посылает запрос (сообщает, что надо работать в пассивном режиме) на 21 порт сервера с порта N (N>1024)
Сервер посылает ответ и сообщает номер порта для канала данных P (P>1024) на порт N (N>1024) клиента
Клиент устанавливает связь для передачи данных по порту N+1 на порт сервера P (P>1024)
Активный FTP выгоден для FTP-сервера, но вреден для стороны клиента. FTP сервер пытается соединиться со случайными высокими (по номеру) портами на клиенте, такое соединение наверняка будет блокировано брандмауэром на стороне клиента.
Пассивный FTP выгоден для клиента, но вреден для FTP-сервера. Клиент будет делать оба соединения к серверу, но одино из них будет к случайному высокому порту, такое соединение наверняка будет блокировано брандмауэром на стороне сервера.
Ниже приведены примеры запроса клиента и ответа сервера:
5.2.1.3.1 Пример запроса на чтение каталога
сервер: 220 megillah.demos.su FTP server (Version wu-2.4) ready. — // код ошибки, имя хоста, протокол, версия сервера, только для чтения
клиент: USER anonymous — // имя пользователя
сервер: 331 Guest login ok, send your complete e-mail address as password.— //код ошибки, имя пользователя корректно, нужен пароль
клиент: PASS ****** — // пароль клиента
сервер: 230 Guest login ok, access restrictions apply. — //код ошибки, пользователь идентифицирован, продолжайте
клиент: CWD / — // переход к корневой директории
сервер: 250 CWD command successful. — // команда выполнена успешно
клиент: TYPE A — // передавать информацию в текстовом виде
сервер: 200 Type set to A. — // текстовый тип установлен
клиент: PASV — // сервер должен определить нестандартный порт данных, начать его слушать
сервер: 227 Entering Passive Mode (194,87,5,52,9,75) — // сервер возвращает ip-адрес (194.87.5.52) и номер порта (2383)
клиент: LIST — // передать по соединению данных список имен файлов в директории
сервер: Data connection established — // установлено соединение данных
клиент: 150 Opening ASCII mode data connection for /bin/ls. — // татус файла правилен, подготавливается открытие канала
Передача информации по каналу данных
сообщение: Data transfer started — // начало передачи информации
сообщение: DATA connection closed by remote server — // закрытие канала передачи данных
Информирование клиентом пользователя
сообщение: Received 1 428 bytes in 0:00:00 (35 700 bytes/s) — // сколько байт получено (1 428), за какое время (ч.мм.сс) и с какой средней скоростью (35 700 bytes/s)
сообщение: JOB COMPLETED SUCCESSFULLY — // работа завершена
5.2.1.3.2 Пример запроса файла
Передача информации по каналу данных
сообщение: Data transfer started — // начало передачи файла
сообщение: DATA connection closed by remote server — // закрытие канала передачи данных
Информирование клиентом пользователя
сообщение: Received 31 368 bytes in 0:00:02 (10 477 bytes/s) — // сколько байт получено (31 368), за какое время (ч.мм.сс) и с какой средней скоростью (10 477 bytes/s)
сообщение: JOB COMPLETED SUCCESSFULLY — // работа завершена
5.2.1.4 Некоторые команды
5.2.1.5 Некоторые типы данных:
5.2.1.6 Коды возврата
При выполнении FTP система возвращает трехразрядные десятичные коды-ошибки, которые позволяют судить о корректности обмена. Выдача кода сопровождается текстом-комментарием. Первая цифра может принимать значения от 1 до 5.
5.2.1.6 Некоторые коды возврата
120 Функция будет реализована через nnn минут
125 Канал открыт, обмен данными начат
150 Статус файла правилен, подготавливается открытие канала
200 Команда корректна
211 Системный статус или отклик на справочный запрос
212 Состояние каталога
213 Состояние файла
214 Справочное поясняющее сообщение
220 Слишком много подключений к FTP-серверу (можете попробовать позднее). В некоторых версиях указывает на успешное завершение промежуточной процедуры
221 Благополучное завершение по команде quit
225 Канал сформирован, но информационный обмен отсутствует
226 Закрытие канала, обмен завершен успешно
230 Пользователь идентифицирован, продолжайте
250 Запрос прошел успешно
331 Имя пользователя корректно, нужен пароль
332 Для входа в систему необходима аутентификация
421 Процедура не возможна, канал закрывается
425 Открытие информационного канала не возможно
426 Канал закрыт, обмен прерван
450 Запрошенная функция не реализована, файл не доступен, например, занят
451 Локальная ошибка, операция прервана
452 Ошибка при записи файла (не достаточно места)
500 Синтаксическая ошибка, команда не может быть интерпретирована (возможно, она слишком длинна)
501 Синтаксическая ошибка (неверный параметр или аргумент)
502 Команда не используется (нелегальный тип MODE)
503 Неудачная последовательность команд
504 Команда не применима для такого параметра
530 Система не загружена (not logged in)
532 Необходима аутентификация для запоминания файла
550 Запрошенная функция не реализована, файл не доступен, например, не найден
552 Запрошенная операция прервана, недостаточно выделено памяти
5.2.1.7 Соединение к FTP с помощью Telnet
Подсоединимся к командному порту FTP (21):
>telnet ipm.kstu.ru 21
5.4 Программы клиенты
Что такое FTP и зачем оно нужно
Это очень надёжно, но очень небезопасно.
Когда интернет только зарождался, но уже были компьютерные сети, возникла потребность передавать файлы от одного компьютера к другому. В 1971 году каналы передачи данных были не такие надёжные (и не такие быстрые), как сейчас, поэтому нужен был инструмент, который поможет обмениваться документами друг с другом на расстоянии.
Основные требования были такие: простота работы и надёжность при отправке и получении. Таким инструментом стал FTP-протокол.
Принцип работы
FTP расшифровывается как File Transfer Protocol — протокол передачи файлов. Он отличается от других протоколов тем, что если в процессе передачи возникает какая-то ошибка, то процесс останавливается и выводится сообщение для пользователя. Если ошибок не было, значит, пользователь получил именно тот файл, который нужен, в целости и без недостающих элементов.
По FTP-протоколу можно скачивать что угодно: фильмы, музыку, документы, программы, драйверы и картинки. Сейчас многие производители железа выкладывают драйверы от устройств на FTP-серверы, чтобы их могли скачать все желающие.
В корпоративной среде FTP используется для организации локального хранилища внутренних документов и файлов для работы. Например, там могут храниться видеолекции или архивные сканы документов. Ещё FTP позволяет загружать свои файлы на сервер, чтобы их мог скачать любой желающий.
Программисты иногда используют такие серверы для обмена файлами и для бэкапов кода, хотя многие для этого предпочитают GIT. Про него ещё поговорим отдельно.
Клиент и сервер
Для работы по FTP нужны двое: FTP-сервер и FTP-клиент. Что делает сервер:
Так как FTP пришёл к нам из времён UNIX-систем, то любое соединение требует логина и пароля. Если у пользователя его нет, сервер его не пропустит. Но чтобы сделать файлы доступными для всех, используют анонимный режим. В нём логином будет слово anonymous, а паролем — любой адрес электронной почты. Современные браузеры умеют сами заходить на анонимные FTP-серверы и подставлять почту. Со стороны это выглядит так, как будто никакого логина и пароля нет, но они есть.
Когда запускается FTP-сервер, ему говорят: «Уважаемый сервер, вот список файлов и папок, которые нужно показывать на сервере. Если к тебе постучится пользователь с таким-то логином и паролем, то покажи ему всё, а если с вот таким логином — то дай ему одну только эту папку. Анонимов не пускать». Ещё один обязательный параметр — адрес сервера и порт, по которому будет идти передача файлов.
Чтобы подключиться к серверу, нужна специальная программа, их ещё называют FTP-клиентами. Для каждой операционной системы есть много своих клиентов, например, FileZilla или CuteFTP. Те, кто работает в Linux-подобных системах, часто используют командную строку.
Интерфейс CuteFTP для MacOS.
Работа с FTP в командной строке.
Такая схема работы часто используется в виртуальных хостингах, когда нужно получить доступ к содержимому сайта или изменить конфигурационные файлы.
В чем смысл вообще
Ну и казалось бы — что мешает передавать файлы, как обычно, через сайты по протоколу HTTP? Полно же сайтов и форумов, на которых лежат файлы, и их можно спокойно скачать.
А разница вот в чем:
Уязвимости и надёжность
Сам по себе FTP-протокол надёжен и гарантированно доставляет пользователю нужные файлы, если с соединением всё в порядке.
Проблема в том, что протокол изначально был незащищённый, и предполагалось, что канал передачи данных всегда надёжен. Поэтому в FTP всё передаётся в открытом виде: файлы, пароли, имена пользователей и любые данные.
Сейчас по умолчанию предполагается, что каждый канал — ненадёжный, и что данные нужно дополнительно шифровать. FTP этого не поддерживает. Если кто-то будет перехватывать ваш Wi-Fi-трафик или подключится к вашей локальной сети, то он сможет перехватить все эти данные и скачать их себе, параллельно с вами.
Ещё есть вопрос безопасности входа: по умолчанию у FTP-протокола нет защиты от подбора пароля и попыток входа, поэтому кто-то может просто перебрать доступные пароли, чтобы получить доступ к папкам. Если вы видели в фильмах про хакеров, как они там перебирают пароли при входе — это вполне вероятная ситуация для FTP.
С точки зрения современной безопасности правильным решением будет использовать одну из реализаций шифрованного FTP (FTPS, SFTP) или пользоваться FTP через VPN.