Perintah ls di ftp> tidak berfungsi!

17

Saya sedang berlatih ftp tetapi menghadapi masalah: perintah ls tidak berfungsi pada ftp>. Mengapa? Saya memeriksa 2 server jarak jauh tetapi tidak bekerja dengan baik dan memberikan output yang berbeda ketika dieksekusi. Silakan lihat di bawah untuk 2 kotak jarak jauh.

Di bawah ini menunjukkan server jarak jauh saya tempat saya menginstal vsftpd hari ini.

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> 

Di bawah ini untuk mesin jarak jauh yang berbeda di mana saya harus mengirim beberapa file. Tetapi karena ls di ftp> tidak berfungsi, bagaimana saya akan mentransfer file dari kotak lokal saya ke kotak itu karena saya tidak dapat dikonfirmasi tanpa ls apakah file telah ditransfer atau tidak.

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

Harap dicatat bahwa untuk mesin di atas, setelah saya menjalankan ls di ftp>, prompt tidak kembali.

Pada kedua mesin jarak jauh, saya mendapat output berbeda ketika dieksekusi ls on ftp>

Ravi
sumber
3
gunakan mode pasif. Periksa halaman manual dari klien ftp Anda untuk cara mengaktifkannya.
Stéphane Chazelas
Bagaimana cara mengetahui ftp client apa yang berjalan pada saya?
Ravi
@sthane terima kasih! Saya berlari man ftpdan menemukan -popsi yang akan digunakan untuk mode pasif. Seperti man ftpdisebutkan bahwa ftp adalah antarmuka pengguna ke protokol transfer file standar Internet: jadi itu antarmuka dan bukan klien ftp !!! Apa yang saya mengerti adalah klien ftp menggunakan antarmuka ini (ftp) untuk mentransfer file.
Ravi

Jawaban:

26

FTP adalah protokol kuno. Itu bergantung pada dua koneksi TCP: koneksi kontrol di mana perintah dipertukarkan, dan koneksi data untuk konten file dan juga untuk output dari perintah sepertils . Apa yang terjadi di sini adalah bahwa koneksi kontrol dibuat, tetapi koneksi data tidak melalui.

Secara default (mode aktif), koneksi data dibuat dari pengirim ke penerima. Untuk output darils , data dikirim oleh server, sehingga server mencoba untuk membuka koneksi ke klien. Ini bekerja dengan baik ketika FTP ditemukan, tetapi saat ini, klien sering berada di belakang firewall atau NAT yang mungkin atau mungkin tidak mendukung FTP aktif. Beralih ke mode pasif, di mana klien selalu memulai koneksi data.

Periksa manual ftpperintah Anda untuk melihat cara beralih ke mode pasif secara default. Untuk satu kali, mengetik perintah passivebiasanya berhasil.

Anda mungkin ingin beralih ke klien FTP yang lebih baik seperti ncftp atau lftp .

Gilles 'SANGAT berhenti menjadi jahat'
sumber
Terima kasih!! Tapi mengapa tiba-tiba masalah ini terjadi. Eariler Saya bisa menjalankan ls di ftp>. Tapi kemarin, saya menginstal vsftpd pada server jarak jauh saya (VPS saya) dan juga mengedit file .netrcdi kotak lokal saya (cukup menaruh hash di awal baris di .netrc). Itu saja dan kemudian setelah masalah yang saya hadapi. Apa yang mungkin menjadi alasan bahwa ia bekerja dengan baik sebelumnya dan sejak kemarin tidak bekerja?
Ravi
Anda benar untuk menyarankan lftp. Saya memiliki pengalaman bekerja dengan itu. lftpsangat menakjubkan. Juga saya ingin menambahkan bahwa saya baru saja diperiksa lftpdan itu berjalan dengan baik tanpa masalah ls. lsdi sini (di lftp) menampilkan output dengan benar.
Ravi
3

Solusi Lengkap Lengkap untuk "perintah ftp 500 Illegal PORT". Klik tautan berikut: http://www.ucodice.com/articles/ftp-500-illegal-port-command/ .

Kutipan

Mencoba menghubungkan server ftp & mendapatkan 500 perintah port ilegal. Masalah ini dapat terjadi ketika program ftp tidak dikonfigurasi untuk mode Pasif.

Anda mungkin mendapatkan cuplikan kesalahan seperti:

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.

Untuk mengatasi masalah ini, Anda dapat menentukan port atau ftp dalam file konfigurasi server ftp & menentukan Alamat IP atau server PASV.

Periksa file konfigurasi untuk pengaturan di bawah ini.

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.

Setelah itu restart layanan ftp & periksa koneksi ftp.

Manoj Kumar
sumber