Cliente FTP do Windows: Limite do intervalo de portas de dados

0

Existe uma ferramenta na minha empresa que usa o cliente FTP nativo do Windows (ftp.exe). Este cliente FTP, às vezes, usa uma porta para conexão de dados que é reconhecida pelo firewall como peer-to-peer pela camada de controle de aplicativos.

Gostaria de saber se tenho uma maneira de limitar o intervalo de portas usado pelo cliente FTP no registro ou em outro lugar.

Obrigado pela sua ajuda.

Alexandre

    
por abillon 04.08.2017 / 14:08

2 respostas

2

Não é possível.

Não é possível usar um cliente FTP e um modo passivo de linha de comando do Windows? Isso resolveria todos os problemas com o firewall.

Por exemplo, WinSCP ? Existe até um guia para converter o script FTP do Windows para o script WinSCP .

(eu sou o autor do WinSCP)

    
por 04.08.2017 / 21:40
1

Veja a atualização abaixo

Apenas com o FTP Ativo, o cliente pode decidir em quais portas usar, usando o comando PORT :

...
PORT 192,168,0,2,7,123
200 PORT command successful
LIST
...

O servidor é instruído a conectar-se a 192.168.0.2 na porta 7 * 256 + 123 = 1915 . Os dois números no final são os 8 bits mais altos e mais baixos do número da porta de 16 bits.

No entanto, com o FTP Ativo, o servidor se conectará ao cliente. Isso não é adequado para clientes por trás de firewalls ou roteadores NAT. Com o FTP passivo, é o oposto: o cliente abre conexões adicionais ao servidor. Assim, o FTP passivo é agora o padrão de fato. Mas com o FTP passivo, o cliente não pode decidir em qual porta usar:

...
PASV
227 Entering Passive Mode (192,168,0,3,7,123).
LIST
...

Agora, o cliente precisa iniciar a conexão com o endereço IP e a porta indicados na resposta do servidor ( 227 Entering ... ). Embora ainda seja problemático com firewalls, porque não é uma porta "conhecida", ele é totalmente compatível com roteadores NAT sem os auxiliares de FTP.

tl; dr : somente com FTP ativo. O FTP ativo não funcionará.

Atualizar

Agora que está claro que essa questão é sobre ftp.exe , a explicação acima é praticamente irrelevante, pois ftp.exe suporta apenas FTP ativo. No entanto, o comportamento de ftp.exe não pode ser controlado / modificado. Um cliente FTP diferente é necessário.

A maioria dos clientes não suporta a configuração ou o controle do intervalo de portas de dados. Excerto do manual do WinSCP :

As WinSCP does not allow configuring a range of the ports it uses for data connections, all ports in Windows dynamic port range 49152 - 655354) have to be opened.

Você pode reconsiderar toda a sua abordagem para transferir arquivos. O FTP é simplesmente desatualizado. Usar um protocolo de porta única (SFTP, HTTP, ...) para transferir o arquivo pode ser uma maneira melhor.

    
por 04.08.2017 / 22:02