dポイントプレゼントキャンペーン実施中!

お世話になります。

現在、FTPサーバのテストをしているのですが、テスト項目の関係上FTPコマンドを手打ちで送信する必要があります。Filezillaの右クリックメニューの[カスタムコマンドを入力]にて、コントロールコネクションを使用するコマンドは送信できるのですが、データコネクションを使用するコマンドを使用しようとすると応答が返ってこなくなります。

手打ちではない場合は成功しているので、ツールの仕様なのかと思っています。
データ転送コマンドが正常に送信可能なツールがありましたら、教えて頂きたいです。

※PASV等データコネクションのポート決定するコマンドの送信からデータ転送コマンドの送信までで、データコネクションが切れてしまっているとかではないかと思っています。もし、サーバの問題等的外れな推測でしたら、指摘お願い致します。

例)
Filezillaからログイン

コマンド送信"PASV"
⇒応答"227 Entering Passive Mode (192,168,2,228,230,194)"

コマンド送信"LIST"
⇒応答無し。タイムアウトエラーとなる

A 回答 (1件)

vsftp相手にちょっと試してみましたが確かにできませんね。


多分、LISTコマンドで受信するデータがFilezillaで
受け取れていないからだと思います。

ftpの基本は
制御用のコネクションとデータ転送用のコネクションがあること
これは理解されていますよね。

PASVモードの手順としては
PASV
PORT (IPアドレス,ポートの上位8bitの10進数,ポート下位8bitの10進数)
その後、LISTコマンドなどを実行するのですが、

PORTコマンドでデータ転送用のコネクションのポート番号をネゴシエートしても
Filezillaがその番号にポートを開けて、データを受信できるように
してくれるわけではないようです。
LISTコマンドの結果はデータコネクションのポート宛に
送られますが、データコネクションのポートで受信できないので、
破棄されているということではないかと思います。
    • good
    • 0
この回答へのお礼

回答有難うございます。

結論として、Filezillaや簡易的なFTPクライアントツールでというわけではないのですが、
telnetにて、コントロールコネクション用の接続とデータコネクション用の接続を開いた状態で、
コントロールコネクションにコマンドを打ち込むことで、
コントロール/データコネクション両方で、意図していた応答を確認できました。

お礼日時:2017/11/30 17:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!