[Windows] FTPで「150 Opening ASCII mode data connecton.」以降の結果が返ってこない場合の対処法

WindowsのFTPを使用している時、ログインはできるのにgetコマンドやdirコマンドを打つと
「150 Opening ASCII mode data connecton.」というメッセージが表示され、
以降の結果が返ってこない場合の対処法です。


(↓このような感じで止まってしまうパターンです。)

コマンドプロンプト
ftp> get test.txt 200 PORT command successful. 150 Opening ASCII mode data connection.

原因

これは、WindowsのFTPがアクティブモードのFTPを使用しているためです。

アクティブモードだと、クライアント→FTPサーバという通信だけでなく、
FTPサーバ→クライアントという通信が発生するため、
この時点のものがファイアウォールで弾かれてしまっていることが原因です。
なので、ファイアウォールの設定を修正すればこの問題は解決できます。

手順

①「セキュリティが強化されたWindows Defenderファイアウォール」画面を開く

Windows(ファイル名を指定して実行「wf.msc」)

Windowsアイコンを右クリック→「ファイル名を指定して実行」で「wf.msc」を指定して開けます。

②画面左側にある「受信の規則」を選択したうえで、画面右側にある「新しい規則」をクリックする

Windows(セキュリティが強化されたWindows Defenderファイアウォール「新しい規則」)

③「プログラム」を選択して「次へ」をクリックする

Windows(セキュリティが強化されたWindows Defenderファイアウォール「新しい規則 - 規則の種類」)

④「このプログラムのパス」を選択して、パスに「%SystemRoot%\System32\ftp.exe」を指定して「次へ」をクリックする

Windows(セキュリティが強化されたWindows Defenderファイアウォール「新しい規則 - プログラム」)

⑤「接続を許可する」を選択して、「次へ」をクリックする

Windows(セキュリティが強化されたWindows Defenderファイアウォール「新しい規則 - 操作」)

⑥適用したい範囲にチェックを付けて、「次へ」をクリックする

Windows(セキュリティが強化されたWindows Defenderファイアウォール「新しい規則 - プロファイル」)

とりあえず全てチェックを付けておけば問題ありません。

⑦この設定に任意の名前を付けて「完了」をクリックする

Windows(セキュリティが強化されたWindows Defenderファイアウォール「新しい規則 - 名前」)

上記設定を行ったあと再度FTPコマンドを実行すれば、結果が返ってくるはずです。


コメント

タイトルとURLをコピーしました