web-dev-qa-db-ja.com

ftpのlsコマンド>が機能しない!

私はftpを練習していましたが、問題が発生しました:lsコマンドがftp>で機能しません。どうして? 2つのリモートサーバーをチェックしましたが、lsはどちらでも機能せず、lsが実行されたときに異なる出力を示しました。 2つのリモートボックスについては、以下を参照してください。

以下は、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> 

以下は、いくつかのファイルを送信する必要がある別のリモートマシン用です。 しかし、ftp>のlsが機能していないので、ファイルが転送されたかどうかのlsがないと確認できないため、ローカルボックスからそのボックスにファイルを転送するにはどうすればよいですか。

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

上記のマシンでは、ftp>でlsを実行すると、プロンプトが返されないことに注意してください。

両方のリモートマシンで、ftpでlsを実行すると、異なる出力が表示されました>

17
Ravi

FTPは古代のプロトコルです。これは、2つのTCP接続:コマンドが交換される制御接続に依存しており、data connectionsファイルのコンテンツおよびlsなどのコマンドの出力。ここでは、制御接続が確立されていますが、データ接続通過していません。

デフォルト(アクティブモード)では、送信者から受信者へのデータ接続が確立されます。 lsの出力の場合、データはサーバーによって送信されるため、サーバーはクライアントへの接続を開こうとします。これはFTPが発明されたときにうまく機能しましたが、最近では、クライアントはファイアウォールの背後にあるか、NATアクティブFTPをサポートする場合とサポートしない場合があります。パッシブモードに切り替えます。クライアントは常にデータ接続を開始します。 。

デフォルトでパッシブモードに切り替える方法については、ftpコマンドのマニュアルを確認してください。一度だけの場合は、コマンドpassiveを入力すると通常はうまくいきます。

ncftplftp などの、より優れたFTPクライアントに切り替えることができます。

「ftp 500 Illegal PORT command」の完全な完全ソリューション。次のリンクをクリックします: http://www.ucodice.com/articles/ftp-500-illegal-port-command/

抜粋

FTPサーバーに接続しようとしていますが、500のIllegal portコマンドを取得しています。この問題は、ftpプログラムがパッシブモード用に構成されていない場合に発生することがあります。

次のようなエラースニペットが表示される場合があります。

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.

この問題を解決するには、ftpサーバーの構成ファイルでポートまたはftpを定義し、IPアドレスまたはPASVサーバーを定義します。

以下の設定について構成ファイルを確認してください。

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.

その後、ftpサービスを再起動し、ftp接続を確認します。

3
Manoj Kumar