Что такое FTP-сервер и протокол передачи данных
FTP расшифровывается как File Transfer Protocol , или протокол передачи данных. Это сетевой протокол/протокол обмена данными, благодаря которому файлы передаются между компьютерами через сеть TCP/IP (протокол управления передачей/интернет-протокол).
- HTTP (протокол передачи гипертекста)
- HTTPS (протокол защищенной передачи гипертекста)
- FTP (протокол передачи файлов)
Как работает протокол передачи файлов?
Для обмена файлами между компьютерами через FTP необходимо открыть FTP-сервер (о том, что это такое, ниже).
В зависимости от типа посещаемого сервера, для доступа к файлам вас могут попросить ввести имя пользователя и пароль. Соединения с сервером, которые не запрашивают авторизации до открытия доступа к файлам, называются анонимными FTP.
Как только пользователь успешно открыл/авторизовался на FTP-сервере, он может скачивать или загружать файлы на сервер.
Получить доступ к FTP-серверу можно одним из нижеприведенных способов:
- Через веб-браузер. Вы можете напечатать адрес сервера в своем браузере. Он будет выглядеть примерно так: ftp.myftpfiles.com или https://www.myftpfiles.com. Оказавшись на сервере, вы можете работать с файлами, которые загрузил туда их владелец.
- Через FTP-клиент
Что такое FTP-клиент?
FTP-клиент – это программное обеспечение для соединения между запрашивающим доступ компьютером и сервером, на котором хранятся файлы.
Существует великое множество различных FTP-клиентов. Они предлагают графический пользовательский интерфейс (GUI), с которым можно взаимодействовать.
Ниже показано, как выглядит FTP-клиент, и как им пользоваться. Мы будем работать в FileZilla .
В изображении выше видны текстовые поля. Адрес сервера вводится в текстовое поле Host. Текстовые поля Username и Password нужны для серверов, которые открывают доступ к файлам только после авторизации. Текстовое поле Port обычно имеет значение 21. Это специальный порт для FTP. После заполнения всех необходимых полей вы можете нажать Quickconnect и подключиться к серверу.
В левой части приложения есть local site , то есть мой компьютер со списком существующих директорий. Справа – Remote site , то есть место, где показывается вся информация и файлы на сервере.
Что такое FTP-сервер?
По сути, FTP-сервер – это компьютер, на который изначально загружались файлы. У каждого сервера есть FTP-адрес. Пользователь может открыть FTP-сервер через TCP/IP в браузере или через FTP-клиент.
Сервер позволяет посетителю загружать и скачивать файлы.
Безопасны ли FTP-сервера?
Хоть многие FTP-серверы и требуют авторизации, они не считаются защищенными, поскольку в протоколе отсутствует шифрование. Из-за этого повышается вероятность того, что доступ к файлам на FTP-сервере получат сторонние или нежелательные лица.
Самый предпочтительный и безопасный протокол для FTP – это SFTP (Secure File Transfer Protocol — защищенный протокол передачи данных). Это как HTTP и HTTPS.
SFTP считается более безопасным, поскольку данные на сервере зашифрованы.
К альтернативным вариантам относятся:
- FTPS (File Transfer Protocol Secure)
- HTTPS (Hypertext Transfer Protocol Secure)
- AS2 (Applicability Statement 2)
Плюсы использования FTP
Вот несколько плюсов от использования FTP:
- более быстрая передача файлов
- поддержка многими хостами
- возможность передачи больших файлов
- возможность запланировать передачу файлов
- возобновление передачи файлов после прерывания
Минусы использования FTP
Есть ряд минусов при использовании FTP:
- FTP-серверам не хватает безопасности
- основные браузеры (Chrome и Firefox) больше не поддерживают FTP
- файлы и учетные данные пользователей не зашифрованы
- на некоторых серверах могут присутствовать вредоносные файлы
Заключение
В данной статье мы поговорили о протоколе передачи файлов, который позволяет нам обмениваться файлами между компьютерами внутри сети.
Мы разобрали, что такое FTP-клиент и FTP-сервер. Кроме того, рассказали, почему FTP-серверы считаются незащищенными и предложили ряд более «безопасных» альтернатив. И, наконец, мы рассмотрели плюсы и минусы использования FTP.
1 курс / Техника и технология СМИ / Семинары / FTP
FTP (англ. File Transfer Protocol — протокол передачи файлов) — протокол, предназначенный для передачи файлов в компьютерных сетях. FTP позволяет подключаться к серверам FTP, просматривать содержимое каталогов и загружать файлы с сервера или на сервер; кроме того, возможен режим передачи файлов между серверами (см. FXP).
FTP является одним из старейших прикладных протоколов, появившимся задолго до HTTP, в 1971 году. Он и сегодня широко используется для распространения ПО и доступа к удалённым хостам(любое устройство, предоставляющее сервисы формата «клиент-сервер» в режиме сервера по каким-либо интерфейсам и уникально определённое на этих интерфейсах).
Протокол FTP относится к протоколам прикладного уровня(протоколы, работающие на верхнем уровне модели OSI и обеспечивающие взаимодействие приложений и обмен данными между ними.) и для передачи данных использует транспортный протокол TCP(протокол управления передачей). Команды и данные, в отличие от большинства других протоколов, передаются по разным портам(идентифицируемый номером системный ресурс, выделяемый приложению, выполняемому на некотором сетевом хосте, для связи с приложениями, выполняемыми на других сетевых хостах). Исходящий порт 20, открываемый на стороне сервера, используется для передачи данных, порт 21 для передачи команд. Порт для приема данных клиентом определяется в диалоге согласования. В случае, если передача файла была прервана по каким-либо причинам, протокол предусматривает средства для докачки файла, что бывает очень удобно при передаче больших файлов.
Протокол не шифруется, при аутентификации(проверка принадлежности субъекту доступа предъявленного им идентификатора) передаются логин и пароль открытым текстом. В случае построения сети с использованием хаба(сетевое устройство, предназначенное для объединения нескольких устройств Ethernet в общий сегмент сети), злоумышленник при помощи пассивного сниффера( сетевой анализатор трафика, программа или программно-аппаратное устройство, предназначенное для перехвата и последующего анализа, либо только анализа сетевого трафика, предназначенного для других узлов.) может перехватывать логины и пароли находящихся в том же сегменте сети(устройство, предназначенное для соединения нескольких узловкомпьютерной сети в пределах одного или нескольких сегментов сети) пользователей FTP, или, при наличии специального ПО, получать передаваемые по FTP файлы без авторизации. При построении сети на свитчах задача злоумышленника усложняется, но взлом всё равно возможен (MAC-спуфинг, переполнение таблицы адресов). Чтобы предотвратить перехват трафика, необходимо использовать протокол шифрования данных SSL, который поддерживается многими современными FTP-серверами и некоторыми FTP-клиентами.
Процесс нешифрованной авторизации проходит в несколько этапов (символы \r\n означают перевод строки):
Установка TCP-соединения с сервером (обычно на 21 порт)
Посылка команды USER логин\r\n
Посылка команды PASS пароль\r\n
Если к серверу разрешён анонимный доступ (как правило, лишь для загрузки данных с сервера), то в качестве логина используется ключевое слово «anonymous» или «ftp», а в качестве пароля — адрес электронной почты:
После успешной авторизации можно посылать на сервер другие команды.
- ABOR — Прервать передачу файла
- CDUP — Сменить директорию на вышестоящую.
- CWD — Сменить директорию.
- DELE — Удалить файл (DELE filename).
- EPSV — Войти в расширенный пассивный режим. Применяется вместо PASV.
- HELP — Выводит список команд принимаемых сервером.
- LIST — Возвращает список файлов директории. Список передается через соединение данных.
- MDTM — Возвращает время модификации файла.
- MKD — Создать директорию.
- NLST — Возвращает список файлов директории в более кратком формате чем LIST. Список передается через соединение данных.
- NOOP — Пустая операция
- PASV — Войти в пассивный режим. Сервер вернет адрес и порт к которому нужно подключиться чтобы забрать данные. Передача начнется при введении следующих команд RETR, LIST и тд.
- PORT — Войти в активный режим. Например PORT 12,34,45,56,78,89. В отличие от пассивного режима для передачи данных сервер сам подключается к клиенту.
- PWD — Возвращает текущую директорию.
- QUIT — Отключиться
- REIN — Реинициализировать подключение
- RETR — Скачать файл. Перед RETR должна быть команда PASV или PORT.
- RMD — Удалить директорию
- RNFR и RNTO — Переименовать файл. RNFR — что переименовывать, RNTO — во что.
- SIZE — Возвращает размер файла
- STOR — Закачать файл. Перед STOR должна быть команда PASV или PORT.
- SYST — Возвращает тип системы(UNIX, WIN, …)
- TYPE — Установить тип передачи файла(Бинарный, текстовый)
- USER — Имя пользователя для входа на сервер
- Публикация страниц сайта на интернет-сервере Веб-разработчиком
- Cкачивание музыки, программ и любых других файлов данных обычным пользователем интернета. Данный пример зачастую даже не осознается многими пользователями как использование FTP-клиента и протокола, так как многие публичные серверы не запрашивают дополнительных данных для аутентификации пользователей, а Интернет-браузеры (также являющиеся FTP-клиентами) осуществляют скачивание файлов без дополнительных вопросов.