Java 1.7.0 y FTP de Windows 7 modo Pasivo

El problema que se da al intentar conectarse mediante FTP con cualquier aplicación que use Java (llamese Netbeans, aplicación propia, etc)  al enviar el comando PASV la conexión se cierra.

La solución es mas que nada un parche para el problema real que es el Windows Firewall.

Para solucionar este problema en una consola con privilegios elevados hay que colocar el siguiente comando:

netsh advfirewall set global StatefulFtp disable

Con esto el problema se solucionaría, en caso falso, probar poniendo el binario de Java como excepción en el Firewall (algo muy inseguro…) o corre el binario con la opción “-Djava.net.preferIPv4Stack=true” que deshabilita IPv6 y usa sockets AF_INET exclusivamente.

Anexo el link para mas información sobre el problema:  java.net.Socket closes when “PASV” is sent on an authenticated FTP connection <http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7077696>

Author: Miguel González López

Software Engineer

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.