Инструменты пользователя

Инструменты сайта


ftp

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

ftp [2019/04/07 21:01]
ftp [2020/06/13 13:45] (текущий)
Строка 1: Строка 1:
 +====== Протокол FTP протокол передачи файлов ======
 +  * [[ftpd]] - FTP сервер, входящий в состав [[FreeBSD]]
 +  * [[tftpd]] - установка в Ubuntu.
 +  * [[Pure-FTPd]]
 +  * [[ProFTPD]]
 +  * [[Правила iptables для FTP]]
 +
 +Протокол **FTP** (File Transfer Protocol — протокол передачи файлов) предназначен для передачи файлов по сети.
 +
 +FTP описывается [[RFC]] 959 и определен только для транспортного протокола TCP; [[UDP]] -реализации, в отличие от TFTP, нет. В [[RFC]] 2428 описаны расширенные режимы FTP, которые позволяют работать в сетях IPv6. В расширенных режимах вместо команд PORT и PASV используются EPRT и EPSV соответственно.
 +
 +Характерной отличительной особенностью FTP от других протоколов является то, что он для своей работы задействует два порта – порт данных и порт управления. Порт управления используется для установления соединения между клиентом и сервером, для управления режимами работы и т. д. В то время как порт данных служит для передачи запрашиваемой информации. Протоколом определены два режима взаимодействия: активный и пассивный, понимание которых крайне важно в случае использования в сети брандмауэров.
 +
 +  * [[http://howtoconfig.net/linux/active-passive-mode-ftp/|Активный и пассивный режим FTP]]
 +
 +<note tip>С помощью ftp можно передавать очень большой объем данных, указав /dev/zero в качестве ввода и /dev/null в качестве вывода (или mkfifo /tmp/mypipe). Это позволяет избежать использования дисков (ограничивающих пропускную способность) и кэширования всего передаваемого файла в памяти. Подобным способом можно нагрузить сетевые интерфейсы проверяемых серверов, чтобы проверить пропускную способность. Проще использовать [[Iperf]].</note>
 +
 +Протокол не шифруется, при аутентификации передаются логин и пароль открытым текстом. Чтобы предотвратить перехват трафика, необходимо использовать протокол шифрования данных [[SSL]], который поддерживается многими современными FTP-серверами и некоторыми FTP-клиентами.
 +  * Пример FTP сессии:
 +<file>
 +220 FTP server ready.
 +USER ftp //Анонимус
 +230 Login successful.
 +PASV
 +227 Entering Passive Mode (192,168,254,253,233,92)//Клиент должен открыть соединение на переданный  IP
 +LIST
 +150 Here comes the directory listing. //Сервер передает список файлов в директории
 +226 Directory send OK.
 +CWD incoming
 +250 Directory successfully changed.
 +PASV
 +227 Entering Passive Mode (192,168,254,253,207,56)
 +STOR gyuyfotry.avi
 +150 Ok to send data. //Клиент передает содержимое файла
 +226 File receive OK.
 +QUIT
 +221 Goodbye.
 +</file>
 +Аргумент 192,168,254,253,207,56 означает, что соединение от сервера ожидается на узле с IP-адресом 192.168.254.253 на порту 207*256+56=53048.
 +