使用Telnet连接到Linux提示符
我有一个Arduino和以太网屏蔽编码来创建一个简单的串行到telnet客户端。这适用于将串行终端程序连接到Telnet BBS类型的系统,例如使用端口23在BBS.thebytexchange.com上的系统 当我使用同一个客户端与我的拱形盒进行通信时,它连接正常,但是,我立即从拱形盒接收到5个字节,所有操作都停止。无论我向拱形盒子发送什么,都不会返回任何内容。 五个字节(十六进制)如下所示。18 20 23 27 24. 如果我连接到运行Raspian的Raspberry Pi,我会返回四个字节(18202327),并且有相同的症状 我很高兴每个Telnet服务器都运行良好,因为我可以使用标准Telnet应用程序从我的Mac使用Telnet连接并登录到这两个盒子,并且我还可以在每台机器上使用Telnet连接到localhost。我很高兴串行到Telnet Arduino很好,因为我可以使用串行终端(任何)到internet Telnet资源进行Telnet,但是,当连接到Linux登录提示符时,我显然遗漏了一些东西,有什么想法吗 问候 约翰 更新:进一步的调查表明,我看到的是服务器试图让我协商一些选项。我看到的每个字节前面都有FF(最初没有注意到这一点,因为FF被从监控中过滤掉)。字节是Telnet协议的一部分,表示以下内容:使用Telnet连接到Linux提示符,linux,arduino,Linux,Arduino,我有一个Arduino和以太网屏蔽编码来创建一个简单的串行到telnet客户端。这适用于将串行终端程序连接到Telnet BBS类型的系统,例如使用端口23在BBS.thebytexchange.com上的系统 当我使用同一个客户端与我的拱形盒进行通信时,它连接正常,但是,我立即从拱形盒接收到5个字节,所有操作都停止。无论我向拱形盒子发送什么,都不会返回任何内容。 五个字节(十六进制)如下所示。18 20 23 27 24. 如果我连接到运行Raspian的Raspberry Pi,我会返回四个
- FF FD 18注销
- FF FD 20数据输入终端
- FF FD 27输出标记
- FF FD 24端子类型
我希望这会有所帮助。通过打开telnet二进制文件的套接字级调试,您可以了解有关错误的更多信息。使用
telnet-d
或在telnet会话类型toggle debug
中启用和禁用调试。如问题中所述,使用telnet时没有错误。当连接到Telnet BBS时,我自制的Telnet客户端工作正常,但是,当连接到Linux登录时,我得到了如上所述的响应。我认为这是我没有处理的某种应用程序协议。通过快速搜索,您似乎可以使用不会回复来响应服务器的任何请求,即服务器:0xFF xx
->您:0xFF 0xFC xx
。请参见,例如,是否过滤掉了其他字节?我认为来自服务器的每条消息中都应该有第三个字节,模式为IAC,
,其中
表示需要发送哪种响应(不与不)。另一个来源:我的错,我这边的一个打字错误。。。这些序列都是三个字节的DO序列。我已经用正确的接收字节序列更新了问题。通过打开telnet二进制文件的套接字级调试,您可以了解有关错误的更多信息。使用telnet-d
或在telnet会话类型toggle debug
中启用和禁用调试。如问题中所述,使用telnet时没有错误。当连接到Telnet BBS时,我自制的Telnet客户端工作正常,但是,当连接到Linux登录时,我得到了如上所述的响应。我认为这是我没有处理的某种应用程序协议。通过快速搜索,您似乎可以使用不会回复来响应服务器的任何请求,即服务器:0xFF xx
->您:0xFF 0xFC xx
。请参见,例如,是否过滤掉了其他字节?我认为来自服务器的每条消息中都应该有第三个字节,模式为IAC,
,其中
表示需要发送哪种响应(不与不)。另一个来源:我的错,我这边的一个打字错误。。。这些序列都是三个字节的DO序列。我已经更新了
FF FD 18
FF FC 18
FF FB 18
FF FE 18