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

Ответ

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 в активном режиме фаервол клиента должен разрешать входящие соединения на высокие порты. Пассивный режим часто предпочтительнее, так как все соединения инициирует клиент.

Ответ 18+ 🔞

А, слушай, вот эта штука с FTP — это же классика, просто пиздец! Как будто архитекторы его проектировали после пятничной пьянки. Два порта, блядь, как будто одного мало!

Смотри, как это работает, тут без бутылки не разберёшься, но я попробую.

Основная лабуда, канал управления: Это как твой начальник, который только команды раздаёт. Сидит на порту 21, такой важный, и орет: «Логинься!», «Покажи, что в папке!», «Тащи файл сюда, сука!». Всё общение с ним — через этот порт. Чистая бюрократия, блядь.

# Это типа позвонить начальнику и спросить, жив ли он
telnet ftp.example.com 21

А теперь, внимание, ебля с данными! Тут два режима, и один из них — просто ёперный театр.

Активный режим (Active Mode): Это когда сервер, такой наглый мудак, решает сам к тебе в гости зайти. Ты с портом 21 поговорил, а он тебе в ответ: «Ща, я к тебе на порт 20 подключусь и данные принесу!». И лезет к тебе в комп. Естественно, если у тебя на входе стоит фаервол (здравый мужик, кстати), он такого наглеца по IP и порту отфильтрует и скажет: «Нахуй иди со своим портом 20». Соединение не сложится, и всё, пизда.

Пассивный режим (Passive Mode): Вот это уже умнее, его придумали, когда все уже окончательно заебались с этими активными костылями. Тут вся инициатива — на клиенте, как и должно быть!

  1. Ты к порту 21 подключился, всё как обычно.
  2. Говоришь волшебное слово PASV. Типа «Эй, сервак, давай по-пассивному, я сам всё сделаю».
  3. Сервер, такой хитрая жопа, открывает у себя какой-то случайный высокий порт (типа 49152) и говорит тебе его номер. «На, — говорит, — приходи сюда за данными».
  4. И вот ты, клиент, уже сам инициируешь второе соединение, уже к этому левому порту, чтобы файлы скачать. Фаервол твой смотрит на это и думает: «Ну, раз ты сам вышел и подключился — окей, проходи». Гениально и просто, ёпта!

Итог, блядь: Если не хочешь головной боли с настройкой фаервола, чтобы он входящие соединения от сервера пропускал (а зачем тебе это, в рот меня чих-пых?), всегда юзай пассивный режим. Клиент всё делает сам, сервер просто услужливо дырочку на своем фаерволе открывает и ждёт. Красота!