Протокол ftp. FTP - это что такое и как с ним работать? Ftp протокол передачи файлов

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

В чем суть технологии FTP

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

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

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

Какое предназначение протокола FTP

Предназначен FTP протокол для передачи данных между клиентом и сервером. Он так и называется — «протокол передачи данных». Поскольку им пользуются уже очень давно, FTP вошел в число стандартов сети Intetnet. Впервые протокол был использован еще в 1971 году. За время существования он сильно изменился. Некоторые функции убрали, и сделали упор на том, что FTP хорошо подходит для обмена данными между удаленными компьютерами. Со временем его сделали более удобным для обычных пользователей. Ведь зайти в FTP-сервер можно как при помощи специальной программы, так и используя стандартные службы операционных систем. К примеру, вы даже сможете подключиться к серверу FTP при помощи стандартного проводника Windows.

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

Некоторые путают FTP и TCP. Хотя эти понятия невозможно сравнивать. FTP является протоколом, а TCP — это канал, по которому он работает. А устанавливается этот канал между устройством-сервером и устройством-клиентом. «Устройством», а не компьютером, потому что FTP можно использовать и на смартфонах при помощи специальных программ, не только на ПК.

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

Но для передачи конфиденциальной информации этот протокол совсем не подходит. Именно поэтому разработчики сервиса Яндекс Диск отказались использовать FTP в качестве основного протокола, и выбрали вместо него WebDAV. FTP является открытым протоколом, который не шифрует данных. И даже если вы установите парольную аутентификацию для клиентов на сервере, данные, которые они введут при авторизации, будут переданы на хост открытым текстом. То есть стоит их перехватить, и злоумышленники смогут проникнуть на сервер.

Как работает FTP протокол

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

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

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

А вот в чем заключается общий алгоритм работы для любого протокола FTP на сервере:

  • Сервер всегда находится в некотором состоянии ожидания со стороны пользователя. В любой момент клиент может подключиться к серверу, потому управляющий канал держит открытым 21-й порт. Именно по нему переходят все управляющие команды. Порт 21 установлен по умолчанию, но его могут изменить. Тогда пользователю придется вводить номер порта вручную, иначе он не сможет выйти на управляющий канал.
  • После соединения через порт канала управления, программа со стороны клиента может отдавать команды интерпретатору сервера. Эти команды определяют как изменения внутри файловой системы сервера, так и способ передачи данных, их содержание, объем, тип режима работы и многое другое.
  • После того, как все команды для передачи данных согласованы, один из участников соединения становится в пассивный режим ожидания (сервер или клиент). Он ждет, пока ему выдадут номер порта, чтобы открыть его и получить или отправить данные по нему.
  • После окончания процесса передачи данных соединение закрывается, но управляющий канал по-прежнему остается открытым. Это позволяет пользователю все проделать снова: дать команду серверу и вновь начать передачу данных. При этом не нужно заново создавать сессию. Потому-то FTP и работает при помощи двух типов соединения.
  • Поскольку это самая банальная модель работы протокола FTP, бывают и более сложные случаи. К примеру, когда не пользователь работает с сервером, а сервер с сервером. При этом клиент управляют передачей данных напрямую между серверами, без посредников. И подобных примеров конфигурацией сервер-клиент можно привести большое множество. В этом кроется одно из преимуществ протокола FTP — гибкость работы.

    Главное, что нужно понять в работе FTP протокола — это взаимодействие соединений и портов. Большинство ошибок во время работы по этому протоколу связаны с тем, что одна из сторон соединения не настроила свой порт. Есть пассивная и активная сторона протокола. Пассивная должна внимательно слушать и дожидаться, пока активная не передаст номер порта, который тут же нужно открыть. Если порт не будет открыт, передача данных не начнется.

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

    Какие команды использует FTP протокол

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

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

    Одна из самых популярных функций, при помощи которой вы сможете «путешествовать» по серверу — это CWD. Команда нужна для того, чтобы вы могли перемещаться между директориями сервера. Чтобы воспользоваться командой, введите CWD и путь каталога, в который вы хотите попасть.

    Если в каком-то случае вам необходимо провести реинициализацию, то есть опустить все данные и настройки текущего соединения, то используйте команду REIN. Во время ее использования передача данных не прекращается, и параметры передачи остаются прежними, какими были до команды REIN. Либо можете сделать это еще более радикальным способом — закрыть управляющее соединение при помощи команды QUIT. Она также не прерывает передачу данных, и только после окончания загрузки сессия полностью прерывается.

    Для того, чтобы прописать порт в активном режиме, то есть назначить его для пассивного участника, вам нужно воспользоваться командой PORT. Проблема в том, что эта команда очень сложная для написания — вам нужно будет указать 32 бита IP сервера и 16 бит номера порта, что совсем неудобно. Потому лучше найдите способ использовать упрощенный клиент для работы по FTP протоколу, чтобы сильно не нагружать себя. В подобном клиенте изменить номер порта — это плевое дело. Достаточно зайти в настройки, найти нужный пункт и вписать в него другую цифру вместо текущей.

    Команды RETR и STOR вы будете использовать для того, чтобы передавать данные с сервера и на сервер. Первая команда нужна для того, чтобы отправить выделенный файл на устройство клиента, а вторая — на сервер. А чтобы переименовать файл, вам нужно использовать две последовательные команды. Сначала пропишите RNFR со старым именем файла, а затем RNTO, указав новое имя файла. Также вам понадобится команда DELE, которая нужна для удаления данных с файловой системы, точнее того файла, который выделен в текущий момент.

    Для удаления каталогов используются другие команды. Чтобы удалить выделенный каталог, вам понадобится команда RMD. А чтобы создать новую папку, используйте строку MKD. Также пользователям часто нужна функция просмотра файлов, которые имеются в каталоге. Для этого используйте команду LIST, либо NLST.

    Какие есть аналоги у FTP

    У протокола передачи данных FTP есть его прямые «наследники», то есть протоколы, которые образованы из ФТП. Это два протокола: TFTP и SFTP. Первый протокол не самый популярный, потому как сильно ограничен в плане команд. Он гораздо хуже подходит для управления файловой системой сервера, чем FTP. Вы не сможете даже просмотреть список файлов каталога при помощи него. Нужен TFTP только для передачи простейшей 8-битной информации, не более. И в этом протоколе есть всего 5 команд, которые нужны для чтения, записи, запроса пакета данных и других простых операций.

    А вот протокол SFTP куда более удачный, чем TFTP и в некоторых случаях — чем FTP. Дело в том, что это защищенный FTP протокол. Он является комбинацией шифрованного SSH соединения и протокола передачи данных FTP. Кроме того, в SFTP многие лишние функции исключены, которые были введены в FTP уже давно, но никем не используются. Потому SFTP и безопаснее, чем FTP, и при этом скромнее в хорошем смысле этого слова. Рекомендуется выбирать именно SFTP в тех случаях, когда вы работаете с какими-то конфиденциальными данными. Тогда даже если хакеры и перехватят отправляемые данные по управляющему соединению, они все равно будут зашифрованными и никакой ценности взломщикам не принесут.

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

    FTP (File Transfer Protocol — протокол передачи файлов) — стандартный протокол, предназначенный для передачи файлов по TCP-сетям, построенный на архитектуре «клиент-сервер» и использующий разные сетевые соединения для передачи команд и данных между клиентом и сервером.

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

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

    В соответствии с RFC 959 Сервер по потоку управления (21 порт) отвечает трехзначными ASCII-кодами состояния с необязательным текстовым сообщением.

    Существует 2 режима работы протокола FTP: активный и пассивный.

    В активном режиме клиент создаёт управляющее TCP-соединение с сервером на 21 порту и отправляет серверу свой IP-адрес и произвольный номер клиентского порта, после чего ждёт, пока сервер не запустит TCP-соединение с этим адресом и номером порта.

    В пассивном режиме клиент использует поток управления (TCP порт 21), чтобы послать серверу команду PASV, и затем получает от сервера его IP-адрес и номер порта, которые затем используются клиентом для открытия потока данных с произвольного клиентского порта к полученному адресу и порту.

    Знание режимов работы FTP помогает, если вам нужно подключаться к FTP серверу или поднимать его в сети, которая спрятана за NAT и\или защищена брендмауэром, что как можно догадаться не редкость. Если клиент не может принимать входящие соединения на произвольный порт, то необходимо настроить сервер в пассивном режиме, тогда входящие соединения к клиенту не потребуются, но сервер же должен быть готов принять входящее соединение на заранее установленные порты. Активный режим подойдет серверу, администратор которого не готов принимать входящие соединения на порты кроме 21, но в этом случае клиент сможет подключится только если сам примет входящие соединение. Так что в любом случае придется кому то открыть дополнительные порты.

    При передачи могут быть использованы четыре представления данных:

      ASCII — используется для текста.

      Режим изображения (бинарный) — устройство-отправитель посылает каждый файл байт за байтом, а получатель сохраняет поток байтов при получении.

      EBCDIC — используется для передачи обычного текста между хостами в кодировке EBCDIC.

      Локальный режим — позволяет двум компьютерам с идентичными установками посылать данные в собственном формате без конвертации в ASCII.

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

      Поточный режим — данные посылаются в виде непрерывного потока, освобождая FTP от выполнения какой бы то ни было обработки.

      Блочный режим — FTP разбивает данные на несколько блоков (блок заголовка, количество байт, поле данных) и затем передаёт их TCP.

      Режим сжатия — данные сжимаются единым алгоритмом.

    FTP использует для аутентификации логин и пароль для предоставления доступа. Имя пользователя посылается серверу командой USER, а пароль — командой PASS. Если предоставленная клиентом информация принята сервером, то сервер отправит клиенту приглашение и начинается сессия. Логин и пароль передаются открытым текстом, так что безопасным этот способ назвать нельзя. Так же FTP сервер может предоставлять анонимный доступ к данным, то есть для всех желающих, не спрашивая логин и пароль.
    Существуют расширения и способы для безопасной передачи данных и аутентификации, например: FTPS SFTP FTP через SSH.

    Приведу пример FTP сессии со своими комментариями. Тут показан вывод команд (только в управляющем канале, естественно) которые FTP клиент передавал серверу и ответы сервера без сокращений (звездочками заменю некоторые параметры, например пароль из соображений безопасности):

    Status: - это сообщение FTP клиента, при обмене командами с FTP "вручную" вы этих сообщений не увидите. Response: - это ответы FTP сервера Command: - это те команды которые клиент отправляет серверу (в ручном режиме вы будете вводить их с клавиатуры).

    S tatus: Connecting to 37.140.*.* ...
    Status: Connected with 37.140.*.*. Waiting for welcome message...
    Response: 220 (vsFTPd 2.2.2) - итак, стучимся на 21 порт 37.140.*.* и нам говорят что там трудится vsFTPd
    Command: USER ********* - посылаем имя пользователя
    Response: 331 Please specify the password. - имя пользователя принято
    Command: PASS ******** - посылаем пароль
    Response: 230 Login successful. -пароль принят
    Command: SYST - "и какая у вас ОС?" спросим мы
    Response: 215 UNIX Type: L8 - "а вот такая" ответит сервер
    Command: FEAT - что ты можешь, сервер?
    Response: 211-Features: - а вот что:)
    Response: EPRT

    Response: UTF8
    Response: 211 End - сервер закончил перечислять функции
    Command: OPTS UTF8 ON - говори с нами в кодировке UTF-8
    Response: 200 Always in UTF8 mode. - да не вопрос
    Status: Connected - Это мы оживляем соединение
    Command: PWD - покажи нам рабочий каталог
    Response: 257 "/" - на! это название рабочего каталога (у нас /)
    Command: TYPE A - но сначала зададим режим представления данных
    - ок
    Command: PASV - и попросимся в пассивный режим
    Response: 227 Entering Passive Mode (37,140,192,202,249,140). - получили список портов
    Command: LIST - отдай список содержимого каталога

    - в этом месте мы получили оглавление по каналу данных
    Command: TYPE A
    Response: 200 Switching to ASCII mode.
    Status: Retrieving directory listing...
    Command: CWD www - меняем рабочий каталог на www
    Response: 250 Directory successfully changed. -ответ "ок"
    Command: PWD - снова запрашиваем рабочий каталог
    Response: 257 "/www" - теперь он /www
    Command: TYPE A - и выбрав режим представления данных
    Response: 200 Switching to ASCII mode.
    Command: PASV - опять в пассивном режиме
    Response: 227 Entering Passive Mode (37,140,192,202,252,174).
    Command: LIST - запрашиваем оглавление каталога
    Response: 150 Here comes the directory listing.
    Response: 226 Directory send OK.
    Status: Directory listing successful -оглавление мы получили и теперь
    Status: Starting download of /www/google8f2c0456e362dfaa.html - хотим скачать файл
    Command: TYPE A - для этого опять выберем тип
    Response: 200 Switching to ASCII mode.
    Command: PASV - и режим передачи данных
    Response: 227 Entering Passive Mode (37,140,192,202,254,190).
    Command: RETR google8f2c0456e362dfaa.html - и скажем: "Отдай на файл"
    Response: 150 Opening BINARY mode data connection for google8f2c0456e362dfaa.html (53 bytes).
    Response: 226 Transfer complete. - и вот файл был получен по каналу данных
    Status: Download successful
    Status: Retrieving directory listing...

    Command: MKD fff - а вот тут мы создали папку
    Response: 257 "/www/moop-nz.ru/02-uslugi/fff" created
    Command: RNFR /www/moop-nz.ru/02-uslugi/fff - и хотим переименовать папку fff
    Response: 350 Ready for RNTO.
    Command: RNTO /www/moop-nz.ru/02-uslugi/eee - в папку eee
    Response: 250 Rename successful. - операция прошла успешно

    Command: RMD /www/moop-nz.ru/02-uslugi/eee/ - удаляем ранее созданную папку
    Response: 250 Remove directory operation successful. - всё получилось
    Status: Connected
    Status: Starting upload of C:\12345\12345 001.jpg - начинаем загружать файл на сервер

    Command: TYPE I
    Response: 200 Switching to Binary mode.
    Command: PASV
    Response: 227 Entering Passive Mode (37,140,192,202,243,234).
    Command: STOR 12345 001.jpg - на этот раз отправляем файл на сервер
    Response: 150 Ok to send data.
    Response: 226 Transfer complete.
    Status: Upload successful
    Status: Retrieving directory listing...
    Command: TYPE A
    Response: 200 Switching to ASCII mode.
    Command: PASV
    Response: 227 Entering Passive Mode (37,140,192,202,251,25).
    Command: LIST
    Response: 150 Here comes the directory listing.
    Response: 226 Directory send OK.
    Status: Directory listing successful
    Command: DELE /www/moop-nz.ru/02-uslugi/12345 001.jpg - и удаляем его напоследок
    Response: 250 Delete operation successful.

    Много создали люди FTP серверов и клиентов (как никак с 1971 живет протокол).

    Есть специальные программы работающие в качестве FTP клиента, такие как: FileZilla, gFTP, cURL, lftp и многие другие, но сейчас в качестве FTP клиента может работать почти любой браузер (Mozilla Firefox, Konqueror, Opera, Яндекс.Браузер, Google Chrome, Internet Explorer и т.д.) или файловый менеджер (Midnight Commander, Krusader, GNOME Commander, Konqueror, Nautilus, Dolphin, FAR Manager, Total Commander, Проводник Windows и т. д.), так что в использовании специальных программ нет необходимости (хотя я пользуюсь иногда gFTP).

    Для того чтобы поднять свой FTP сервер с преферансом и аутентификацией понадобится специальная программа, которая будет исполнять роль сервера. Таких программ тоже много, в том числе: vsftpd, ProFTPD, Pure-FTPd, glFTPd, oftpd, Serv-U File Server и многие другие.

    Кажется в общих чертах понятно, что такое FTP и для чего оно нужно.

    • Назад
    • Вперёд
    Добавить комментарий


    • Телеметрия в Windows 10. Отключай, не отключай, всё равно получишь лучшее решение
    • Го. Компьютер смог обыграть чемпиона трехкратного чемпиона Европы по игре го
    • Новые "подарки" от Microsoft - "стабильность" и "приватность"

      Всемирно известная корпароция вновь порадовала нас новостями: После выхода очередного патча, встроенный инструмент для шифрования Bitlocker перестал работать, а Microsoft не в силах...

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

    В чем преимущества использования службы FTP?

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

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

    Что такое протокол FTP?

    Служба файлов FTP использует протокол, который напрямую взаимодействует с протоколом на транспортном уровне, иначе TCP:

    • Начальный стандарт - RFC-114.
    • Последний - RFC-959.

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

    1. Управляющее соединение - оно предназначено для передачи команд серверу и получения от него уже обработанных ответов. Для организации этого соединения нужен протокол Telnet (отправка запроса и ожидание обработанного ответа, после его получения дает сигнал, что возможно передать команду).
    2. Соединение имеющихся или всех посылаемых и получаемых файлов. После установки Telnet-соединения передача файлов осуществляется путем логического прцесса, который организует TCP, он проверяет доступность портов в FTP-сервере.
    Такие постоянно формируются, а в случае необходимости ликвидируются.

    FTP-протокол может работать в двух режимах:

    Активном;
    - пассивном.

    Что такое FTP-клиент?

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

    Фактически такой клиент устроен так же, как и сервер, но он управляется только при помощи локальной машины автоматизировано или же человеком. Получается, управлять FTP-клиентом через интернет нельзя - только через компьютер.

    Есть типы FTP-клиента - так называемые Например, ReGet, Go!Zilla и многие другие. Благодаря им пользователь может осуществлять загрузку с какого-либо Web-сервера. Главная особенность таких программ в том, что они могут интегрироваться под любой браузер, автоматически перехватывать необходимые файлы для пользователя. FTP-загрузчики имеют удобное управление, красивый интерфейс и в случае обрыва связи возобновят докачку после ее включения.

    Что подразумевается под FTP-сервером?

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

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

    Archie - поисковая программа для FTP-архивов

    Поиск необходимого FTP-сервера в интернете - задача весьма трудоемкая и сложная, для ее облегчения был разработан специальный программный модуль Archie. Работать с ним можно через электронную почту, через Telnet-сессию или локально. Следует понимать, что служба архивов FTP и archie - это абсолютно разные по возможностям технологии. Чаще всего, чтобы получить возможность доступа к archie-серверу, пользователю сначала надо обратиться к archie-клиенту.

    Для работы через Telnet пользователю следует открыть сессию Telnet, в нужной строке написать слово archie. Выглядит это так: telnet archie.mcgill.са login: archie.
    После того как появится строка: archie>. Можно поинтересоваться и возможностями сервера, введя в строку команду: help.

    Как самостоятельно в сети интернет?

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

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

    Интернет-служба передачи файлов FTP, созданная через программу GuildFTPd

    После скачивания и установки на компьютер этой программы надо перейти в панель настроек (GuildFTPd options), там выйдет несколько вкладок и пунктов. В категории General находятся все главные настройки, которые определяют количество соединений, номера портов и другие важные параметры. Здесь надо выполнить все нужные настройки. У каждого сервера они индивидуальны и зависят только от желаний создателя.

    Теперь надо выбрать, каким именно методом будет создаваться сервер. Система GuildFTPd работает так, что будущие пользователи должны подразделяться на группы, на основании этого будет создаваться определенный сервер: на основе персональных аккаунтов или нужной директории.

    Какой вид создаваемого FTP-сервера выбрать? Сервер на основе персональных аккаунтов

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

    Для этого создается группа, ей дается название, делается общий доступ в корневой каталог. Для этого надо нажать на кнопку Add и перейти в раздел Edit Path. Затем создается база пользователя, Admin, далее Add User, тут необходимо ввести идентификационные данные (логин, пароль) всех будущих пользователей создаваемого сервера. Таких пользователей может быть любое количество, желательно сразу определиться с их ним, если, например, будет пользоваться человек 16. Служба FTP в интернете предназначена для обмена документами между неограниченным количеством людей.

    Когда основная база готова, при необходимости может создаваться виртуальная файловая система под каждого пользователя. Для этого надо опять пройти в Add - Edit Path, там указать имена файлов и папок для каждого отдельного логина.

    Как создается открытый FTP-сервер?

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

    Создать открытый сервер намного проще, чем с персональными аккаунтами. В этом случае создается только один пользователь, в строчке указания имени следует ввести anonymous. Также обязательно надо снять галочку, которая стоит возле названия list. Далее остается только закачать файловые каталоги, которые будут доступны любому пользователю интернета.

    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 клиентов для работы с протоколом, но работа с ними строится по одному и тому же принципу. Все, что нужно для передачи - перетащить документ с компьютера пользователя в папку сервера или проделать те же самые действия с помощью командной строки.

  • После появления главного окна в соответствующих полях нужно ввести имя хоста, имя пользователя, пароль, порт.
  • После успешной авторизации появляется список всего, что загружено на сервер.
  • Вам следует выбирать объект, который нужно закачать на сервер с компьютера или с сервера на компьютер.
  • Отметив соответствующий файл, вызывайте контекстное меню при помощи ПКМ, выбирайте нужное действие: скачать, добавить в задание, отредактировать, удалить, переименовать, скопировать адрес, настроить права доступа. Эти функции могут меняться в зависимости от используемой программы.
  • Существует способ обмена между двумя серверами напрямую без закачки на компьютере. Запрашиваются два соединения к разным серверам. На одном из них выбирается файл для передачи и указывается IP-адрес второго сервера. Для этого используется FXP - протокол прямого обмена.

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

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

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

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

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

    FileZilla

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


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

    Total Commander

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

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

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

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

  • Подключение осуществляется командой Open. Использование должно выглядеть так: open ftp.server.com port.
  • Параметр port можно не указывать, если предполагается использование стандартного 21.
  • Вместо server.com указывается адрес сервера, на котором располагается сайт.
  • Для переименования используется rename, для смены текущего каталога стандартно используются cd, для выхода необходимо ввести close, а для удаления - delete или disconnect.

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

    .jpg

    Или применить более сложный вариант, ежели используется порт, отличный от 21:

    Ftp://login:password@сайт:35/images/file-1.jpg

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


    Чтобы подключиться через уже настроенный клиент FileZilla к удаленному серверу, необходимо ввести название хоста, в качестве которого используется , соответствующий его домену ( и ), имя пользователя, пароль и порт.

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

    Но продолжим. Схематически взаимодействие «клиент-сервер» при ФТП-соединении можно наглядно представить следующим образом:


    Если расписать этот процесс по пунктам, то получится примерно следующее:

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

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

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

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

    Ftp://сайт/images/file-1.jpg

    На практике при анонимном ФТП обычно в качестве логина для доступа применяется известное в сети слово «anonymous», а в качестве пароля — адрес электронной почты, который, впрочем, в большинстве случаев не проверяется.

    Безопасный ФТП (SFTP, FTPS и с использованием SSH)

    Этот протокол изначально не задумывался как защищенный, так ка разрабатывался в далеком 1971 году и использовался поначалу лишь в научно-исследовательской сети APRANET, доступ в которую имели только несколько военных объектов и университетов.

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

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

    По этой причине были разработаны несколько методов, позволяющих зашифровать передаваемую посредством ФТП информацию. Вкупе все эти способы получили обобщающее и емкое название «Безопасный FTP» . Вот какие разновидности протокола соответствуют этому термину:

    1. FTPS (FTP + SSL) — фактически это расширение стандартного протокола передачи файлов, которое обеспечено криптографическим протоколом SSL (Secure Sockets Layer — уровень защищенных сокетов). На сегодняшний день более передовым его аналогом является TLS (Transport Layer Security — защита транспортного уровня). При этом есть два метода предоставления безопасности:

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

    1.2. Явный — намного более удобный, так как применяет команды стандартного протокола FTP, но при отправке ответа зашифровывает информацию, что позволяет сохранить совместимость, поскольку в этом случае применяются одни и те же порты как для FTPS, так и для FTP. При этом для шифрования данных клиентом отправляется команда «AUTH TLS» или «AUTH SSL».

    2. SFTP (SSH FTP) — протокол прикладного уровня для передачи файлов, который работает поверх безопасного канала, его не следует путать с «Simple File Transfer Protocol», имеющего такую же аббревиатуру. Если FTPS является просто расширением FTP, то SFTP это отдельный и никак не связанный с ФТП протокол, который снабжен SSH (Secure Shell - безопасная оболочка).

    Главное, в чем заключается его отличие от стандартного ФТП и ФТПС, это то, что СФТП шифрует абсолютно все команды, имена пользователей, пароли и другую конфиденциальную информацию. Так как это совершенно другая конфигурация, клиенты FTP (FTPS) не могут соединиться с SFTP-сервером.

    3. FTP через SSH — производит обычную FTP-сессию через SSH-туннель, то есть этот вариант нельзя путать с SFTP, который является отдельным независимым протоколом. Этот метод нельзя назвать стопроцентно безопасным. Почему?

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

    Надеюсь, вы не запутались во всех этих вариантах безопасных протоколов. Для того, чтобы как-то облегчить понимание, позволю себе сделать краткое резюме. Объективно обеспечивающим самую высокую степень защиты является SFTP. Немного уступает ему в надежности явный FTPS, однако он более удобен, поскольку дает возможность пользоваться обычными портами. Какой из них выбрать, зависит от вида задачи, которая перед вами стоит и, конечно, настроек сервера.

    Понравилась статья? Поделиться с друзьями: