FTP通信が「150 Opening ASCII mode data connecton」で止まる場合の解決方法

アリスです。

前回Windows10でFTPサーバを立てる方法を書きました。

こんにちは、アリスです。 Windows10でWindowsの機能を使ってFTPサーバを構築する方法を紹介します。 FT...

しかし、他のWindows PCから、コマンドプロンプト経由でWindowsPCからFTPサーバにログイン後、例えばdirやcd等のコマンドを打つと「150 Opening ASCII mode data connecton.」で止まります。

スポンサーリンク

ブラウザ経由であればアクセス可能

コマンドプロンプト経由のアクセスで失敗するだけで、ブラウザ経由なら問題なくアクセスできます。

ブラウザのURLに「ftp://IPアドレス」と入れてアクセスしてみてください。

IPアドレスの調べ方ですが、FTPサーバのPCでコマンドプロンプトを開き「ipconfig」と打てばわかります。(※FTPサーバにアクセスしたいので、FTPサーバのIPが必要)

スポンサーリンク

「150 Opening ASCII…」で通信が止まる場合の解決方法

理由は後で説明するとして、とりあえず解決方法を書きます。

1.FTPサーバにアクセスしたいクライアントPCで、コントロールパネルを開きWindowsファイアーウォールの設定を開きます。

2.画面左メニューから詳細設定を開きます。

3.画面左メニューで「受信の規則」を選択した状態で、画面右メニューから「新しい規則」をクリックします。

4.プログラムを選択して次へボタンをクリックします。

5.このプログラムのパスを選択して、参照ボタンをクリックすると「C:\Windows\System32」のフォルダが開かれます。

フォルダ内にある「ftp.exe」を選択します。選択できたら、次へボタンをクリックします。

6.「接続を許可する」を選択し、次へボタンをクリックします。

7.ドメイン、プライベート、パブリックにチェックが入っていることを確認して、次へボタンをクリックします。

8.任意の名前を付けます。FTP Clientでいいでしょう。

コマンドプロンプトを再起動して、再度FTPサーバにログインすれば、コマンドが使えるようになります。

スポンサーリンク

FTP通信が止まった理由

FTPサーバにログインできたにも関わらず、その後コマンドを打つと通信が止まる理由は、コマンドプロンプトでのFTP通信がアクティブモードで行われるからです。

FTP通信にはアクティブモードとパッシブモードがあります。

アクティブモードではデータ転送用の線をFTPサーバからクライアントPCに投げますが、このときにクライアントPC側のファイアーウォールで通信が阻止されてしまうのです。

阻止されないように、クライアントPCのファイアーウォールの受信規則を追加し、FTPの通信を解除してあげたわけです。

ちなみに、ブラウザ経由でのFTPアクセスはパッシブモードで行われているから問題なくアクセスできました。

パッシブモードとは、データ転送用の線をクライアントPCからFTPサーバに投げる方法です。

ファイアーウォールは外からのアクセスは防いでくれますが、中からのアクセスは基本的に素通りさせます。

パッシブモードでは、クライアントPCの中から、FTPサーバにデータ線を投げるので、大丈夫であったのです。

スポンサーリンク
関連記事と広告