10

ソケットとのTelnet接続をネゴシエートしようとしています。ソケットは機能していますが、サーバーはそのことを教えてくれます。

ÿýÿýÿûÿû

login:

手段2552531 ÿýÿýÿûÿû255 253 31 255 251 1 255 251 3

すべてのRFCドキュメントを読みましたが、サーバーに(文字列ASCIIデータ?)を送信できるようにするために何に応答すればよいかわかりません。ログインプロンプトを正常に実行してから、「停止」または何か他のもの。

よろしくお願いします。

4

2 に答える 2

27

RFC 854から:

NVT は有効なオプションがない場合に残されるものであるため、DON'T および WON'T 応答は、両端が処理できる状態で接続を終了することが保証されています。したがって、すべてのホストは、サポートされていないオプションをまったく認識しないように TELNET プロセスを実装し、理解できないオプション要求に対して単に拒否を返す (つまり、拒否する) 可能性があります。

つまり、すべてWILLの に対して、応答しDONTます。ごとDOに、応答しWONTます。

あなたの場合、受け取った ( IANA 割り当てられた telnet オプションを参照):

255 253 1    IAC DO ECHO
255 253 31   IAC DO NAWS
255 251 1    IAC WILL ECHO
255 251 3    IAC WILL SUPPRESS-GO-AHEAD

したがって、次のように応答する必要があります。

255 252 1    IAC WONT ECHO
255 252 31   IAC WONT NAWS
255 254 1    IAC DONT ECHO
255 254 3    IAC DONT SUPPRESS-GO-AHEAD

1、3、または 31 が実際に何を意味するかを知る必要はないことに注意してください。それが美しさです。それらの定義を知らなくても、これらのオプションを拒否できます。ネットワーク仮想端末にデフォルト設定するだけです。

于 2012-05-02T17:09:41.453 に答える
1

RFC854で検索する

255 253 1  IAC DO #1 
255 253 31 IAC DO #31
255 251 1  IAC WILL #1
255 251 3  IAC WILL #3

ここでパラメータ値を検索します:1:=エコー、31:=ウィンドウサイズ。

于 2012-05-02T17:17:03.910 に答える