Estou tentando usar o comando "ls" em uma sessão FTP anônima, mas quando digito o comando "ls", recebo:
200 Comando PORT com sucesso. Considere usar PASV.
E fica assim (sem retorno ao prompt do FTP).
Reiniciei a sessão ftp e entrei em modo passivo (citação PASV), mas recebo outro problema: "Sem rota para host"
Você tem alguma sugestão ?
Responder1
quote PASV
nãoentre no modo passivo da maneira que você pensa - "PASV" é um comando imediato (que precede cada transferência) em vez de um comando de mudança de modo permanente.
Em vez disso, oclientedeve ser instruído a usar PASV em vez de PORT sempre que ls
uma transferência de arquivo for solicitada.
Cominetutils-ftp, use opassive
comando ou execute o cliente como pftp
ou ftp --passive
.
Responder2
Lembro-me de ter visto esse problema uma vez quando esqueci de abrir a porta 20 no firewall. Embora a porta normalmente associada ao FTP seja a 21, os dados geralmente são enviados pela porta 20.
Certifique-se de que 20 e 21 estejam abertos no cliente e no servidor, para que quem iniciar a conexão na porta 20 possa passar.
Responder3
Você tem alguma sugestão ?
Sim, abandone o FTP.
Eu sei que provavelmente essa não era a resposta que você queria ouvir, mas deixe-me explicar por que ela é realmente necessária, e então você poderá estar mais inclinado a fazer isso. Também lhe darei outra alternativa.
O FTP foi escrito quando a Internet era considerada um projeto experimental. As principais universidades e grandes organizações tinham regras de conduta, aplicadas por instituições respeitadas, e por isso as pessoas na Internet (na verdade chamada de ARPAnet na época) eram confiáveis.
O FTP foi projetado para que o cliente use uma conexão TCP para enviar uma solicitação de arquivo. Em seguida, o servidor recebeu a solicitação e iniciou uma conexão TCP separada com o cliente.
Isso quebrou quando os clientes começaram a usar firewalls para proteger suas coisas. Assim, os clientes FTP podiam fazer conexões de saída, mas as conexões de entrada eram bloqueadas.
Uma maneira de contornar isso era o modo passivo: o cliente envia uma solicitação usando a porta TCP 21, então o servidor diz que deseja outra conexão usando alguma porta TCP aleatória (por exemplo, 43728) e então o cliente faz uma segunda conexão usando o TCP aleatório especificado. porta (por exemplo, 43728).
Isso funcionou se o cliente tivesse um firewall. Muitas pessoas começaram a aprender que o “modo passivo” corrigia os problemas de FTP. No entanto, o que o “modo passivo” realmente corrigiu foi apenas um problema específico. Se o servidor tiver um firewall que permita apenas o tráfego de entrada em números de porta específicos, como a porta 21 para FTP, mesmo o "modo passivo" não corrigirá tudo o que é necessário para funcionar.
Em teoria, isso poderia ser corrigido se o firewall do servidor FTP suportasse um proxy FTP que monitorasse o tráfego e abrisse outra porta, se necessário. Muitas pessoas consideram isso um pouco difícil de configurar.
À medida que mais organizações se preocupavam mais com a segurança e menos com o FTP, as pessoas começaram a aprender que o FTP estava se tornando normalmente quebrado (o que significa que cada vez mais servidores FTP estavam sendo desafiadores para usar em cada vez mais locais onde as pessoas poderiam tentar usar um FTP cliente em). Os problemas de FTP começaram a se tornar mais difundidos.
Por um tempo, as pessoas aprenderam que o “modo passivo” parecia ser uma técnica mágica de “cura para tudo” que corrigia os problemas de FTP. (Muitas pessoas não entenderam por que o FTP parou de funcionar. Eles apenas aprenderam que se o FTP começasse a agir de forma estranha, o "modo passivo" parecia resolver aquele problema estranho que o FTP enfrentava. Mais tarde, acreditaram que o "modo passivo" era uma "cura mágica" all" foi comumente substituído por uma crença diferente, que é que o FTP normalmente não parece funcionar mais (não tão bem como costumava). Mesmo que muitas pessoas não entendessem por que o FTP quebrou, o que elas entenderam é que a vida pareceu funcionar com mais sucesso quando eles tentaram outra técnica, que é simplesmente começar a usar outros protocolos. À medida que o upload de HTTPS começou a se tornar mais popular, as pessoas simplesmente pararam de usar o FTP quase tanto.
Portanto, sua melhor solução é simplesmente abandonar o antigo protocolo FTP, que não funciona com as medidas modernas de segurança da Internet. O FTP simplesmente não foi projetado para isso. O NAT também é usado para ajudar vários dispositivos a usar um endereço IP.
O NAT é frequentemente implementado por um firewall, embora possa ter outras finalidades além da segurança (como aumentar o número de dispositivos suportados). Qualquer que seja a finalidade do uso do NAT, o resultado final é que o NAT basicamente interrompe a conexão FTP pelos mesmos motivos (não permitindo que a conexão alcance o dispositivo desejado). Portanto, o FTP também não foi projetado para suportar NAT.
Antigamente, o FTP era apenas um esforço experimental para tentar fazer a transferência de arquivos funcionar. O FTP atingiu seu objetivo original. Portanto, apesar de não funcionar bem com a Internet atual, o FTP não foi mal projetado. Seu design realmente foi um bom sucesso na época. Ele foi projetado apenas para um estilo de Internet diferente daquele que usa as tecnologias comuns de hoje.
O HTTP não apresenta tantos problemas, pois usa uma conexão TCP em vez de múltiplas. Nem muitas alternativas seguras: HTTPS, SFTP, FTPS, SCP.
Prometi outra alternativa. É: faça o FTP funcionar. As estratégias incluem: * Fazer com que o firewall do lado do cliente execute um proxy FTP * Faça com que o firewall do servidor FTP execute um proxy FTP
O problema é que muitas vezes você não tem controle sobre um lado da conexão. Portanto, um deles pode não ser uma opção para você.
Você pode tentar apenas remover completamente o firewall. No entanto, é provável que isso introduza riscos de segurança que a maioria das pessoas considera NÃO trazer benefícios. Em vez disso, basta descartar a ideia de usar o antigo protocolo FTP que não funciona tão bem com a Internet moderna e adquirir algum software moderno para usar transferências de arquivos por HTTPS ou FTPS (ou SCP). Normalmente funcionará melhor com firewalls, funcionará melhor com NAT e oferecerá os benefícios de privacidade. (Você realmente não queria transmitir sua senha, não criptografada, pela Internet, não é?)
A menos que você esteja tentando obter arquivos públicos, nesse caso HTTPS ou HTTP pode ser o caminho mais fácil.