Не могу получить содержимое каталога: как исправить ошибку в FTP-клиенте

Ошибка «не могу получить содержимое каталога» возникает в FileZilla, Total Commander и других FTP-клиентах уже после успешного подключения: авторизация проходит, но список файлов не загружается. Классический признак — строка Ответ: 425 Can't open data connection или бесконечное «Получение списка каталогов...» в журнале. Причина почти всегда кроется не в логине и пароле, а в том, как клиент и сервер договариваются о передаче данных.

Дело в том, что FTP использует два отдельных соединения: командное (для логина и команд) и соединение данных (для передачи файлов и списка каталогов). Если второе заблокировано файрволом, роутером или неверным режимом, вы увидите именно эту ошибку. Ниже разберём, как диагностировать проблему и устранить её без риска.

Почему возникает ошибка «не могу получить содержимое каталога»

Чтобы понять проблему, нужно знать, как работает протокол FTP. Клиент подключается к серверу по управляющему каналу (обычно порт 21), отправляет логин и пароль — всё успешно. Но чтобы показать содержимое папки, серверу нужно открыть второе соединение для данных. Именно на этом этапе всё ломается.

Наиболее частые причины:

  • 🔥 Файрвол или антивирус блокирует входящие/исходящие соединения данных.
  • 🌐 Роутер с NAT не пропускает порты пассивного режима.
  • 🔀 Выбран активный режим там, где требуется пассивный (или наоборот).
  • 🔐 Несовпадение настроек шифрования TLS между клиентом и сервером.
  • 📁 Отсутствие прав на чтение каталога у FTP-аккаунта.

Отдельный случай — когда ошибка появляется только на конкретной папке. Тогда вероятная причина — права доступа на стороне сервера, а не сеть. Проверить это можно, попробовав открыть корневой каталог: если он отображается, проблема локальная.

Переключение между активным и пассивным режимом

Первое действие, которое стоит выполнить, — сменить режим передачи. В пассивном режиме (PASV) клиент сам инициирует соединение данных к серверу, что корректно работает через NAT и большинство роутеров. В активном режиме (PORT) сервер сам подключается к клиенту — и это соединение часто блокируется файрволом на вашей стороне.

В FileZilla настройка находится по пути Правка → Настройки → Соединение → FTP. Установите переключатель в положение «Пассивный (рекомендуется)» и попробуйте подключиться заново. Если пассивный режим уже включён и не помогает — попробуйте активный: некоторые серверы настроены наоборот.

⚠️ Внимание: точные названия пунктов меню могут отличаться в зависимости от версии клиента. Если не находите нужный раздел, загляните в официальную справку вашего FTP-клиента.
📊 Что помогло вам решить ошибку?
Переключение в пассивный режим
Отключение файрвола
Смена шифрования (TLS)
Обращение к хостинг-провайдеру

Проверка файрвола и антивируса

Встроенный брандмауэр Windows и сторонние антивирусы нередко блокируют динамические порты, которые FTP использует для передачи данных. Симптом типичен: клиент подключается, команды проходят, а список каталогов — нет. Для диагностики временно отключите файрвол и повторите подключение.

Если после отключения каталог отобразился — причина найдена. Возвращать защиту нужно сразу, а вместо постоянного отключения добавьте FTP-клиент в исключения брандмауэра. В Windows это делается через Панель управления → Брандмауэр Защитника Windows → Разрешение взаимодействия с приложением.

Также проверьте настройки роутера. Некоторые маршрутизаторы имеют функцию FTP ALG (Application Layer Gateway), которая должна помогать FTP через NAT, но на практике иногда ломает соединение. Если функция есть в вашей модели роутера, попробуйте её переключить — точное расположение настройки смотрите в инструкции к устройству.

Настройки шифрования и протокола

Многие серверы требуют защищённое соединение FTPS (FTP через TLS), и при неверном выборе шифрования соединение данных может обрываться. В FileZilla при создании подключения в Менеджере сайтов есть поле «Шифрование» — попробуйте варианты «Использовать явный FTP через TLS, если доступен» и «Требовать явный FTP через TLS».

Если сервер поддерживает SFTP (это другой протокол, работающий через SSH, обычно порт 22), это вообще самый надёжный вариант: у SFTP одно соединение, и проблем с пассивным режимом и файрволами не возникает в принципе. Уточните у хостинг-провайдера, доступен ли SFTP, и подключайтесь через него, выбрав протокол в Менеджере сайтов.

ПротоколСоединенийТипичный портПроблемы с файрволом
FTP (без шифрования)Два (команды + данные)21Частые
FTPS (FTP через TLS)Два (команды + данные)21Частые, плюс нюансы TLS
SFTP (через SSH)Одно22Редкие

Пошаговая инструкция по устранению ошибки

Действуйте по порядку — от самых простых и обратимых проверок к более глубоким. После каждого шага пробуйте подключиться заново: так вы точно поймёте, что именно решило проблему.

☑️ Диагностика ошибки получения каталога

Выполнено: 0 / 6

Если ни один шаг не помог, обратите внимание на журнал соединения в клиенте. Строки вида 227 Entering Passive Mode с последующим таймаутом указывают на блокировку портов данных, а ошибки сразу после LIST — на проблемы с правами или конфигурацией сервера.

⚠️ Внимание: не отключайте файрвол насовсем и не открывайте широкие диапазоны портов без понимания последствий. Все изменения защиты должны быть временными для диагностики или точечными — под конкретное приложение.

Если проблема на стороне сервера

Бывает, что со стороны клиента всё настроено верно, но ошибка сохраняется. Тогда возможная причина — конфигурация самого FTP-сервера: неправильно указан диапазон пассивных портов, эти порты не проброшены, или у учётной записи нет прав на чтение конкретного каталога. Самостоятельно это исправить можно, только если сервер ваш.

Если вы подключаетесь к хостингу, напишите в поддержку провайдера и приложите фрагмент журнала соединения из FTP-клиента — это заметно ускорит диагностику. Также уточните, какие именно параметры подключения (хост, порт, протокол, режим) рекомендует провайдер: они указаны в панели управления хостингом или в приветственном письме.

Как скопировать журнал соединения в FileZilla

В верхней части окна FileZilla находится панель журнала сообщений. Кликните по ней правой кнопкой мыши, выберите «Копировать все в буфер обмена» и вставьте текст в письмо в поддержку. Удалите из текста логин и другие чувствительные данные.

Для собственного сервера (например, на базе vsftpd или ProFTPD) проверьте, что в конфигурации задан диапазон пассивных портов и эти порты открыты в сетевом экране сервера. Конкретные директивы зависят от серверного ПО — сверяйтесь с его официальной документацией.

Часто задаваемые вопросы

Почему логин проходит, а список файлов не загружается?

FTP использует два соединения: командное и соединение данных. Авторизация идёт по первому, а содержимое каталога — по второму. Если соединение данных блокируется файрволом, NAT или неверным режимом (активный/пассивный), вы получаете именно такую картину.

Что лучше выбрать: активный или пассивный режим?

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

Чем SFTP отличается от FTP и FTPS?

SFTP — это отдельный протокол поверх SSH с одним шифрованным соединением (обычно порт 22). FTPS — это классический FTP с добавлением TLS-шифрования, у него по-прежнему два соединения. SFTP надёжнее проходит через файрволы, но сервер должен его поддерживать.

Ошибка появляется только в одной папке. Что делать?

Вероятная причина — права доступа на стороне сервера: у вашей учётной записи нет разрешения на чтение этого каталога. Проверьте права через панель хостинга или обратитесь к администратору сервера.

Поможет ли смена FTP-клиента?

Иногда да. Если в одном клиенте каталог не открывается, попробуйте другой (например, WinSCP вместо FileZilla) — это поможет понять, связана ли проблема с настройками конкретной программы. Но чаще причина всё же в сети или режиме передачи, а не в клиенте.