我有一個Arduino和以太網盾編碼來創建一個簡單的串口到遠程登錄客戶端。這適用於將串行終端程序連接到Telnet BBS類型系統,例如bbs.thebytexchange.com使用端口23的系統。連接到Linux使用Telnet提示
當我使用同一個客戶端與我的Arch盒通信時,它連接正常,但是,我立即從Arch框接收5個字節,然後停止。無論我發送給Arch盒什麼都不會返回。 五個字節(十六進制),如下所示。 18 20 23 27 24.如果我連接運行Raspian的Raspberry Pi,則會返回四個字節(18 20 23 27),並顯示相同的症狀。
我很高興每個Telnet服務器運行良好,因爲我可以使用標準的Telnet應用程序使用Telnet從我的Mac連接並登錄到兩個盒子,我也可以在每臺計算機上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」回覆響應任何服務器的請求,即服務器:0xFF xx - 您:0xFF 0xFC xx。見例如[這裏](http://mud-dev.wikidot.com/telnet:negotiation)。 – JimmyB