HOME >> Tips >> Microsoft Windows

ftpクライアントによる接続が「150 Opening ASCII mode data connecton.」と表示されて停止する

2016/12/21
文書番号:20643


Windows 標準の FTP クライアントで FTP サーバーへ接続時に 「dir」や「ls」などのコマンドを実行すると結果が得られずに止まってしまいます。


クリックで拡大

この時点で接続、ログインはできているのでサーバー側のファイアウォールなどは問題ないと思います。

また、この状態で他のFTPソフトを使用するとほとんどの場合は問題なく接続でき、ディレクトリ一覧なども取得できると思います。

これは Windows 標準の FTP クライアント(ftp.exe)がアクティブモードで接続しているためです。


FTP 接続にはアクティブモードとパッシブモードという2種類のモードがあります。
古くからあるアクティブモードと、現在主流のパッシブモードです。

※Windows 標準の FTP クライアント(ftp.exe)はアクティブモードしかサポートしていません。

※FTP のモードの違いなどについては詳しく書かれたサイトがたくさんありますので調べてみてください。


パッシブモードはクライアントからFTPサーバーへの通信しか発生しませんが、アクティブモードではサーバーからクライアントへの通信も発生します。

「dir」コマンドなどで止まってしまうのはサーバーからクライアントへの通信を行う部分が原因です。

このサーバーからクライアントへの通信を通すためにクライアント側のファイアウォールを設定する必要があります。

【対応方法】

    ※ FTP クライアント側の端末で操作します。
  1. キーボードの Windwos ロゴキーを押しながら「R」キーを押します。

    クリックで拡大

  2. 「ファイル名を指定して実行」ダイアログが起動します。
    「wf.msc」と入力して「OK」をクリックします。

    クリックで拡大

  3. 「セキュリティが強化された Windows ファイアウォール」が起動します。
    右ペインの「新しい規則」をクリックします。

    クリックで拡大

  4. 「新規の受信の規則ウィザード」が起動します。

    【規則の種類】
    「プログラム」を選択して「次へ」をクリックします。

    クリックで拡大

  5. 【プログラム】
    「このプログラムのパス」を選択し、テキストボックスに「%SystemRoot%\System32\ftp.exe」と入力します。

    もしくは「参照」ボタンをクリックし、「C:\Windows\System32\ftp.exe」を選択してもOKです。

    ftp.exeを指定したら「次へ」をクリックします。

    クリックで拡大

  6. 【操作】
    「接続を許可する」を選択して「次へ」をクリックします。

    クリックで拡大

  7. 【プロファイル】
    接続を許可するネットワークプロファイルを選択して「次へ」をクリックします。

    クリックで拡大

  8. 【名前】
    「Ftp Client」など、わかりやすい名前を指定して「完了」をクリックします。

    クリックで拡大

  9. 再度、Ftp接続し、「dir」コマンドを実行してみます。
    結果が返ってくれば成功です。

    クリックで拡大