FTP-протокол использует более одного порта.
21 - это "управляющее соединение" (Control Connection).
Для передачи данных (вывод списка тоже относится к этому) используется отдельное соединение, которое называется "Data Connection".
В активном режиме инициатором этого соединения является FTP-сервер. На какой адрес и порт соединяться - сообщает клиент при открытии соединения. В настоящее время использовать такой режим передачи не рекомендуется.
В пассивном режиме инициатором соединения является клиент, а адрес и порт (динамический, меняется) сообщает FTP-сервер.
Нужно включать более подробное логгирование в FTP-клиенте, чтобы выводились команды, посылаемые на FTP-сервер и получаемые ответы.
Ну и проверить, не запрещено ли где-то соединение на порты, отличные от 21-го.