Eu estava praticando o ftp, mas enfrentou um problema: o comando ls não está funcionando no ftp>. Por quê? Eu verifiquei em dois servidores remotos, mas o ls também não funcionou e dei uma saída diferente quando o ls foi executado. 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>
A seguir, é para uma máquina remota diferente, onde tenho que enviar alguns arquivos. Mas como ls no ftp> não está funcionando, como transferirei 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
Observe que, para a máquina acima, uma vez que executei ls em ftp>, o prompt não voltou.
Nas duas máquinas remotas, obtive uma saída diferente quando executada ls em ftp>
man ftp
e achei a -p
opção a ser usada no modo passivo. Como man ftp
menciona que o ftp é uma interface de usuário para o protocolo de transferência de arquivos padrão da Internet: é interface e não o cliente ftp !!! O que eu entendo é que o cliente ftp usa essa interface (ftp) para transferir arquivos.