Eu tive esse mesmo problema há algum tempo e, embora não estivesse conectado por meio de uma conta de convidado, ainda não recebi nenhum dado ao emitir comandos como dir
ou ls
.
O problema aqui parece que o cliente FTP que você está usando está no modo ativo - que é o padrão. Você deve alternar para o modo passivo , estabelecendo a conexão FTP e digitando passive
. Você deve receber uma mensagem de confirmação de que o modo passivo foi ativado. Em seguida, insira seus comandos ls
ou dir
.
Explicação: Quando você inicia o FTP, ele é composto por duas conexões diferentes - uma para os comandos (a conexão de comando) e outra para os dados transferidos (a conexão de dados). Quando você está no modo ativo , a conexão do comando é estabelecida em uma porta do servidor. No entanto, a conexão de dados é deixada para o servidor para estabelecer. O servidor então se conecta à sua máquina na porta 20 para essa conexão. O problema é que, como os ataques e hackers são mais comuns hoje em dia do que quando o FTP foi inventado, os dados enviados por uma fonte externa (o servidor) para a porta 20 da sua máquina serão bloqueados pelo seu firewall, NAT ou outro software de segurança. .
Quando você usa o modo passivo , o cliente fica encarregado de estabelecer a conexão de dados. Ele escolhe uma porta aleatória no servidor para fazer isso e, em seguida, faz a conexão. Isso não deve ser bloqueado pelo servidor ou por qualquer firewall ou software de segurança.
Para uma explicação mais detalhada, veja aqui: