227 entering passive mode как исправить
Перейти к содержимому

227 entering passive mode как исправить

  • автор:

227 entering passive mode как исправить

Установил сабж. Вот настройки:

Как видно со скрина порт через роутер прокинут 21-й, в брандмауэре винды есть правило разрешающее любые входящие соединения по 21 порту. 2ip.ru порт 21й видит из инета, пытается удаленно товарищ конектиться и вот что выдает. При отключении брандмауэра все работает, как сделать чтобы работало с включеным брандмауэром?

(000023)04.11.2012 23:57:42 — (not logged in) (718.327.54.11)> Connected, sending welcome message.
(000023)04.11.2012 23:57:42 — (not logged in) (718.327.54.11)> 220-FileZilla Server version 0.9.41 beta
(000023)04.11.2012 23:57:42 — (not logged in) (718.327.54.11)> 220-written by Tim Kosse (Tim.Kosse@gmx.de)
(000023)04.11.2012 23:57:42 — (not logged in) (718.327.54.11)> 220 Please visit http://sourceforge.net/projects/filezilla/
(000023)04.11.2012 23:57:42 — (not logged in) (718.327.54.11)> USER rmt
(000023)04.11.2012 23:57:42 — (not logged in) (718.327.54.11)> 331 Password required for rmt
(000023)04.11.2012 23:57:42 — (not logged in) (718.327.54.11)> PASS ******
(000023)04.11.2012 23:57:42 — rmt (718.327.54.11)> 230 Logged on
(000023)04.11.2012 23:57:42 — rmt (718.327.54.11)> opts utf8 on
(000023)04.11.2012 23:57:42 — rmt (718.327.54.11)> 200 UTF8 mode enabled
(000023)04.11.2012 23:57:42 — rmt (718.327.54.11)> PWD
(000023)04.11.2012 23:57:42 — rmt (718.327.54.11)> 257 "/" is current directory.
(000023)04.11.2012 23:57:42 — rmt (718.327.54.11)> CWD /drivers/
(000023)04.11.2012 23:57:42 — rmt (718.327.54.11)> 250 CWD successful. "/drivers" is current directory.
(000023)04.11.2012 23:57:42 — rmt (718.327.54.11)> TYPE A
(000023)04.11.2012 23:57:42 — rmt (718.327.54.11)> 200 Type set to A
(000023)04.11.2012 23:57:42 — rmt (718.327.54.11)> PASV
(000023)04.11.2012 23:57:42 — rmt (718.327.54.11)> 227 Entering Passive Mode (192,168,1,2,200,115)
(000023)04.11.2012 23:59:43 — rmt (718.327.54.11)> 421 Connection timed out.
(000023)04.11.2012 23:59:43 — rmt (718.327.54.11)> disconnected.

Цитата:

227 Entering Passive Mode (192,168,1,2,200,115)

Цитата:

FTP может работать в активном или пассивном режиме, от выбора которого зависит способ установки соединения. В активном режиме клиент создаёт управляющее TCP-соединение с сервером и отправляет серверу свой IP-адрес и произвольный номер клиентского порта, после чего ждёт, пока сервер не запустит TCP-соединение с этим адресом и номером порта. В случае, если клиент находится за брандмауэром и не может принять входящее TCP-соединение, может быть использован пассивный режим. В этом режиме клиент использует поток управления, чтобы послать серверу команду PASV, и затем получает от сервера его IP-адрес и номер порта, которые затем используются клиентом для открытия потока данных с произвольного клиентского порта к полученному адресу и порту.

В данном случае ваш сервер говорит клиенту, что надо коннектиться на 192.168.1.2 и порт 200*256 + 115 = 51315, который закрывает ваш файерволл. мало того, что выдается внутренний IP (может, конечно, его ваш умный роутер переделывает во внешний), но порт то закрыт для передачи данных, да и проброса его через роутер, скорее всего, нет (правда тут, опять же, роутер может быть умным и считать эту информацию из общения с ftp сервером).

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

еще нескромный вопрос — для чего вам файерволл и NAT одновременно? боитесь чего то в локальной сети?

и почитайте, все же, как работает FTP — там не один порт используется.

Цитата:

FileZilla динамически меняет номера портов при разных подключениях

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

Status: Resolving address of 79.1х.х.х
Status: Connecting to 79.1х.х.х
Warning: The entered address does not resolve to an IPv6 address.
Status: Connected, waiting for welcome message.
Error: Connection timed out
порты 21-20 и диапазон в программе и NAT проброшены.

пробовал отключать фаервол в TI результат 0

TheBarmaley спасибо но там в основном вопросы по клиенту хорошо продолжим там

FTP сервер возвращает ошибку 227

при чём тут ошибка? мне же и нужно в пассивный режим зайти. ладно, едем дальше.

Опыта работы с ftp нет, нашел какие то исходники, собрал проект, выдаётся вышеупомянутое исключение. Упростил код до невозможности, ошибка осталась. Странность ещё в том, что в totalCommander соединение удаётся,

пробовал так же ставить

Получил ошибку 500, синтаксическую, мол, команда не опознана. Буду благодарен, если мне объяснят, что я делаю не так)

Ошибка «227 Переход в пассивный режим» / «В соединении отказано» при загрузке с локального FTP-сервера в эмуляторе Android.

Я пытаюсь загрузить файл со своего локального сервера FileZilla с Java FTPSClient , работающим в эмуляторе Android.

Я написал этот вспомогательный код для загрузки одного файла:

Я называю эту функцию так:

Но я продолжаю получать эту ошибку:

Я уже пробовал использовать enterLocalActivemode() вместо enterLocalPassivmode() , но это не помогло. FTP-сервер использует протокол TLS и работает на моем локальном компьютере. Подключаюсь к нему через 10.0.2.2 (шлейф Android). Как я могу это исправить?

Модели проектирования, используемые в spring framework

Основы программирования на Java

Концепции JavaScript, которые вы должны знать как JS программист!

Ответы 1

Хотя я не знаком с эмулятором Android, я предполагаю, что вам нужно подключиться к 10.0.2.2, чтобы подключиться к хост-машине эмулятора.

В пассивном режиме FTP сервер отправляет обратно IP-адрес, к которому FTP-клиент должен подключиться для передачи файла (или списка каталогов). Когда ваш FTP-сервер прослушивает 127.0.0.1, он отправляет этот IP-адрес обратно. Но 127.0.0.1 относится к (эмулированному) хосту Android в контексте вашего кода Android. Следовательно, «в соединении отказано».

Это очень похоже на обычную проблему с подключением к FTP-серверу за NAT. См. FTP-сервер, работающий на порте 2000 через NAT, не работает в пассивном режиме

И решение, следовательно, такое же:

  • В интерфейсе сервера FileZilla перейдите к Правка> Настройки> Настройки пассивного режима> Для IPv4> IP-адрес внешнего сервера для передачи в пассивном режиме. И введите 10.0.2.2.
  • Возможно, вам также нужно будет снять галочку с «Не используйте внешний IP для локальных подключений».

Очевидно, это, в свою очередь, делает FTP-сервер непригодным для использования обычными клиентами.

И вы правильно прокомментировали, эта проблема возникает только при подключении из эмулятора Android к FTP-серверу, работающему на хосте эмулятора.

Добавить комментарий

Ваш адрес email не будет опубликован.