Что такое ftp простыми словами
Что такое 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.
Что такое 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 простыми словами
File Transfer Protocol
21/TCP для команд, 20/TCP для данных, 49152-65534/TCP динамически
FTP (англ. File Transfer Protocol — протокол передачи файлов) — стандартный протокол, предназначенный для передачи файлов по TCP-сетям (например, Интернет). FTP часто используется для загрузки сетевых страниц и других документов с частного устройства разработки на открытые сервера хостинга.
Протокол построен на архитектуре «клиент-сервер» и использует разные сетевые соединения для передачи команд и данных между клиентом и сервером. Пользователи FTP могут пройти аутентификацию, передавая логин и пароль открытым текстом, или же, если это разрешено на сервере, они могут подключиться анонимно. Можно использовать протокол SSH для безопасной передачи, скрывающей (шифрующей) логин и пароль, а также шифрующей содержимое.
Первые клиентские FTP-приложения были интерактивными инструментами командной строки, реализующими стандартные команды и синтаксис. Графические пользовательские интерфейсы с тех пор были разработаны для многих используемых по сей день операционных систем. Среди этих интерфейсов как программы общего веб-дизайна вроде Microsoft Expression Web, так и специализированные FTP-клиенты (например, CuteFTP).
FTP является одним из старейших прикладных протоколов, появившимся задолго до HTTP, в 1971 году. Он и сегодня широко используется для распространения ПО и доступа к удалённым хостам.
Содержание
Описание протокола
Отличие от HTTP
Соединение и передача данных
FTP может работать в активном или пассивном режиме, от выбора которого зависит способ установки соединения. В активном режиме клиент создаёт управляющее TCP-соединение с сервером и отправляет серверу свой IP-адрес и произвольный номер клиентского порта, после чего ждёт, пока сервер не запустит TCP-соединение с этим адресом и номером порта. В случае, если клиент находится за брандмауэром и не может принять входящее TCP-соединение, может быть использован пассивный режим. В этом режиме клиент использует поток управления, чтобы послать серверу команду PASV, и затем получает от сервера его IP-адрес и номер порта, которые затем используются клиентом для открытия потока данных с произвольного клиентского порта к полученному адресу и порту. Оба режима были обновлены в сентябре 1998 г. для поддержки IPv6. В это время были проведены дальнейшие изменения пассивного режима, обновившие его до расширенного пассивного режима.
При передаче данных по сети могут быть использованы четыре представления данных:
Для текстовых файлов предоставлены различные форматы управления и настройки структуры записи. Эти особенности были разработаны для работы с файлами, содержащими Telnet или ASA-форматирование.
Передача данных может осуществляться в любом из трёх режимов:
Аутентификация
Анонимный FTP
Хост, обеспечивающий FTP-сервис, может предоставить анонимный доступ к FTP. Пользователи обычно входят в систему как «anonymous» (может быть регистрозависимым на некоторых FTP-серверах) в качестве имени пользователя. Хотя обычно пользователей просят прислать адрес их электронной почты вместо пароля, никакой проверки фактически не производится. Многие FTP-хосты, предоставляющие обновления программного обеспечения, поддерживают анонимный доступ.
NAT-PT
Специально для работы FTP-протокола через межсетевые экраны было сделано расширение NAT, называемое NAT-PT (rfc2766), позволяющее транслировать входящие соединения от сервера к клиенту через NAT. В процессе такого соединения NAT подменяет передаваемые данные от клиента, указывая серверу истинный адрес и порт, с которым сможет соединиться сервер, а потом транслирует соединение от сервера от этого адреса клиенту на его адрес. Несмотря на все меры и нововведения, принятые для поддержки FTP-протокола, на практике функция NAT-PT обычно отключается во всех роутерах и маршрутизаторах с целью обеспечения дополнительной безопасности от вирусных угроз.
NAT и обход брандмауэров
Поддержка веб-браузерами
Большая часть обычных веб-браузеров может извлекать файлы, расположенные на FTP-серверах, хотя они могут не поддерживать расширения протоколов вроде FTPS. Когда указан FTP-адрес, а не HTTP-адрес, доступный контент на удалённом сервере представляется аналогично остальному веб-контенту. Полностью функциональный FTP-клиент может быть запущен в Firefox как расширение FireFTP.
Синтаксис
Синтаксис FTP URL описан в RFC1738, в форме: ftp://[ [: ]@] [: ]/ (параметры в квадратных скобках необязательны). Например:
Более детально об указании имени пользователя и пароля написано в документации браузеров. По умолчанию, большинство веб-браузеров используют пассивный (PASV) режим, который лучше обходит брандмауэры конечного пользователя.
Безопасность
FTP не разрабатывался как защищённый (особенно по нынешним меркам) протокол и имеет многочисленные уязвимости в защите. В мае 1999 авторы RFC 2577 свели уязвимости в следующий список проблем:
Безопасный FTP
Существует несколько методов безопасной передачи файлов, в одно или другое время называемых «Безопасным FTP».
FTP через SSH (не SFTP)
FTP через SSH (не SFTP) относится к практике туннелирования обычной FTP-сессии через SSH-соединение. Поскольку FTP использует несколько TCP-соединений, туннелирование через SSH особенно затруднительно. Когда много SSH-клиентов пытаются установить туннель для канала управления (изначальное «клиент-сервер» соединение по порту 21), защищён будет только этот канал; при передаче данных программное обеспечение FTP на любом конце установит новые TCP-соединения (каналы данных), которые обойдут SSH-соединение и, таким образом, лишатся целостной защиты.
Иначе, для клиентского программного обеспечения SSH необходимо иметь определённые знания о FTP для отслеживания и перезаписи сообщений потока управления FTP и автономного открытия новых перенаправлений для потока данных FTP. Программные пакеты, поддерживающие этот режим:
История
Первая реализация протокола (1971 г.) предусматривала обмен между клиентом и сервером сообщениями, состоящими из заголовка (72 бит) и данных переменной длины. Заголовок сообщения включал в себя запрос к FTP-серверу или ответ от него, тип и длину передаваемых данных. В качестве данных передавались параметры запроса (например, путь и имя файла), информация от сервера (например, список файлов в каталоге) и сами файлы. Таким образом, команды и данные передавались по одному и тому же каналу.
В 1972 г. протокол был полностью изменён, и принял вид, близкий к современному. Команды с параметрами от клиента и ответы сервера передаются по TELNET-соединению (канал управления), для передачи данных создаётся отдельное соединение (канал данных).
В последующих редакциях была добавлена возможность работы в пассивном режиме, передачи файлов между FTP-серверами, введены команды получения информации, смены текущего каталога, создания и удаления каталогов, сохранения файлов под уникальным именем. Некоторое время существовали команды для передачи электронной почты через FTP, однако впоследствии они были исключены из протокола.
В 1980 г. FTP-протокол стал использовать TCP. Последняя редакция протокола была выпущена в 1985 г. В 1997 г. появилось дополнение к протоколу, позволяющее шифровать и подписывать информацию в канале управления и канале данных. В 1999 г. выпущено дополнение, посвящённое интернационализации протокола, которое рекомендует использовать кодировку UTF-8 для команд и ответов сервера и определяет новую команду LANG, устанавливающую язык ответов.
Основные команды
Коды ответов FTP
Вторая цифра определяет тип ошибки:
Третья цифра окончательно специфицирует ошибку.
Пример
Аргумент 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-серверами.
Что такое FTP и зачем он нужен
Что такое FTP-протокол
Протокол передачи данных — набор соглашений, который устанавливает порядок для обмена данными между разными программами. Примеры известных сетевых протоколов:
FTP-протокол — это протокол, который позволяет взаимодействовать с файлами и папками (дает возможность их удалять/загружать/перезаписывать) на специальном файловом сервере с локального устройства пользователя.
Для чего нужен FTP
FTP чаще всего служит для подключения к хостингу или серверу, на котором располагается ваш сайт. Представьте, что вам быстро нужно загрузить изображения в определенную папку или заменить какой-то файл. Благодаря специальным программам (ФТП-клиент) вы сможете дистанционно соединиться с сервером и быстро совершить эти операции.
Что такое FTP-клиент
FTP-клиент — это специальная компьютерная программа, предназначенная для упрощенного подключения к FTP-серверу. Известные ФТП-клиенты:
Слева вы увидите файлы и папки вашего компьютера, а справа — содержимое сервера, к которому вы подключитесь.
Большей частью ФТП-клиентов можно пользоваться на безвозмездной основе, поэтому выбирайте программу исходя из особенностей операционной системы и личных предпочтений.
Сравнение FTP-клиентов
FTP-клиент | Дата выпуска | Цена | Лицензия |
---|---|---|---|
FileZilla | 2001 | Бесплатная | GPL |
CuteFTP | 1994 | Есть условно бесплатная версия | Проприетарная |
gFTP | 1998 | Бесплатная | GPL |
CoreFTP LE | 2003 | Бесплатно для домашнего использования | Freeware |
CrossFTP | 2006 | Бесплатная стандартная версия | Проприетарная |
Что такое FTP-доступ
Чтобы подключиться к FTP, вам потребуются доступы: логин, пароль и хост. Эти данные можно увидеть в личном кабинете хостинга, или они придут к вам на почту после активации услуги. Затем эти значения нужно ввести в соответствующие поля в программе и установить соединение с сервером. После этого вы сможете управлять файлами: удалять, редактировать их, а также добавлять новые. Разберем подключение на примере популярной программы FileZilla.
Преимущества FTP
Недостатки FTP
Как обезопасить свои данные
Заключение
Таким образом, FTP применяется в основном для передачи данных между компьютером клиента и удаленным сервером, на котором хранится информация о веб-ресурсе. Наш хостинг поддерживает FTP, доступы выдаются всем нашим клиентам при активации услуги. Если у вас остались вопросы — задавайте их в комментариях. Специалисты службы поддержки постараются ответить на них в ближайшее время. Спасибо, что дочитали!