- - PR -
FTP接続PGで、Win→LinuxはOK、Linux→WinはNG。何で?
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-07-09 13:30
FTPクライアントを作ったのですが、次の現象の原因が不明です。
考えられる原因は何なのでしょうか? FTPクライアントをLinux上で動かし、 Tiny FTP Daemon(Win98)に接続しにいくと、 ユーザ名かパスワードが不正とのこと。 しかし、 FTPクライアントをWin98上で動かし、 vsFTP daemon(Linux)に接続しにいくと、 ログインできます。 プログラム上のバグなのでしょうか? 環境上に原因があるのでしょうか? | ||||
|
投稿日時: 2004-07-09 13:52
それを調べるのも、あなたの役割ではないですか? デバッガでちゃんとプログラムを追いました? 追い辛いならば、ログを吐き出すなどして、 FTPが正しい手順で行われているか確認してください。 確かに、環境と言うこともあり得ましょうけど、それらを第三者に判断させるには、 あまりにも、情報が少なすぎます。 | ||||
|
投稿日時: 2004-07-09 13:52
こう言ってるのですから、単純にWindowsでのFTPユーザ名/パスワードに ついてもう一度チェックされたらいかがですか?認証が通っていないだけ のように見えますが。 | ||||
|
投稿日時: 2004-07-09 14:06
コマンドラインからのFTP接続は
双方向とも接続できます。 ユーザ名もパスワードもプログラム上の間違いはないです。 | ||||
|
投稿日時: 2004-07-09 14:10
書き忘れましたが、
ソケットで、"PASS " + password で送信したあとに帰ってくるメッセージが 530 Not authorized. でした。 | ||||
|
投稿日時: 2004-07-09 14:12
現象からは、プログラムを起動しているアプリケーションの OS ではなく、FTP サーバの種類に依存しているように思えますが、頂いている情報から第三者が判断するのは大変難しいかと思います。
もうすこしきり分けが必要ではないでしょうか。 パケットキャプチャをしてみるとか。 http://www.ethereal.com/ http://www.packetyzer.com/ | ||||
|
投稿日時: 2004-07-09 15:58
ますます不明に陥ってきました。
パケットキャプチャしたのですが、次のとおりです ・ コマンドラインFTP(Linux → Win98) FTP Response: 220-********************** FTP Request: USER ******(一応伏せます) FTP Response: 331 Give me your password FTP Request: PASS ******(これも伏せます) FTP Response: 230---------------------- FTP Request: SYST FTP Response: 215 UNIX A N (HN) ・ 自作FTPプログラム(Linux → Win98) FTP Response: 220-********************** FTP Request: USER ******(上と同じであることを確認OK) FTP Response: 331 Give me your password FTP Request: PASS ******(上と同じであることを確認OK) FTP Response: 530 Not authorized. 環境なのでしょうか??? | ||||
|
投稿日時: 2004-07-09 17:36
解決しました。
ユーザ名とパスワードを送る処理の時に、 userName = userName + "\r"; passWord = passWord + "\r"; とすることで、解決しました。 | ||||
