none
Winows10でのFTPコマンド実行時の振る舞いについて

    質問

  • Windows7とWindows10でのFTPコマンド実行時の振る舞いの違いについて質問させてください。

    Windows10端末にて、あるFTPサーバに向けてFTPコマンドを実行した際に、裏で「OPT UTF8 ON」コマンドが発行されてしまいます。

    具体的には以下のような動作となりました。

    ※太字がユーザーが実行したコマンドになります。

    OPTS UTF8 ONについてはユーザーは入力しておりませんが、

    Windows10OS側で自動て勝手に発行されます。)


    -【windows10】-------------------------------------------------------------

    >ftp -d
    ftp> open <IPアドレス> <ポート番号>
    <IPアドレス> に接続しました
    220 Service ready for new user
    --->OPTS UTF8 ON
    500 Command not understood
    ユーザー (<IPアドレス>:(none)):<ユーザー名>
    ---> USER <ユーザー名>
    接続がリモート ホストによって閉じられました。

    --------------------------------------------------------------

    windows7端末で同じFTPサーバに対して同じコマンドを実行してもOPTS UTF8 ONコマンドは発行されません。

    以下がwindows7にて同じコマンドを実行した際の動きになります。

    -【windows7】-------------------------------------------------------------

    >ftp
    ftp> open <IPアドレス> <ポート番号>
    <IPアドレス> に接続しました。
    220 Service ready for new user
    ユーザー (<IPアドレス>:(none)): <ユーザー名>
    331 Password required for <ユーザー名>
    パスワード:<パスワード>
    230 User logged in, proceed

    --------------------------------------------------------------

    FTPコマンド実行時において、windows10でもwindows7と同様にOPTS UTF8 ONコマンドを発行しないようにする方法をご教授頂けますでしょうか。

    お手数をお掛け致しますが、何卒よろしくお願いいたします。

    2016年3月10日 5:10

すべての返信

  • 100% の確信をもって回答するわけではないのですが・・・

    自宅 NAS にて試したところ、おっしゃっているとおり OPTS UTF8 ON が表示されましたが、 
    ユーザー名とパスワードを入力し、問題なく FTP サーバーに接続できました。

    表示される OPTS UTF8 ON は、
    クライアントが UTF8 に対応している(ASCII 7-bit 以外のファイル名も扱える)という、
    FTP サーバーからの返答だと思います。

    FTP サーバーで Unicode サポートを無効にしてみたところ、次の応答が帰ってきました。


    ご質問を否定するつもりではないので、ご容赦いただきたいのですが、
    OPTS UTF8 ON が表示されることで何か問題があるのでしょうか?

    なお、上述の推測は次の記事を参考にしました。
    Character Encoding

    以上です。




    2016年3月10日 8:57
  • M_M2016 さん、

    OPTS UTF8 ON は、おっしゃるとおりコマンドでした(サーバーからの応答ではありませんでした)。
    無駄なポストをして申し訳ありませんでした。

    取り急ぎ、お詫び申し上げます。

    以上です。
    2016年3月10日 9:24
  • Ashidacchi さん、ご回答ありがとうございます。

    サーバー側でFTPコマンドが受け入れられるように変更できれば問題ないと思うのですが、
    今回問題が発生しているFTPサーバーはOPTSコマンド未対応のものであり、OPTS対応のFTPサーバーに変更することが困難なため

    クライアント側(Windows10)でOPTSコマンドを発行しないように制御したいと考えております。

    何か対応策がございましたらご教授お願いします。

    2016年3月10日 9:33
  • 私も確認してみましたが、Windows 10ではどうしても、サーバーに接続後「OPTS UTF8 ON」を送ってしまうようですね。

    いろいろ設定やプロセスの動きなどを確認してみましたが、これを送らないようにすることは今は不可能なんじゃないかと思っています^^;

    「quote opts utf8 off」

    上記コマンドでオフにできるので、その対応ではいかがでしょうか・・?

    2016年3月10日 9:38
  • kenjinote さん、ご回答ありがとうございます。

    FTPサーバーにログインする前に

    --->OPTS UTF8 ON

    のコマンドが発行されるため、FTPサーバーにログインもできない状態です。
    (FTPサーバー側の仕様で接続を切ってしまいます)

    FTPサーバーがOPTSコマンド未対応のものなので、Windows10端末のクライアントからFTPサーバーへFTP接続をする際に、
    クライアントがWindows7端末である場合と同様に OPTSコマンドを発行しないように制御したいのですが、
    良い方法はありませんでしょうか。

    FTPサーバーを変更することは諸事情により困難でして、クライアント側で制御するしかない状況です。

    2016年3月10日 10:03
  • open コマンドの直後 ユーザー名 を入力するようになるか思いますが、何も入力せず、いったんEnterキーを押し、その後コマンド「quote opts utf8 off」を入力し、もう一度「user」コマンドでログインしてみてはどうでしょうか?

    C:\>ftp
    ftp> open
    宛先 ftp.example.com
    ftp.example.com に接続しました。
    220 ProFTPD 1.3.2d Server (ftp.example.com) [xxx.xxx.xxx.xxx]
    200 UTF8 set to on
    ユーザー (ftp.example.com:(none)):
    500 USER: command requires a parameter
    ログインできませんでした。
    ftp> quote opts utf8 off
    200 UTF8 set to off
    ftp> user
    ユーザー名 user@example.com
    331 Password required for user@example.com
    パスワード:
    230 User user@example.com logged in
    ftp>

    こちらで再現できていないため成功するかどうかはわかりませんが・・・

    2016年3月10日 10:16
  • 何度もすみません。ftpの起動オプションに「-n」(openのあと自動ログインを求めない)というものがありました。

    C:\>ftp -n
    ftp> open
    宛先 ftp.example.com
    ftp.example.com に接続しました。
    220 ProFTPD 1.3.2d Server (ftp.example.com) [xxx.xxx.xxx.xxx]
    200 UTF8 set to on
    ftp> quote opts utf8 off
    200 UTF8 set to off
    ftp> user
    ユーザー名 user@example.com
    331 Password required for user@example.com
    パスワード:
    230 User user@example.com logged in
    ftp>


    こちらではどうでしょうか?

    2016年3月10日 10:29
  • kenjinoteさん、再度ご回答ありがとうございます。

    教えて頂いた手順で実行してみましたが、やはり、FTPサーバーがそもそもOPTSコマンドを認識しないため、ダメでした。

    以下実行してみた内容です。(太字が入力した所です)

    ------------------------------------------------

    >ftp -dn

    ftp>open

    宛先 <何も打たずにENTERキー押下>

    使用法: open ホスト名 [ポート]

    ftp>quote opts utf8 off

    接続されていません。

    ------------------------------------------------

    以上となります。


    • 編集済み M_JU2016 2016年3月10日 10:39
    2016年3月10日 10:39
  • 上手く説明できておらず申し訳ございません。

    宛先ではサーバー名の入力をお願いします。

    (以下太字が入力項目です。)

    C:\>ftp -dn
    ftp> open <サーバー名を入力>
    ftp.example.com に接続しました。
    220 ProFTPD 1.3.2d Server (ftp.example.com) [xxx.xxx.xxx.xxx]
    ---> OPTS UTF8 ON
    200 UTF8 set to on
    ftp> quote opts utf8 off
    ---> opts utf8 off
    200 UTF8 set to off
    ftp> user <ユーザー名を入力>
    ---> USER user@example.com
    331 Password required for user@example.com
    パスワード: <パスワードを入力>
    ---> PASS XXXXXXXX
    230 User user@example.com logged in
    ftp>



    2016年3月10日 10:53