ls comando no ftp não funciona!

14

Eu estava praticando ftp, mas enfrentei um problema: o comando ls não está funcionando no ftp > . Por quê? Eu verifiquei em 2 servidores remotos, mas ls não funcionou em qualquer um e deu saída diferente quando ls foi executado. Por favor, veja abaixo as 2 caixas remotas.

O abaixo mostra meu servidor remoto onde eu instalei o vsftpd hoje.

ravbholua@ravbholua-Aspire-5315:~$ ftp rs
Connected to ravi.com.
220 (vsFTPd 3.0.2)
Name (rs:ravbholua): 
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/home/ravbholua"
ftp> ls
500 Illegal PORT command.
ftp: bind: Address already in use
ftp> 

O abaixo é para uma máquina remota diferente onde eu tenho que enviar alguns arquivos. Mas como ls no ftp > não está funcionando, como vou transferir arquivos da minha caixa local para essa caixa porque não posso ser confirmado sem ls se os arquivos foram transferidos ou não.

ravbholua@ravbholua-Aspire-5315:~$ ftp 125.21.153.140
Connected to 125.21.153.140.
220---------- Welcome to Pure-FTPd [TLS] ----------
220-You are user number 1 of 10 allowed.
220-Local time is now 04:34. Server port: 21.
220-This server supports FXP transfers
220 You will be disconnected after 2 minutes of inactivity.
Name (125.21.153.140:ravbholua): peacenews
331 User peacenews OK. Password required
Password:
230 OK. Current restricted directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200-FXP transfer: from 123.63.112.168 to 10.215.10.80
200 PORT command successful

Por favor, note que para a máquina acima, uma vez que executei ls no ftp & gt ;, o prompt não retornou.

Em ambas as máquinas remotas, tenho saída diferente quando executada ls no ftp >

    
por Ravi 04.10.2013 / 14:52

2 respostas

23

FTP é um protocolo antigo. Ele depende de duas conexões TCP: uma conexão de controle sobre quais comandos são trocados e conexões de dados para o conteúdo dos arquivos e também para a saída de comandos como ls . O que está acontecendo aqui é que a conexão de controle é estabelecida, mas as conexões de dados não estão passando.

Por padrão (modo ativo), as conexões de dados são estabelecidas do remetente para o receptor. Para a saída de ls , os dados são enviados pelo servidor, portanto, o servidor tenta abrir uma conexão com o cliente. Isso funcionou bem quando o FTP foi inventado, mas hoje em dia, os clientes geralmente estão atrás de um firewall ou NAT que pode ou não suportar o FTP ativo. Mude para o modo passivo, onde o cliente sempre inicia a conexão de dados.

Verifique o manual do seu comando ftp para ver como alternar para o modo passivo por padrão. Por um tempo, digitando o comando passive geralmente faz o truque.

Você pode querer mudar para um cliente de FTP mais agradável, como ncftp ou lftp .

    
por 05.10.2013 / 04:44
3

Completa solução completa para "ftp 500 Illegal PORT command". Clique no seguinte link: link .

Trecho

Tentando conectar o servidor ftp & Obtendo 500 Comando ilegal de porta. Esse problema pode ocorrer quando o programa ftp não está configurado para o modo passivo.

Você pode receber um snippet de erro, como:

COMMAND:>              [3/11/2015 1:17:05 PM] PORT 192,168,0,101,196,215    
                       [3/11/2015 1:17:05 PM] 500 Illegal PORT command.    
ERROR:>                [3/11/2015 1:17:05 PM] Syntax error: command unrecognized.    
ERROR:>                [3/11/2015 1:17:05 PM] Failed to establish data socket.

Para resolver esse problema, você pode definir a porta ou o ftp no arquivo de configuração do ftp server & defina o endereço IP ou o servidor PASV.

Verifique o arquivo de configuração para as configurações abaixo.

pasv_enable=YES
pasv_promiscuous=YES
pasv_max_port=Enter the max port range allowed on your server.
pasv_min_port=Enter the min port range allowed on your server.
pasv_address=Ip Address of your server.

Depois disso, reinicie o serviço ftp & verifique a conexão ftp.

    
por 17.03.2015 / 07:13