サイトアイコン puti se blog

WindowsのFTPクライアントではパッシブモード(PASV)では接続できない?

FTPクライアントの接続には

の二種類があり、
このモードの違いにより、TCPレベルで接続が方法が異なります。
詳しくは別途説明するとしまして、
WindowsのFTPクライアント(標準ftp.exe)では、パッシブモードでのFTPサーバーへのアクセスは出来ないのでしょうか?

環境・前提条件

確認した環境は以下になります。

結論、Windows標準のftp.exeではパッシブモード(PASV)接続できない

結論から言ってしまうと、
残念ながらWindows標準のftp.exeではパッシブモード(PASV)接続はできません。
変更もできません。

どうしてもFTPクライアントでパッシブモード接続をしなければならないサーバー環境の場合は、
Windowsでは別のFFFTPやWinSCPといったソフトを使用し、パッシブモード接続する必要があります。

パッシブモード(PASV)かアクティブモード(PORT)か見極める方法

そのFTPクライアントの接続が、

見極める方法は、デバックモードでFTPクライアントを実行することでわかります。

ftp –d

上記は、Windowsの場合のデバックモードの起動オプションです。

デバックモードで、ftp接続をし、lsコマンドを実行したあとのデバックが

の場合は、アクティブモードで、
サーバーへクライアントのIPアドレスを返信し、サーバーからクライアントへの接続を促します(アクティブモード)

一方、

の場合は、クライアントにサーバーへの接続ポートの教えクライアントからのサーバー接続を促します(パッシブモード)

上記は、FTPコマンド単位で再接続が行われます。

噂のquote pasvコマンドではパッシブモード(PASV)に変更できないの?

残念ながら、できません。

quote pasv

コマンドを発行することにより、サーバーから接続先のポート情報が来ますが、
FTPコマンドを実行すると、そのPASVポートには接続せず、結局PORTコマンドでアクティブモード接続してしまう挙動となります。

LinuxやAS400のFTPクライアントはデフォルトでパッシブモード(PASV)で動作し、アクティブモードへのへの変更ができるのですが、
Windowsのftpクライアントの場合は、残念ながらアクティブモードでしか接続できないんですね。

以上、Windows 標準ftpクライアントの接続動作モードの話でした

モバイルバージョンを終了