FTP (англ. File Transfer Protocol — протокол передачи файлов) — протокол, предназначенный для передачи файлов в компьютерных сетях. FTP позволяет подключаться к серверам FTP, просматривать содержимое каталогов и загружать файлы с сервера или на сервер; кроме того, возможен режим передачи файлов между серверами (см. FXP).
FTP является одним из старейших прикладных протоколов, появившимся задолго до HTTP, в 1971 году. До начала 90-х годов на долю FTP приходилось около половины трафика в сети Интернет[источник не указан 343 дня]. Он и сегодня широко используется для распространения ПО и доступа к удалённым хостам.
Протокол FTP относится к протоколам прикладного уровня и для передачи данных использует транспортный протокол TCP. Команды и данные, в отличие от большинства других протоколов передаются по разным портам. Порт 20 используется для передачи данных, порт 21 для передачи команд. В случае, если передача файла была прервана по каким-либо причинам, протокол предусматривает средства для докачки файла, что бывает очень удобно при передаче больших файлов.
Протокол не шифруется, при аутентификации передаёт логин и пароль открытым текстом. Если злоумышленник находится в одном сегменте сети с пользователем FTP, то в случае построения сети на хабе (если сеть строится на свитчах по умолчанию это исключено, но злоумышленник может перехватить трафик, если сменит mac адрес своего сетевого адаптера на mac адрес адаптера жертвы, поскольку коммутация выполняется на 2ом уровне модели OSI (по mac адресам)), используя пассивный сниффер, он может перехватить логин и пароль пользователя, или, при наличии специального ПО, получать передаваемые по FTP файлы без авторизации. Чтобы предотвратить перехват трафика, необходимо использовать протокол шифрования данных SSL, который поддерживается многими современными FTP-серверами и некоторыми FTP-клиентами.
Процесс нешифрованной авторизации проходит в несколько этапов (символы
означают перевод строки)
| ADSL | BitTorrent | Dial-Up | DNS | DNSSEC | FTP | Gnutella | Gopher | HTTP | IMAP | IPv6 | IRC | MMORPG | POP3 | Skype | SMTP | SSH | SSL | TLS | TCP IP | UseNET | VoIP | WAIS | WAP | I-радио | I-TV | Мессенджеры | SPDY и ISDN | Оптоволокно | Эл.Платежи |