ftp ftp> çalışmıyor!


17

Ben ftp pratik oldu ama bir sorunla karşı karşıya: ls komut ftp> üzerinde çalışmıyor. Neden? 2 Uzak sunucularda kontrol ama ls ya da çalışmadı ve ls yürütüldüğünde farklı çıktı verdi. 2 uzak kutu için lütfen aşağıya bakın.

Aşağıda, bugün vsftpd'yi yüklediğim uzak sunucumu gösteriyor.

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şağıda, bazı dosyaları göndermem gereken farklı bir uzak makine içindir. Ama ftp üzerinde ls çalışmıyor gibi, ben dosyaları aktarılır olsun ya da olmasın ls olmadan teyit edilemez çünkü dosyaları yerel kutudan o kutuya nasıl aktaracağım.

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

Yukarıdaki makine için, ftp> üzerinde ls çalıştırdığımda, istemin geri gelmediğini lütfen unutmayın.

Her iki uzak makinede, ftp üzerinde ls yürütüldüğünde farklı çıktı aldım>


3
pasif modu kullanın. Nasıl etkinleştirileceği konusunda ftp istemcinizin man sayfasına bakın.
Stéphane Chazelas

Sonunda hangi ftp istemcisinin çalıştığını nasıl bilebilirim?
Ravi

@ stephane teşekkürler! Koştum man ftpve -ppasif mod için kullanılacak seçeneği buldum . As man ftpo ftp İnternet standardı dosya transfer protokolü için bir kullanıcı interfacei olduğunu bahseder: ftp istemcisi 's arabirimine yüzden değil !!! Anladığım kadarıyla ftp istemcisi dosyaları aktarmak için bu arabirimi (ftp) kullanıyor.
Ravi

Yanıtlar:


26

FTP eski bir protokoldür. İki TCP bağlantısına dayanır: üzerinde komutların değiş tokuş edildiği bir kontrol bağlantısı ve dosyaların içeriği ve ayrıca komutların çıkışı için veri bağlantılarıls . Burada olan, kontrol bağlantısının kurulması, ancak veri bağlantılarının yapılmamasıdır.

Varsayılan olarak (etkin mod), gönderenden alıcıya veri bağlantıları kurulur. Çıktısı lsiçin veriler sunucu tarafından gönderilir, böylece sunucu istemciyle bağlantı kurmaya çalışır. Bu, FTP icat edildiğinde iyi çalıştı, ancak günümüzde istemciler genellikle aktif FTP'yi destekleyebilen veya desteklemeyen bir güvenlik duvarının veya NAT'ın arkasındadır. İstemcinin her zaman veri bağlantısını başlattığı pasif moda geçin.

ftpVarsayılan olarak pasif moda nasıl geçileceğini görmek için komutunuzun kılavuzuna bakın. Bir kerelik bir şey için, komutu yazmak passivegenellikle hile yapar.

Ncftp veya lftp gibi daha güzel bir FTP istemcisine geçmek isteyebilirsiniz .


Teşekkürler!! Ama neden birdenbire bu sorun ortaya çıktı. Eariler ftp> üzerinde ls çalıştırabildim. Ama dün, uzak sunucuma (VPS) vsftpd yükledim ve .netrcyerel kutumda da dosya düzenledim (sadece .netrc'deki satırın başına hash koydum). Hepsi bu ve sonra karşılaştığım ls sorunundan sonra. Ls'nin daha önce iyi çalışmasının ve dünden beri çalışmamasının nedeni ne olabilir?
Ravi

Önerme hakkın var lftp. Bununla çalışma konusunda deneyimim var. lftpgerçekten şaşırtıcı. Ayrıca ben şimdi şimdi kontrol var lftpve mükemmel ls hiçbir sorunu olan gayet iyi çalışıyor eklemek istiyorum . lsburada (lftp cinsinden) çıktıyı düzgün gösteriyor.
Ravi

3

"Ftp 500 Yasadışı PORT komutu" için tam çözüm. Aşağıdaki bağlantıyı tıklayın: http://www.ucodice.com/articles/ftp-500-illegal-port-command/ .

Alıntı

Ftp sunucusuna bağlanmaya çalışılıyor ve 500 Geçersiz bağlantı noktası komutu alınıyor. Bu sorun, ftp programı Pasif mod için yapılandırılmamışsa oluşabilir.

Aşağıdaki gibi hata pasajı alabilirsiniz:

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.

Bu sorunu gidermek için ftp sunucusunun yapılandırma dosyasındaki bağlantı noktasını veya ftp'yi tanımlayabilir ve IP Adresini veya PASV sunucusunu tanımlayabilirsiniz.

Aşağıdaki ayarlar için yapılandırma dosyasını kontrol edin.

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.

Bundan sonra ftp hizmetini yeniden başlatın ve ftp bağlantısını kontrol edin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.