- 締切済み
FTP PASV後毎回425になる件
お読み頂き有難う御座います。 FTPでPASVを使用しファイルを送信する際、初回Put時『425 Cannot open data connection.』となります。PASVモードを指定し数秒待ったあと、Putしても同様 の現象です。 サーバ側の設定等で対処可能なのか、クライアント側による425が返却された場合 にリトライを行う対処が正しいのか、ご経験のあるかたアドバイスをお願いします。 【環境】 サーバOS:WindowsServer2019 サーバポート解放状況:20,21,65500-65510 クライアントOS:Windows10 【コマンドログ】 C:\Users\xxxxxxxx>ftp -d xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx に接続しました。 220 Microsoft FTP Service ユーザー (xxx.xxx.xxx.xxx:(none)): xxxxxxxx ---> USER xxxxxxxx 331 Password required パスワード: ---> PASS asonetestpass 230 User logged in. ftp> bin ---> TYPE I 200 Type set to I. ftp> quote PASV ---> PASV 227 Entering Passive Mode (xxx,xxx,xxx,xxx,xxx,xxx). ftp> put hoge.txt ---> PORT xxx,xxx,xxx,xxx,xxx,xxx 200 PORT command successful. ---> STOR hoge.txt 150 Opening BINARY mode data connection. 425 Cannot open data connection. ftp> put hoge.txt ---> PORT xxx,xxx,xxx,xxx,xxx,xxx 200 PORT command successful. ---> STOR hoge.txt 125 Data connection already open; Transfer starting. 226 Transfer complete. ftp> ftp> by ---> QUIT 221 Goodbye.
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- wormhole
- ベストアンサー率28% (1626/5665)
もしかしてですが、ftpサーバとクライアントの間にはルーターがあったりはしませんか?
- wormhole
- ベストアンサー率28% (1626/5665)
>227 Entering Passive Mode (XXX,XXX,XXX,XXX,253,235). 253×256+235=65003ですので65500-65510の間には入っていないと思いますけど。
- asciiz
- ベストアンサー率70% (6803/9674)
FTPのPORTコマンドで、 >PORT aaa,bbb,ccc,ddd,eee,fff IPアドレス aaa.bbb.ccc.ddd、ポート番号 eee×256+fff 番にデータコネクションを張る、という指示になっているんですが、この eee×256+fff が 65500~65510の範囲に入っているでしょうか? リトライした結果、たまたま2回目はその範囲のポート番号を使うことになり、通信できているということかもしれません。 あるいは、解放済みポート番号ではなく、Windows Firewallのプログラム指定でのポート利用許可動作により、1回はエラーになるけども2回目で通る、ということかもしれません。 原始的なFirewallの動作(ポート番号での制御)で言えば、解放していないポート以外で何度通信しようとしても通らないはずです。
補足
回答有難う御座います。 >IPアドレス aaa.bbb.ccc.ddd、ポート番号 eee×256+fff 番にデータコネクションを張る、という指示になっているんですが、この eee×256+fff が 65500~65510の範囲に入っているでしょうか? 説明不足ですみません。FTPサーバもパッシブ用ポートを65500~65510で設定しており、 eee,fffはゾーン内の値で、返却しております。 パッシブ用サーバポートの準備が出来ていないのでしょうか・・・ ftp> quote PASV ---> PASV 227 Entering Passive Mode (XXX,XXX,XXX,XXX,253,235). ftp> put hoge.txt : :
補足
前提記載誤りをしており失礼致しまた。 65500-65510 ⇒ 65000-65100 でした。 申し訳御座いません。