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

«Какие порты использует протокол FTP?» — вопрос из категории HTTP и веб-протоколы, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

FTP использует несколько портов в зависимости от режима работы:

  • Порт 21 (TCP)Канал управления (Control Channel). Используется для отправки команд (LOGIN, LIST, RETR) и получения ответов сервера.
  • Порт 20 (TCP)Канал данных (Data Channel) в активном режиме (Active Mode). Сервер сам инициирует соединение с клиента для передачи файлов или списков каталогов.

Пассивный режим (Passive Mode) решает проблемы с фаерволом на стороне клиента:

  1. Клиент подключается к порту 21 для управления.
  2. Клиент отправляет команду PASV.
  3. Сервер отвечает, открыв случайный высокий порт (например, 49152) и сообщая его клиенту.
  4. Клиент инициирует второе соединение к этому случайному порту для передачи данных.

Пример проверки доступности FTP-сервера:

# Проверка канала управления
telnet ftp.example.com 21

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