シンプルなシリアル/ Telnetクライアントを作成するためにArduinoとEthernet Shieldがコーディングされています。これは、シリアルターミナルプログラムを、ポート23を使用しているbbs.thebytexchange.comのようなTelnet BBSタイプのシステムに接続するのに問題ありません。同じクライアントを使用してArchボックスと通信すると、OKに接続します。直ちにArchボックスから5バイトを受信し、すべてが停止します。私がアーチボックスに何を送っても何も返されません。 5バイト(16進数)は次のとおりです。 18 20 23 27 24. Raspianを実行しているRaspberry Piに接続すると、同じ症状の4バイトが返されます(18 20 23 27)。LinuxにTelnetで接続する
標準のTelnetアプリケーションを使用してMacからTelnetを使用して両方のボックスに接続してログオンすることができ、各マシンのlocalhostにもTelnetで接続できるので、各Telnetサーバーが正常に動作していることは喜ばしいことです。私はシリアルTelnetを使用してTelnetでインターネットTelnetリソースを使用することができますが、Linuxのログオンプロンプトに接続する際には何か不明な点があります。
種類よろしく
ジョン
UPDATE:詳しい調査の結果、私は見ていますが、いくつかのオプションを交渉するために私を取得するために、サーバからの試みであることを示しています。私が見ているバイトはそれぞれFFで始まります(これは、FFが監視から除外されているため、これを最初に認識しませんでした)。バイトは、Telnetプロトコルの一部であり、次の意味:
- FF FD 18ログアウト
- FF FD 20のデータ入力端子
- FF FDマーキング27出力
- FF FD 24の端末タイプ を
今質問はどうなりますか、これにはどうしたら対応できますか?
telnetバイナリのソケットレベルのデバッグをオンにすると、エラーの詳細を表示できます。 'telnet -d'を使用するか、telnetセッションタイプ 'toggle debug'を使用して、デバッグを有効または無効にします。 –
Gaurav
質問で述べたように、telnetを使用するとエラーはありません。私の手作りのTelnetクライアントは、Telnet BBSに接続するときにうまく動作しますが、Linuxログインに接続すると、私は前述のように応答します。私はこれが私が扱っていないアプリケーションプロトコルの一種だと思っています。 –
クイック検索から、サーバーのリクエストのいずれかに、 'WONT'応答、つまりserver:' 0xFF xx' - > you: '0xFF 0xFC xx'で応答できるようです。例えば、 [ここ](http://mud-dev.wikidot.com/telnet:negotiation) – JimmyB