File Transfer Protocol (букв. «протокол передачи файлов») или просто
FTP (
произносится в английском языке «Эф-Ти-Пи», в других языках произношение может отличаться) — сетевой протокол, предназначенный для передачи файлов в компьютерных сетях. Протокол FTP позволяет подключаться к серверам FTP, просматривать содержимое каталогов и загружать файлы с сервера или на сервер, кроме того возможен режим передачи файлов между серверами (см. FXP).
FTP является одним из старейших прикладных протоколов, появившимся задолго до HTTP в 1971 году. До начала 90-х годов на долю FTP приходилось около половины трафика в сети интернет. Этот протокол и сегодня широко используется для распространения программного обеспечения и доступа к удалённым хостам.
Протокол не шифруется, при аутентификации передаёт логин и пароль открытым текстом. Если злоумышленник находится в одном сегменте сети с пользователем FTP, то, используя сниффер (например, Wireshark),
он может перехватить логин и пароль пользователя, или, при наличии
специального ПО, получать передаваемые по FTP файлы без авторизации.
Чтобы предотвратить перехват трафика, необходимо использовать протокол
шифрования данных SSL, который поддерживается многими современными FTP-серверами и некоторыми FTP-клиентами.
На многих FTP-серверах существует каталог (под названием incoming,
upload и т. п.), открытый на запись и предназначенный для закачки
файлов на сервер. Это позволяет пользователям наполнять сервер свежими
данными.
Изначально протокол предполагал встречное TCP-соединение от сервера
к клиенту для передачи файла или содержимого каталога. Это делало
невозможным общение с сервером, если клиент находится за IP NAT, кроме того, часто запрос соединения к клиенту блокируется файерволом.
Чтобы этого избежать, было разработано расширение протокола FTP passive
mode, когда соединение для передачи данных тоже происходит от клиента к
серверу. Кроме того, этой проблемы можно избежать, если использовать прокси-сервер.
источник: wikipedia.org