在telnet连接上收到的前4个字符串是什么?

时间:2015-12-14 04:14:06

标签: tcp bytearray telnet

我正在为我的应用程序模拟telnet服务器。当我通过telnet连接到我的应用程序时(只使用putty进行本地连接)我总是在初始连接时收到这4个序列。

    ByteString(-1, -5, 31, -1, -5, 32, -1, -5, 24, -1, -5, 39, -1, -3, 1, -1, -5, 3, -1, -3, 3),
    ByteString(-1, -2, 31, -1, -2, 32, -1, -2, 24, -1, -2, 39, -1, -4, 1),
    ByteString(-1, -5, 36),
    ByteString(-1, -2, 36)

我想,如果我将这些连接返回给客户端,则连接成功建立。但我宁愿知道这些是什么,以及如何以不同方式处理它们。

由于

1 个答案:

答案 0 :(得分:1)

它们是Telnet命令序列。

-1 -5 31 = IAC WILL NAWS
-1 -5 32 = IAC WILL TERMINAL-SPEED
-1 -5 24 = IAC WILL TERMINAL-TYPE
-1 -5 39 = IAC WILL NEW-ENVIRON
-1 -3 1  = IAC DO   ECHO
-1 -5 3  = IAC WILL SUPPRESS-GO-AHEAD
-1 -3 3  = IAC DO   SUPPRESS-GO-AHEAD
-1 -2 31 = IAC DONT NAWS
-1 -2 32 = IAC DONT TERMINAL-SPEED
-1 -2 24 = IAC DONT TERMINAL-TYPE
-1 -2 39 = IAC DONT NEW-ENVIRON
-1 -4 1  = IAC WONT ECHO
-1 -5 36 = IAC WILL ENVIRON
-1 -2 36 = IAC DONT ENVIRON

阅读定义Telnet协议的RFC 854RFC 855和其他related RFCs及其various options(其中有很多)。