Moderators: Stefan2, white, Hacker
-
moverman
- Junior Member
- Posts: 4
- Joined: 2010-06-17, 22:55 UTC
FTP servers stop responding after MLSD command
Apparently many sites still use older versions of PureFTPd, with a problem related to the MLSD command. These sites stop responding completely, which makes it impossible to establish a connection with TC 7.55.
An option «always use LIST» would be highly appreciated in a future version! Meanwhile, I’ll have to go back to an earlier one…
-
Sob
- Power Member
- Posts: 923
- Joined: 2005-01-19, 17:33 UTC
Post
by *Sob » 2010-06-18, 02:57 UTC
Just open FTP connection properties, select Advanced tab and uncheck Use MLSD for directory listings.
-
ghisler(Author)
- Site Admin
- Posts: 44454
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Post
by *ghisler(Author) » 2010-06-18, 08:19 UTC
Can you give me an example of a public site using such an old version of PureFTPd? You can contact me at support at ghisler dot com if you cannot make it public. I will use it purely for test purposes.
-
moverman
- Junior Member
- Posts: 4
- Joined: 2010-06-17, 22:55 UTC
Post
by *moverman » 2010-06-18, 08:57 UTC
Thanks for responding both so quickly. I overlooked the option to uncheck MLSD, sorry for that. Regarding Ghisler’s request for an example, I met this problem with some of my shared hosting accounts on U.S. based hosting company GoDaddy — not with public sites (yet).
-
ghisler(Author)
- Site Admin
- Posts: 44454
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Post
by *ghisler(Author) » 2010-06-18, 15:40 UTC
Are you sure that it’s MLSD’s fault? TC uses it only when the ftp server announces (in reply to the FEAT command) that it fully supports MLSD.
Maybe it’s a problem with active vs. passive mode?
-
moverman
- Junior Member
- Posts: 4
- Joined: 2010-06-17, 22:55 UTC
Post
by *moverman » 2010-06-18, 22:29 UTC
I think I have to appologize for the second time… It was indeed the combination of MLSD and the active mode (which works fine with the LIST command). Switching over to passive mode did the trick. Thanks!
-
ghisler(Author)
- Site Admin
- Posts: 44454
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Post
by *ghisler(Author) » 2010-06-20, 09:35 UTC
I see, so it’s probably a problem with your Internet router/firewall which doesn’t know MLSD and doesn’t allow the ports through…
-
moverman
- Junior Member
- Posts: 4
- Joined: 2010-06-17, 22:55 UTC
Post
by *moverman » 2010-06-20, 22:15 UTC
Bingo! Zonealarm 8.0.298.000 was causing this. The problem with a mostly fine working firewall is that you would almost forget that you’ve got one. I should have shut it down in the first place before blaming PureFTPd.
-
gisarb
- New Member
- Posts: 1
- Joined: 2011-08-24, 12:19 UTC
Post
by *gisarb » 2011-08-24, 12:20 UTC
Anyway I got flash fxp working, I changed it to not use passive.
При передаче на сервер и приеме файлов по FTP-протоколу иногда возникают различные ошибки, которые прерывают загрузку. Конечно, это доставляет много неприятности пользователям, особенно, если нужно срочно загрузить важную информацию. Одной из самых распространенных проблем при выполнении передачи данных по протоколу FTP через программу Total Commander является ошибка «Команда PORT не выполнена». Давайте узнаем причины возникновения, и способы устранения данной ошибки.
Скачать последнюю версию Total Commander
Причины возникновения ошибки
Основная причина возникновения ошибки «Команда PORT не выполнена» кроется, в большинстве случаев, не в особенностях архитектуры Total Commander, а в некорректных настройках провайдера, причем это может быть, как провайдер клиента, так и сервера.
Существует два режима соединения: активный и пассивный. При активном режиме, клиент (в нашем случае программа Тотал Коммандер) отправляет на сервер команду «PORT», в которой сообщает свои координаты подключения, в частности IP-адрес, для того, чтобы сервер связался с ним.
При использовании пассивного режима, клиент сообщает серверу, чтобы уже тот передал свои координаты, и после их получения, выполняет подключение к нему.
При некорректных настройках провайдера, использования прокси или дополнительных файерволов, переданные данные в активном режиме искажаются при выполнении команды PORT, и происходит обрыв соединения. Как же решить данную проблему?
Устранение ошибки
Чтобы устранить ошибку «Команда PORT не выполнена», нужно отказаться от использования команды PORT, которая применяется в активном режиме соединения. Но, проблема состоит в том, что по умолчанию в Total Commander используется именно активный режим. Поэтому, чтобы избавиться от данной ошибки, нам предстоит включить в программе пассивный режим передачи данных.
Для этого кликаем по разделу «Сеть» верхнего горизонтального меню. В появившемся списке выбираем пункт «Соединиться с FTP-сервером».
Открывается список FTP-соединений. Отмечаем нужный сервер, и жмем на кнопку «Изменить».
Открывается окно с настройками соединения. Как видим, пункт «Пассивный режим обмена» не активирован.
Отмечаем данный пункт галочкой. И жмем на кнопку «OK», чтобы сохранить результаты изменения настроек.
Теперь можно попробовать соединиться с сервером заново.
Указанный выше способ гарантирует исчезновение ошибки «Команда PORT не выполнена», но он не может дать гарантию, что соединение по FTP-протоколу заработает. Ведь далеко не все ошибки могут быть решены на стороне клиента. В конце концов, провайдер может целенаправленно заблокировать все FTP-соединения в своей сети. Тем не менее, указанный выше способ устранения ошибки «Команда PORT не выполнена», в большинстве случаев, помогает пользователям возобновить передачу данных через программу «Тотал Коммандер» по этому популярному протоколу.
Еще статьи по данной теме:
Помогла ли Вам статья?
На чтение 4 мин. Просмотров 112 Опубликовано 15.12.2019
При соединении по ftp к нашему серверу возможно появление следующей ошибки:
Статус: Соединяюсь с 78.46.52.106:21.
Статус: Соединение установлено, ожидание приглашения.
Ответ: 220 FTP Server ready.
Команда: USER ***
Ответ: 331 Password required for ***
Команда: PASS ***
Ответ: 230 User *** logged in
Статус: Соединение установлено
Статус: Получение списка каталогов.
Команда: PWD
Ответ: 257 «/» is the current directory
Команда: TYPE I
Ответ: 200 Type set to I
Команда: PASV
Ответ: 227 Entering Passive Mode (78,46,52,106,171,50).
Команда: MLSD
Ошибка: Превышено время ожидания соединения
Ошибка: Не могу получить список каталогов!
Это означает, что фтп-клиент не может подключиться к серверу в пассивном режиме. Фаерволом на сервере перекрыты порты, которые не используются статически, а динамически выбираются. FTP-клиенты после соединения в пассивном режиме отправляют команду серверу для перехода работы на порты выше 1024 (все порты, что ниже — они зерезервированы, а остальные, за ненадобностью и в целях обеспечения безопасности у нас отключены), поэтому и возникают такие проблемы.
Для решения данной проблемы необходимо подключаться в активном режиме. Как это сделать в двух наиболее популярных программах описано ниже.
Мини-руководство для пользователей FileZilla:
Вкладка меню Редактирование -> Настройки. Далее открывается окно, в котором слева выбираем вкладку FTP. Справа появлится группа настроек Режим передачи. По умолчанию стоит Пассивный (Рекомендуется). Здесь-то и нужно выбрать Активный режим. Далее нажимаем на кнопку ОК и успешно подключаемся.
Мини-руководство для пользователей Total Commander:
Вкладка меню Конфигурация -> Настройка. Далее открывается окно, в котором слева выбираем вкладку FTP. Справа появлится группа настроек, последним пунктом будет Использовать пассивный режим. По умолчанию стоит галочка, которую нужно снять. Далее нажимаем на кнопку ОК и успешно подключаемся.
Для остальных ФТП-клиентов алгоритм приблизительно такой же. Иногда проблема не устраняется из-за настроек фаервола на Вашем компьютере или в Вашей сети — как правило пишется Port failed. Решается она перенастройкой фаервола. Также были случаи, когда даже при правильной настройке фтп-клиент не хотел работать. Ситуация разрешилась переустановкой программы.
Если у Вас возникнут какие-либо сложности, служба технической поддержки всегда готова прийти на помощь.
I am trying to download a file from my local FileZilla Server with Java FTPSClient running in Android emulator.
I’ve written this helpercode to download one File:
I call this function like this:
But I keep getting this error:
I already tried to use enterLocalActivemode() instead of enterLocalPassivmode() but it didn’t help. The FTP server is TLS enforcing and running on my local machine. I am connecting to it through 10.0.2.2 (Android loopback). How can I fix this?
1 Answer 1
While I’m not familiar with Android Emulator, I assume that you need to connect to 10.0.2.2 to connect to the emulator host machine.
In an FTP passive mode, the server sends back an IP address to which the FTP client needs to connect to transfer a file (or a directory listing). As your FTP server listens on 127.0.0.1, it sends back that IP address. But 127.0.0.1 refers to the (emulated) Android host, in the context of your Android code. Hence the «connection refused».
This is pretty much similar to a common problem with connecting to an FTP server behind a NAT. See FTP server running on Port 2000 over NAT not working on Passive Mode
And the solution is hence the same:
- In FileZilla Server Interface, go to Edit > Settings > Passive mode settings > IPv4 specific > External Server IP Address for passive mode transfers. And enter 10.0.2.2.
- Maybe you will also need to uncheck «Don’t use external IP for local connections».
Obviously this in turn makes the FTP server unusable for normal clients.
And you have correctly commented, this problem only arise when connecting from Android emulator to an FTP server running on emulator host.
Т.к. вы неавторизованы на сайте. Войти.
Т.к. тема является архивной.
>Сервер отправил пассивный ответ с неопределяемым адресом. Использую существующий адрес сервера.
Проверь логи на роутере — увидишь, на какой порт клиент стучится и где отлуп. ¶