Ćwiczyłem ftp, ale napotkałem problem: polecenie ls nie działa na ftp>. Dlaczego? Sprawdziłem na 2 zdalnych serwerach, ale ls nie działał na żadnym z nich i podałem inne dane wyjściowe, gdy ls został wykonany. Poniżej znajdują się 2 zdalne skrzynki.
Poniżej pokazano mój zdalny serwer, na którym dzisiaj zainstalowałem vsftpd.
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>
Poniżej przedstawiono inny komputer zdalny, na którym muszę wysłać niektóre pliki. Ale ponieważ ls na ftp> nie działa, w jaki sposób mogę przenieść pliki z mojego lokalnego pudełka do tego pudełka, ponieważ nie mogę potwierdzić bez ls, czy pliki zostały przesłane, czy nie.
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
Pamiętaj, że dla powyższej maszyny, gdy uruchomiłem ls na ftp>, monit nie wrócił.
Na obu komputerach zdalnych otrzymałem inne dane wyjściowe po uruchomieniu ls na ftp>
man ftp
i znalazłem -p
opcję do użycia w trybie pasywnym. Jak man ftp
wspomniano, ftp jest interfejsem użytkownika do standardowego internetowego protokołu przesyłania plików: więc jest to interfejs, a nie klient ftp !!! Rozumiem, że klient ftp używa tego interfejsu (ftp) do przesyłania plików.