Ошибка «не могу получить содержимое каталога» возникает в FileZilla, Total Commander и других FTP-клиентах уже после успешного подключения: авторизация проходит, но список файлов не загружается. Классический признак — строка Ответ: 425 Can't open data connection или бесконечное «Получение списка каталогов...» в журнале. Причина почти всегда кроется не в логине и пароле, а в том, как клиент и сервер договариваются о передаче данных.
Дело в том, что FTP использует два отдельных соединения: командное (для логина и команд) и соединение данных (для передачи файлов и списка каталогов). Если второе заблокировано файрволом, роутером или неверным режимом, вы увидите именно эту ошибку. Ниже разберём, как диагностировать проблему и устранить её без риска.
Почему возникает ошибка «не могу получить содержимое каталога»
Чтобы понять проблему, нужно знать, как работает протокол FTP. Клиент подключается к серверу по управляющему каналу (обычно порт 21), отправляет логин и пароль — всё успешно. Но чтобы показать содержимое папки, серверу нужно открыть второе соединение для данных. Именно на этом этапе всё ломается.
Наиболее частые причины:
- 🔥 Файрвол или антивирус блокирует входящие/исходящие соединения данных.
- 🌐 Роутер с NAT не пропускает порты пассивного режима.
- 🔀 Выбран активный режим там, где требуется пассивный (или наоборот).
- 🔐 Несовпадение настроек шифрования TLS между клиентом и сервером.
- 📁 Отсутствие прав на чтение каталога у FTP-аккаунта.
Отдельный случай — когда ошибка появляется только на конкретной папке. Тогда вероятная причина — права доступа на стороне сервера, а не сеть. Проверить это можно, попробовав открыть корневой каталог: если он отображается, проблема локальная.
Переключение между активным и пассивным режимом
Первое действие, которое стоит выполнить, — сменить режим передачи. В пассивном режиме (PASV) клиент сам инициирует соединение данных к серверу, что корректно работает через NAT и большинство роутеров. В активном режиме (PORT) сервер сам подключается к клиенту — и это соединение часто блокируется файрволом на вашей стороне.
В FileZilla настройка находится по пути Правка → Настройки → Соединение → FTP. Установите переключатель в положение «Пассивный (рекомендуется)» и попробуйте подключиться заново. Если пассивный режим уже включён и не помогает — попробуйте активный: некоторые серверы настроены наоборот.
⚠️ Внимание: точные названия пунктов меню могут отличаться в зависимости от версии клиента. Если не находите нужный раздел, загляните в официальную справку вашего FTP-клиента.
Проверка файрвола и антивируса
Встроенный брандмауэр 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 | Редкие |
Пошаговая инструкция по устранению ошибки
Действуйте по порядку — от самых простых и обратимых проверок к более глубоким. После каждого шага пробуйте подключиться заново: так вы точно поймёте, что именно решило проблему.
☑️ Диагностика ошибки получения каталога
Если ни один шаг не помог, обратите внимание на журнал соединения в клиенте. Строки вида 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) — это поможет понять, связана ли проблема с настройками конкретной программы. Но чаще причина всё же в сети или режиме передачи, а не в клиенте.