• ベストアンサー

FTPについて

FTPでファイル送信をしているんですが、PASVとはどういう機能なんでしょうか? 本やネットで調べてみましたがイマイチ理解できません。 どなたか教えてください。また分かり易く紹介しているサイトがありましたら教えてください。

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

  • ベストアンサー
  • Desires
  • ベストアンサー率40% (173/424)
回答No.1

FTPのクライアント側からFTPサーバの側へ向けてデータ転送用のTCPコネクションをオープンするのがこのPASVモードです(ポート番号は双方とも任意) セキュリティ用語事典の FTP PASV http://www.atmarkit.co.jp/aig/02security/ftppasv.html Internet Security Systems の FTP :PASV 解説 http://advice.isskk.co.jp/security/ice/advice/Services/FTP/PASV/default.htm NextFTP FAQの PASVモードについて知りたい http://www.toxsoft.com/nextftp/faq/1507.html で判るかと…どうでしょうか?

その他の回答 (2)

  • JP002086
  • ベストアンサー率35% (1462/4166)
回答No.3

FTP PASVについて、簡単に書かれている所が有りますので、参考URLを読んで見てください。 概要だけを簡単に言うと、ファイアウォールでPort21を閉じている場合に、FTPサーバに送信する仕組みです。 通常ですと、port21を使用しますがログインが完了するとPort21ではなく、FTPサーバから別のport番号を要求しクライアントに送信させるようにさせる物です。

参考URL:
http://www.atmarkit.co.jp/aig/02security/ftppasv.html
  • ngsvx
  • ベストアンサー率49% (157/315)
回答No.2

パッシブモードのことですね。 FTPのファイル転送ではセッションを2つ必要とします。 1つはコマンドのやりとりのためで、もう1つはデータの送受信に使います。 1つ目のセッションは、クライアントから接続しにいくわけですが、2つ目のセッションをどうのようにして接続するかが問題になります。 デフォルトはアクティブモードといって、サーバー側からクライアント側に接続をしにいきます。 このモードでは、クライアントはサーバーに対しIPアドレスを知らせる必要があります。また、クライアントにファイアーウォールなどがあると、サーバー側から接続することはできません。 それに対し、パッシブモードでは立場を逆転させ、クライアントからサーバーに接続をしにいきます。 この方法の場合にはファイアーウォールがあっても転送可能となります。

関連するQ&A

  • FTPサーバ間でのデータ転送について

     FTPサーバ間でファイルやりとりしたいなと思って調べていたら、PASVモードを上手く使えば できるようなことをネット上に書いてありました。 http://www.atmarkit.co.jp/fnetwork/rensai/netpro11/netpro01.html  ただ、具体的な方法論まで書いたページを見つけられず。。 もし識者の方がいれば教えて欲しいのですが、次のようなことは可能でしょうか。 ●目的「LAN上のFTP機能があるNASから、単独でネット上のFTPサーバとデータのやりとりをしたい」 ファイヤウォールのあるルータの下にFTPサーバ機能がついたNASがあります。 LAN内に外部に公開しているFTPサーバはありませんので、ルータのポートは自由にあけれます。 可能ならば、おそらく、WAN上のFTPをPASVモードにして、そこに繋ぎにいくという形になるのかなという気はしています。  可能な場合、以下について教えていただけると嬉しいです。 ・どのようなソフトを使って実現すればいいでしょうか。  TELNETでやる場合、どのようなコマンドを送ればいいでしょうか? (linux、Windowsどちらのソフトでも構いません。  転送中常時起動が必要なソフトならばlinuxのものだと嬉しいです) ・ルータのポートは空けないといけないものはあるでしょうか。 よろしくお願い致します。

  • FTPについて

     FTPについて知りたいのですが、初心者なものですから専門的な本やサイトを見てもあまり理解できません。初心者にも分かりやすく解説してあるFTPのサイトはありませんでしょうか?誰か一押しのインターネットサイトを教えてください。お願いします。

  • IEではFTPにつながらない

    Next FTPではつながるFTPサイトがIE7.0でアクセスすると、ID、パスワード入力用のダイアログが出てきて、正しいID、パスワードを入れても、何度でも同じダイアログが出てきます。 接続できるサイトもあるのですが、接続できないサイトとの違いがわかりません。 ホストファイル名、PASVモード、取得コマンドなど、接続できるサイトとできないサイトに特徴的な違いがどうしても見つかりません。 ホストファイル名がUTF-8だとダメなのかとも思いましたが、シフトJISでも接続できないサイトもあります。 どういうときはできて、どういうときはできないのか、ご存知の方いらっしゃいましたら、教えてください。また、接続できる設定等あれば、あわせてお願いいたします

  • ftpについて

    最近、CXファイルエクスプローラというアプリ(Android)のftp通信機能を使って、スマホからパソコンへWi-FI経由でデータを移行できることを知りました。 しかし、ネットで調べたところ、ftpでは通信が暗号化されないため、ftpsやstfpが用いられることが多いとありました。 そこで質問です。 ①自宅の暗号化されたWi-Fiを使ったftp通信なら、傍受されないのでしょうか。すなわち、ここでいうftpの傍受とは、使用するWi-Fiに悪意ある人物が接続している状況でのみ起こりうるのでしょうか。 ②ftpsなどの暗号化されたftp通信を行うためには、どのようにすればよいのでしょうか。ネットで調べてみたのですが、良く分かりませんでした。 おそらく、CXエクスプローラでつないでいる状態だとスマホがサーバー側で、PCがクライアントになっているように思われます。アプリの機能的に、暗号化通信をするには、この関係性を逆にしなければならないと思うのですが、調べても設定が複雑そうで良く分かりませんでした。 長文、及び初歩的な質問となってしまい申し訳ありませんが、わかりやすく教えていただけると大変助かります。 もし私の理解力不足だとしたらもっと勉強するか、諦めます。 よろしくお願いいたします。

  • ftpがうまく、動いていません。

    以下のようにPHP書きましたが Cドライブ直下に index.htmlができません。 エラーもでません。 何故でしょうか? 迷宮いりです。。。 ---------- $host = "ftp.dp○○○.lolipop.jp"; $user = "lolipop.jp-dp○○○"; $pass = "○○○"; $port = "21"; $timeout = "90"; // ファイルのパス $local_path = "C:\\index.html"; $remote_path = "index.html"; // HOSTに接続 $con = ftp_connect( $host, $port, $timeout ); // ログイン ftp_login( $con, $user, $pass ); ftp_pasv($con, true); // ファイルダウンロード ftp_get( $con, $local_path, $remote_path, FTP_BINARY ); ftp_close( $con );

    • 締切済み
    • PHP
  • windows10 FTP送信 バッチが動かない

    windows10からFTPサーバーへPUTしたいのですが、バッチファイルが動かないPCが存在します。 バッチファイル ftp -s:\\**********\b01.bat >\\**********\ftp.log b01.bat  open **********  **********  **********  PUT \\**********.TXT  QUIT 以下がログです。 ftp> open ********** ********** に接続しました。 220 (vsFTPd 2.2.2) 200 Always in UTF8 mode. ユーザー (**********:(none)): 331 Please specify the password. 230 Login successful. ftp> PUT \\**********.TXT 200 PORT command successful. Consider using PASV. 425 Failed to establish connection. ftp> QUIT 221 Goodbye. 色々調べた結果、パッシブモードではないからダメ・・・ しかしながら、別のwindows10では、問題なくPUT出来ています。 試しに、動作しないPCでコマンドラインで実行した結果は、 200 PORT command successful. Consider using PASV. ここまで上記と同様 150 Ok to send data. ftp: 300バイトが送信されました 0.29秒 1.05KB/秒 上記の通り問題なく送信できます。 windowsのFTPはパッシブモードはサポートしないならすべて出来ないなら理解できますが コマンドプロンプトでは実行できることが疑問、また、実行できる端末と出来ない端末があることも疑問です。 WinSCPに変更することも考えたのですが、windowsのバッチファイルを自動生成し実行後LOGに内容により他の処理を実行するところも作りこんでいて問題なく使用していた為、今更変更できない状況です。(パッシブモードの事さえ知らず動いていました) 何が何だかわからない状態です、お知恵をいただけないでしょうか・・・

  • FTPのPASVモードについて

    FTPでファイルをアップロードするプログラムを作っています。 そこで質問なのですが、 ・PORTモード、PASVモードはセキュリティ上どちらにしたほうがいいのでしょうか?  ※PASVモードの説明を読んだのですが、データポートをランダムで割り当てる⇒ランダムで割り当てるポートのファイアウォールをあけておかなければならない⇒セキュリティが下がると感じたのでポートモードのほうがいいカナと思ったのですがどうなのでしょうか? ・PASVモードで接続する場合にWindows2000Server、Windows2003Serverで応答するポートを固定に指定できないでしょうか?やり方を教えてください。 よろしくおねがいします~

  • pythonでFTPを使ってフォルダをアップ

    pythonでFTPを使ってファイルのアップロードはできたのですが、空のフォルダをアップする方法がわかりません。アドバイスをいただけますでしょうか? ftp = ftplib.FTP("????") ftp.set_pasv("true") ftp.login("?????","???") fp = open(/test,'rb') ftp.storbinary("STOR /donald/test",fp) ftp.close() fp.close()

  • FTP転送できません

    ホームページNinja9でHPをつくり、FTP転送しようとしましたが、できません。WindowsXP標準のファイアウォールとマカフィーのファイアウォールを無効にしましたが、やはりできません。ネット接続はADSLです。Ninja9ではデフォルトでPASVモードが選ればれています。関係ないかもしれませんが、時間帯を変えてやってみましたが、どの時間帯でもできませんでした。どなたか助けてください!

  • ftp受信確認

    FTPサーバはwindows2003のIISです FTPクライアントはwindows2000,xpの標準添付のftpコマンドです バッチファイル中でFTP -S:C:\FTPCMD.TXT みたいな感じで起動していますが FTP正常・異常にかかわらず常にERRORLEVELは0が 返ってきます なんとかバッチファイル中で正常通信できたか できないか判断したいのです その判断方法をアドバイス下さい ※その他の手段として  バッチファイルでコマンド起動できるFTPクライアントソフト  (できればフリー)を使えばERRORLEVELが返ってくるよという  ものがありましたら紹介頂けると嬉しいです もしくは ProFTPDが転送中のファイルを".in.{ファイル名}"として、転送完了すると"{ファイル名}"に変更する機能がある そうですがこれと同じような機能はIISのFTPにはないのでしょうか? 設定を探してみましたが見つかりませんでした (FTPサーバーはIIS以外に変更できません)