O EPSV continua a abrir uma conexão de dados FTP separada. Altera as informações do endpoint, não o número de conexões.

Uma resposta PASV tradicional fornece um endereço e uma porta. Esse endereço pode ser inutilizável fora da rede do servidor. O EPSV fornece uma porta e usa o endereço do servidor associado à conexão de controle.

Através de um proxy, mantenha a identidade lógica do servidor FTP. O endereço de escuta do intermediário não é automaticamente o servidor que possui a porta de dados devolvida.

A conexão de dados também precisa da rota de proxy prevista e de permissão para alcançar a porta escolhida. Aceitar um CONNECT para a porta de controle FTP não autoriza todas as conexões de dados seguintes.

Antes de desativar o EPSV, inspecione a resposta passiva e o endereço do servidor e a porta pedidos para a transferência. Um login FTP bem-sucedido estabelece a conexão de controle; deixa a conexão de dados para verificar. Com Python ftplib, siga os dois construtores de socket em vez de confiar apenas no padrão do PySocks.

Artigos relacionados