IEを FTPクライアントとして使用するときの問題と対策

作成日:2006.6.2

 FTPクライアントとして IEを使用する必然性は何もないのだが、クライアントソフトを新規インストールしなくても、(Windowsユーザなら)誰でも簡単に FTPサーバにアクセスできるというメリットがあり、IEを FTPクライアントとして使用することがしばしばある。

 しかしながら、FFFTPなどの専用 FTPクライアントと比較すると IEは細かい設定ができない上に、いろいろな問題も抱えている。しかし Microsoftが IEを改良してくれることも期待できないので、上手に使いこなすよりなく、そのための方法をまとめた。

 この情報は、サーバ管理者あるいはホームページ作成者など情報提供側の立場のときだけでなく、サーバにアクセスして情報を取得する一般ユーザ側の立場でも重要と思う。


  1. IEの設定
     FTPの場合に限らないが、ブラウザとして IEを使用するときには、インターネットオプション -> 詳細設定の
      「HTTP エラー メッセージを簡易表示する」
    の設定を必ず Off にする。これが On のままだと、サーバからのメッセージが IE固有の決まり文句に置き換わってしまい、サーバがどういうメッセージを出したのかが分からなくなってしまうという大問題が起きる(参考)。

     FTPクライアントとして使用時に、パスワード入力が必要な場面で以下のようなエラーメッセージが出るのはその設定がデフォルトの Onのままだからである。
      タイトル欄に「サーバが見つかりません」
      最上部に「ページを表示できません」
      最下部に「サーバが見つからないか、DNS エラーです」

     ところが FTPアクセス時にこのメッセージが出るのは上記の場合だけではないので始末が悪い。
    インターネットオプションの「FTP サイト用のフォルダ ビューを使用する」が Offの場合にも出る。
    さらに他の場合として、例えば以下のようにファイルへのリンクを作成し、IEでアクセスしたときにも起こりうる。
      ftp://example.com/hoge/xxx.zip

    このケースで、上記の「簡易表示」Off、「フォルダ ビュー」Onであったとしても、以下のような場合には、やはり上記と同じエラーメッセージが出る。
     (a)anonykous FTP可能なサーバで、リンクしたファイル(xxx.zip)が存在しないとき
     (b)anonymous FTP不可なサーバで、ユーザ&パスワードを指定せず、ファイルにリンクしたとき

     (a)についてはファイル名を間違えているので正しく修正すれば解決するが、(b)については、
     ftp://dummy@example.com/hoge/
    のように、ファイルではなくディレクトリにリンクし、しかもダミーなユーザ名を付けるという対策をしないといけない。そうすれば、以下のようなパスワード入力画面が表示されるようになる。



     ディレクトリではなくファイルにリンクしてしまうと、上記の「簡易表示」の設定を Offにしても「ページを表示できません」のエラーになり、パスワードの入力ができないので要注意である。

     要は、anonymousでないときはファイルではなく必ずディレクトリにリンクすることである(ルートディレクトリから辿っていくのが最善かと思う)。
     anonymous FTPであれば、リンク先はファイルでもディレクトリでも構わない。

     また場合によっては(anonymous FTPが不可で、ユーザ&パスワードなしでディレクトリにリンクしている場合など)、以下のような「FTP フォルダ エラー」(メッセージ:「このフォルダにアクセスできません。ファイル名を正しく入力したことと、フォルダにアクセスするためのアクセス許可があることを確認してください。」)のアラートが表示されることがある(図で「詳細」以下は FTPサーバに依存したメッセージなのでこの通りであるとは限らない)。



     これが出たときは、「OK」ボタンを押し、IEのメニューバーで、ファイル -> ログイン方法 を開けば、上記のログオン方法の画面が現れる。


  2. 転送モードとインターネットオプションの関係
     FTPは制御ポート(通常 21番)とデータポートの 2つのポートを使用して送受信する。
    データポートの番号は FTPの 2つの転送モード(PORTモードと PASVモード)によって異なる。

    ・PORTモード(アクティブ・モードともいう)
      もともと FTPで標準のモードである。サーバ側のデータポートは通常20番である。
      クライアント側がデータ待ち受け用ポート(任意番号)を開き、それをサーバに通知し、サーバからクライアントに接続してデータ転送を開始する。
      サーバ側のルータやファイアウォールの21番ポートは開放する必要があるが、20番ポートの開放は不要である(サーバ -> クライアントの方向なので)。

    ・PASVモード(パッシブ・モードともいう)
      サーバ側でデータ待ち受け用ポートを開き、それをクライアントに通知し、クライアントからサーバに接続してデータ転送を開始する。
      サーバ側のルータやファイアウォールの21番ポートとデータポートとして使用するポート(通常ある範囲のポート番号を準備する)を開放する必要がある。
      ファイアウォール越えに適し、通常はこの転送モードで使用するのが無難である。

     転送モードは PORTで開始し、PASVと PORTの切り替えはクライアント側の設定(コマンド)で決まる。ただし、PASVモードの転送が可能かどうかはサーバソフト自身とその設定に依存する。

     転送モードの説明は例えば以下のページを参考に。
      http://web.kuicr.kyoto-u.ac.jp/~hattori/non-research/memo/tools/ftp.html

     インターネットオプションの設定状況によって FTPの転送モードは以下のように変化する。

    FTP サイト用のフォルダ ビューを使用するOnOnOffOff
    パッシブ FTP を使用するOnOffOnOff
    ディレクトリリストアイコン表示アイコン表示一覧表示一覧表示
    ファイルダウンロードPASVモードPORTモードPASVモードPORTモード
    ファイルアップロードPASVモードPORTモード不可不可



  3. FTPのレスポンスコード
     FTPのレスポンスコードは RFC969 などで定められている。以下のページなどを参考に。
      ・http://hp.vector.co.jp/authors/VA002682/rfc959j.htm
      ・http://www.atmarkit.co.jp/fnetwork/rensai/netpro10/ftp-responsecode.html


  4. まとめ
     ・IEを FTPクライアントとして使用するときは、インタネットオプションを以下のように設定する。この設定は必須である。
      On :「FTP サイト用のフォルダ ビューを使用する」
      Off:「HTTP エラー メッセージを簡易表示する」
      ※ :「パッシブ FTP(ファイアウォールおよびDSL モデム互換用)を使用する」
       (※)On:PASVモード, Off:PORTモード。通常は Onにするとよい。

     ・パスワード入力画面を表示させるには、アクセス先アドレス(リンク)にダミーなユーザ名を付け、ファイルではなくディレクトリまでとする。
       ftp://dummy@example.com/hoge/


  5. 参考ページ
    FTPをファイアウォール・フレンドリ・モードに変更する方法

    Microsoftの技術情報を Googleで検索

    上記の Microsoft技術情報の検索結果から適当に拾ったページ
    FTP サイトへのデータ転送モードについて
    FTP サイトにアクセスすると "FTP サーバに接続できません" というエラー メッセージが表示される
    2 バイト文字を含む FTP サイトへアクセスした場合の問題
    Internet Explorer で FTP サイトのパスワードを入力する方法
    FTP サイトにアクセスすると、エラー メッセージ "ページを表示できません" が表示される
    Windows 2000 で Internet Explorer の FTP を PORT モードと PASV モードの両方を使用するように構成する方法
    FTP サーバへのアクセス時にエラー メッセージ "フォルダ エラー" が表示される
    Internet Explorer 5.5 を使用して FTP サイトに直接アクセスする方法
    Internet Explorer で FTP サイトにアクセスすると上位レベルのディレクトリに移動するリンクが表示されない
    Internet Explorer での FTP サイトから Office 2003 ファイルを開こうとすると、エラー メッセージ:「<URL>は開けられません」でした。
    Internet Explorer は、 FTP サイト ディレクトリ一覧は表示できません。
    FTP サーバからファイルをダウンロードできない
    Internet Explorer 6 での FTP サーバを表示すると、アカウントがロックアウトされます
    FTP サイトを開くときに Internet Explorer が応答を停止する
    など


作成:いと,mailto:gfh05223@nifty.com