• ベストアンサー

ftpプロトコル

javaで、ftpクライアントを作成しようかと考えているのですが、Passive Mode のところがよくわかりません。 >PASV を実行すると 227 Entering Passive Mode (xxx,xxx,xxx,xxx,xxx,xxx). が帰ってきます。最初の4つがアドレスで、次の二つがポート番号? どなたかご教示おねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • m_hagizo
  • ベストアンサー率65% (31/47)
回答No.1

ご察しの通り、先頭4つのパラメータがIPアドレスで、後の2つがポート番号を指してます。 ご存知かもしれませんが、ポート番号は16進に直したものを第1オクテットと第2オクテットに分解し、それぞれを10進変換したものなので2つのパラメータになります。

yuki_chan
質問者

お礼

ありがとうございます。 つまり、サーバに接続するときはipアドレスはそのまま使い、ポート番号は「第一*256+第二」 で、接続すれば、後はアップロードなどできるわけですね

その他の回答 (2)

  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.3

どうぞ!

参考URL:
http://hp.vector.co.jp/authors/VA002682/rfc959j.htm
yuki_chan
質問者

お礼

日本語のRFCがあったんですね! ありがとうございます。

  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.2

詳しくはRFC959「FILE TRANSFER PROTOCOL (FTP)」をお読みになられることをお勧めします。 通常Modeではクライアントがサーバーに対しPORTコマンドでIPアドレス(10進数4つ)とデータ通信用ポート番号(10進数2つ)を通知し、サーバーは通知されたIPアドレスとデータ通信用ポート番号に対して接続します。 このとき、サーバーとクライアントの立場は逆転しサーバーが通信の主導を握ります。 Passive ModeではIPアドレスとデータ通信用ポート番号の指定をサーバーが行い、クライアントがサーバーに対して接続します。 (クライアントが通信の主導権を握りっぱなしになる)

yuki_chan
質問者

お礼

いろいろと情報ありがとうございます。 なんとかRFC959読んでみたいと思います、 自分が使用しているftpサーバはPassive Modeでないと駄目みたいなので。