FTP「425 Ca n't open data connection」はコマンドプロンプトを使用しているときにのみ発生します


8

私のコンピュータはすべて1台のルーターの背後にあります。それらの1つでFileZillaサーバーを実行しています。バッチスクリプトとWindowsの組み込みftp.exeを使用して、サーバーへのアップロードを自動化しようとしています。ルーターの外からサーバーにアクセスできるように動的DNSサービスを設定し、ルーターでサーバーへのポート転送を設定しました。Google Chrome、Windows Explorer、FileZillaクライアントを使用して問題なく接続および転送できます。ただし、ftp.exeを(手動またはバッチスクリプトで)使用しようとすると、サーバーに接続できますが、データ接続(LIST、STOR、またはRETR)を開くような操作をすると、次のエラーが発生します。データ接続を開けません。両方のコンピューターのファイアウォールでftp.exeを許可しました。何が起こっているのか、どうすれば修正できるのか?FTPを使用する必要はありません。

編集私のISPは21を含む多くのポートとその範囲の他のいくつかのポートをブロックしていることを知っています。これはすべてポート2121で設定されており、パッシブポートは2122-2142に設定されており、これらはすべてルーターで転送されています。おそらく、ftp.exeはデータ接続に特定のポートのみを使用し、ISPはこれをブロックしますか?もしそうなら、これをどのように変更しますか?

回答:


5

通常のアクティブFTPは、転送に別のサーバー起動データ接続を使用し、通常のポート21接続のみを制御チャネルとして使用します。ただし、クライアントがファイアウォールの背後にある場合、ファイアウォールはこの接続をブロックする可能性があります。Chrome、Explorer、FireZillaなどは、元のクライアントが開始した接続がコントロールチャネルとデータチャネルの両方として使用されるパッシブモードを試すのに十分スマートだと思います。

WindowsのデフォルトのCLI FTPクライアントはパッシブモードをサポートしていないようです。したがって、NcFTPに切り替える必要があります。または、おそらくより良いオプションは、代わりにSFTPを使用することです。FTPは安全ではなく、LANでのみ使用されます。SFTPは完全に暗号化されており、データとコマンドに単一のチャネルのみを使用します。CLI SFTPクライアントが必要な場合は、PSFTPが適しています。


私は運が悪いのですでに試しました
Garrett

@Garrett:うーん...私がリンクしたブログ記事は間違っているようで、デフォルトのCLI FTPクライアントはパッシブモードをサポートしていません。その場合、FTPクライアントを切り替える必要があります。NcFTPは1つのオプションであり、確実にパッシブモードをサポートします。
Lèseはmajesté

Windowsエクスプローラーで転送中に要求/応答を監視し、見積もりを使用してまったく同じコマンドを手動で送信しましたが、それでも同じエラーが発生しました
Garrett

@ギャレット:Windowsエクスプローラーは機能すると思いましたか?クライアントがパッシブモードをサポートしていない場合、サーバーに切り替えるように指示することは重要ではありません。
Lèseはmajesté

コマンドラインをサポートしていますか?それは独立したexeですか?
Garrett


0

私にもこの問題がありました。解決策は、ウイルス対策のファイアウォール(私の場合はMcAfee)を停止することで、FTPのポートをブロックしていました。


それは本当に解決策ではありません。
ivan_pozdeev 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.