【问题标题】:Telnet session starts with 21 bytes of crapTelnet 会话以 21 个字节的废话开始
【发布时间】:2014-05-19 10:27:29
【问题描述】:

在一个小型嵌入式应用程序中,我提供了一个 Telnet 服务器,用于向它发送简单的命令。为了测试,我使用腻子连接到它。现在我发现有 21 个字节的一些数据在连接时被发送到服务器。那么……这可能是什么?是初始化序列吗?

据我了解,telnet 是一个普通的连接,不应该有这样的数据......

谢谢!

【问题讨论】:

  • 我的问题可能听起来很傻,但是你是在 Putty 中使用 telnet 连接模式还是 ssh 连接模式?
  • 这是 telnet 连接模式 - 删除这 21 个字节后,所有后续数据都以纯文本形式接收。在 SSH 模式下,Putty 应该停止此连接,以防另一端没有正确响应。
  • 21 个字节到底是什么?
  • 虽然 Telnet 协议适用于纯文本(并且经常用于此类),但 它绝不是纯文本协议。以稳健的方式处理所有 IAC 控制序列实际上是相当困难的。请参阅RFC 1143 了解实现选项协商的可能方式。拒绝请求的选项很好,只是忽略字节不是。

标签: networking telnet putty tcp-ip


【解决方案1】:

好的,我明白了:当在 Putty 中选择“主动自动协商模式”时,它会发送这些数据以及任何其他信息……因此必须删除所有 ASCII 码大于 127 的字符以忽略这些数据。

【讨论】:

  • 禁用该选项会更有意义。您的建议解决方案实际上并不适用于所有情况。
  • 我不同意。协商数据完全符合 telnet 客户端允许发送的内容,因此正确实施的服务器应该能够处理这些数据(意味着至少能够识别和丢弃它们)。
猜你喜欢
  • 2013-06-17
  • 2014-01-13
  • 2014-05-13
  • 2013-08-24
  • 2010-11-09
  • 1970-01-01
  • 2013-05-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多