118.195.237.158:6666

Connection Banner:

118.195.237.158:6666

Encoding

  • Effective encoding: gbk

  • Override: gbk (from bbslist.txt)

  • Scanner detected: gbk

Website: http://bbs.leafy.cn

Telnet Fingerprint

f9b3f33571e02f38…

This fingerprint is unique to this server.

Options offered by server: ECHO, GMCP, MSSP, SGA, ZMP

Options requested from client: LINEMODE, MXP, NAWS, NEW_ENVIRON, SGA, TTYPE

Data source: f9b3f33571e02f38/38423ffeb608e338.json

The complete JSON record collected during the scan, including Telnet negotiation results and banner data.

{
  "server-probe": {
    "fingerprint": "f9b3f33571e02f38",
    "fingerprint-data": {
      "offered-options": [
        "ECHO",
        "GMCP",
        "MSSP",
        "SGA",
        "ZMP"
      ],
      "probed-protocol": "server",
      "refused-options": [
        "AARDWOLF",
        "ATCP",
        "BINARY",
        "CHARSET",
        "COM_PORT",
        "EOR",
        "MSDP",
        "MSP",
        "MXP",
        "STATUS"
      ],
      "requested-options": [
        "LINEMODE",
        "MXP",
        "NAWS",
        "NEW_ENVIRON",
        "SGA",
        "TTYPE"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "\r\n \t Select \u56fd\u6807\u7801 GB or \ufffdj\u304d\u7d4f BIG5 (\u001b[1;31mgb\u001b[2;37;0m/\u001b[1;33mbig5\u001b[2;37;0m):",
      "banner_before_return": "\u001b[32m                                                                                \u001b[0m\r\n                                                    \u001b[32m*                           \u001b[0m\r\n                                            \u001b[32m*      **                           \u001b[0m\r\n                         \u001b[32m**     *          **    ****             *   ****      \u001b[0m\r\n      \u001b[32m**  **            ** *******         **   *  **            *   **  *      \u001b[0m\r\n    \u001b[32m***   **           *   ***   *        **    *** *          **   *    *      \u001b[0m\r\n    \u001b[32m*      *          *    *    **        *  * *   *          *      ** *       \u001b[0m\r\n   \u001b[32m*       *         *     *  ***         * **  ********      *     * ****      \u001b[0m\r\n  \u001b[32m*        *  *      *      ****        * **   *******       *      ****        \u001b[0m\r\n \u001b[32m*         *  *     ***     **         ****  ******          ***  ****   *      \u001b[0m\r\n \u001b[32m***    ****   *    * *    *   **       **       * ***         *    *   *       \u001b[0m\r\n \u001b[32m* *   *  **   *     *    *  ******      *      * *  *         * *******        \u001b[0m\r\n   \u001b[32m*  **  *****      *    * **   **      *      ***   *       * * * ******      \u001b[0m\r\n   \u001b[32m*  *********       *   **     *       *      ***   *       **** *** ******   \u001b[0m\r\n   \u001b[32m*  ****   *        *   **   **         *     * **  *         *   *  *        \u001b[0m\r\n   \u001b[32m*                  *    ******         *     *    *          *  *  *         \u001b[0m\r\n    \u001b[32m*                        **                 *    *            *  **         \u001b[0m\r\n                                                    \u001b[32m*                           \u001b[0m\r\n                                                                         \u001b[31m\u250c  \u001b[1m\u2557 \u001b[0m\r\n              \u001b[37m\u5929\u7c41\u5999,\u5c71\u6c34\u96c5\u001b[0m \u001b[1;32m\u001b[5m\u2606\u001b[0m \u001b[37m\u9189\u9732\u4e3a\u9152\u7389\u4e3a\u82b1\u001b[0m                              \u001b[1;32m\u98de   \u001b[0m\r\n                                                                         \u001b[31m\u2502\u001b[1;32m\u7fd4\u001b[0;31m\u2502 \u001b[0m\r\n                                          \u001b[36m\u5927\u578b\u897f\u6e38\u8bb0MUD \u001b[35m \u98de\u7fd42012          \u001b[1;32m\u7ad9   \u001b[0m\r\n                                                                         \u001b[1;31m\u255a  \u001b[0;31m\u2518 \u001b[0m\r\n                                                                                \u001b[m\r\n        [\u001b[1;31m\u63d0\u793a\uff1a\u001b[0;37;0m\u5982\u679c\u6309ENTER\u952e\u540e\u7cfb\u7edf\u6ca1\u6709\u54cd\u5e94\uff0c\u8bf7\u8bd5 Ctrl-ENTER]\r\n\r\n         \u672c\u7ad9\u8bba\u575b\uff1ahttp://bbs.leafy.cn\r\u0000\r\n \t Select GB or BIG5 (gb/big5):",
      "encoding": "gbk",
      "mssp": {
        "NAME": "\u4ed9\u4fa3\u60c5\u7f18",
        "PLAYERS": "136",
        "UPTIME": "1762316422"
      },
      "option_states": {
        "environ_requested": [
          {
            "name": "*",
            "type": "VAR"
          },
          {
            "name": "*",
            "type": "USERVAR"
          }
        ],
        "server_offered": {
          "0x56": false,
          "GMCP": true,
          "MSSP": true,
          "ZMP": true
        },
        "server_requested": {
          "LINEMODE": true,
          "MXP": true,
          "NAWS": true,
          "NEW_ENVIRON": true,
          "SGA": true,
          "TTYPE": true
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.504838228225708,
        "total": 5.249997854232788
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-02-09T19:30:01.299572+00:00",
      "host": "118.195.237.158",
      "ip": "118.195.237.158",
      "port": 6666
    }
  ]
}

Connection Log

Debug-level log of the Telnet negotiation session, showing each IAC (Interpret As Command) exchange between client and server.

DEBUG client.py:863 Fingerprint client: host=118.195.237.158 port=6666
INFO client_base.py:174 Connected to <Peer 118.195.237.158 6666>
DEBUG stream_writer.py:706 recv IAC DO LINEMODE
DEBUG stream_writer.py:1767 handle_do(LINEMODE)
DEBUG stream_writer.py:3167 pending_option[WILL + LINEMODE] = True
DEBUG stream_writer.py:947 send IAC WILL LINEMODE
DEBUG stream_writer.py:3167 pending_option[SB + LINEMODE] = True
DEBUG stream_writer.py:3167 local_option[LINEMODE] = True
DEBUG stream_writer.py:3167 pending_option[WILL + LINEMODE] = False
DEBUG stream_writer.py:698 begin sub-negotiation SB LINEMODE
DEBUG stream_writer.py:685 sub-negotiation cmd LINEMODE SE completion byte
DEBUG stream_writer.py:3167 pending_option[SB + LINEMODE] = False
DEBUG stream_writer.py:2537 recv IAC SB LINEMODE LINEMODE-MODE b'\x03' IAC SE
DEBUG stream_writer.py:1274 set Linemode <b'\x07': lit_echo:False, soft_tab:False, ack:True, trapsig:True, remote:False,
    local:True>
DEBUG stream_writer.py:1277 send IAC SB LINEMODE LINEMODE-MODE <b'\x07': lit_echo:False, soft_tab:False, ack:True, trapsig:True,
    remote:False, local:True> IAC SE
DEBUG stream_writer.py:706 recv IAC DO SGA
DEBUG stream_writer.py:1767 handle_do(SGA)
DEBUG stream_writer.py:3167 pending_option[WILL + SGA] = True
DEBUG stream_writer.py:947 send IAC WILL SGA
DEBUG stream_writer.py:3167 local_option[SGA] = True
DEBUG stream_writer.py:3167 pending_option[WILL + SGA] = False
DEBUG stream_writer.py:706 recv IAC DO TTYPE
DEBUG stream_writer.py:1767 handle_do(TTYPE)
DEBUG stream_writer.py:3167 pending_option[WILL + TTYPE] = True
DEBUG stream_writer.py:947 send IAC WILL TTYPE
DEBUG stream_writer.py:3167 pending_option[SB + TTYPE] = True
DEBUG stream_writer.py:3167 local_option[TTYPE] = True
DEBUG stream_writer.py:3167 pending_option[WILL + TTYPE] = False
DEBUG stream_writer.py:706 recv IAC DO NAWS
DEBUG stream_writer.py:1767 handle_do(NAWS)
DEBUG stream_writer.py:3167 pending_option[WILL + NAWS] = True
DEBUG stream_writer.py:947 send IAC WILL NAWS
DEBUG stream_writer.py:2339 send IAC SB NAWS (rows=25, cols=80) IAC SE
DEBUG stream_writer.py:3167 local_option[NAWS] = True
DEBUG stream_writer.py:3167 pending_option[WILL + NAWS] = False
DEBUG stream_writer.py:706 recv IAC DO NEW_ENVIRON
DEBUG stream_writer.py:1767 handle_do(NEW_ENVIRON)
DEBUG stream_writer.py:3167 pending_option[WILL + NEW_ENVIRON] = True
DEBUG stream_writer.py:947 send IAC WILL NEW_ENVIRON
DEBUG stream_writer.py:3167 pending_option[SB + NEW_ENVIRON] = True
DEBUG stream_writer.py:3167 local_option[NEW_ENVIRON] = True
DEBUG stream_writer.py:3167 pending_option[WILL + NEW_ENVIRON] = False
DEBUG stream_writer.py:706 recv IAC WILL MCCP2_COMPRESS
DEBUG stream_writer.py:722 WILL MCCP2_COMPRESS unsolicited
DEBUG stream_writer.py:1897 handle_will(MCCP2_COMPRESS)
DEBUG stream_writer.py:3167 remote_option[MCCP2_COMPRESS] = False
DEBUG stream_writer.py:947 send IAC DONT MCCP2_COMPRESS
WARNING stream_writer.py:2005 Unhandled: WILL MCCP2_COMPRESS.
DEBUG stream_writer.py:706 recv IAC DO MXP
DEBUG stream_writer.py:1767 handle_do(MXP)
DEBUG stream_writer.py:3167 pending_option[WILL + MXP] = True
DEBUG stream_writer.py:947 send IAC WILL MXP
DEBUG stream_writer.py:3167 pending_option[SB + MXP] = True
DEBUG stream_writer.py:3167 local_option[MXP] = True
DEBUG stream_writer.py:3167 pending_option[WILL + MXP] = False
DEBUG stream_writer.py:706 recv IAC WILL MSSP
DEBUG stream_writer.py:722 WILL MSSP unsolicited
DEBUG stream_writer.py:1897 handle_will(MSSP)
DEBUG stream_writer.py:3167 pending_option[DO + MSSP] = True
DEBUG stream_writer.py:947 send IAC DO MSSP
DEBUG stream_writer.py:3167 remote_option[MSSP] = True
DEBUG stream_writer.py:3167 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:706 recv IAC WILL ZMP
DEBUG stream_writer.py:722 WILL ZMP unsolicited
DEBUG stream_writer.py:1897 handle_will(ZMP)
DEBUG stream_writer.py:3167 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:947 send IAC DO ZMP
DEBUG stream_writer.py:3167 remote_option[ZMP] = True
DEBUG stream_writer.py:3167 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:706 recv IAC WILL GMCP
DEBUG stream_writer.py:722 WILL GMCP unsolicited
DEBUG stream_writer.py:1897 handle_will(GMCP)
DEBUG stream_writer.py:3167 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:947 send IAC DO GMCP
DEBUG stream_writer.py:3167 remote_option[GMCP] = True
DEBUG stream_writer.py:3167 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:698 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:685 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:3167 pending_option[SB + TTYPE] = False
DEBUG stream_writer.py:2234 recv TTYPE SEND: b''
DEBUG stream_writer.py:2247 send IAC SB TTYPE IS b'xterm-256color' IAC SE
DEBUG stream_writer.py:698 begin sub-negotiation SB NEW_ENVIRON
DEBUG stream_writer.py:685 sub-negotiation cmd NEW_ENVIRON SE completion byte
DEBUG stream_writer.py:3167 pending_option[SB + NEW_ENVIRON] = False
DEBUG stream_writer.py:2282 recv NEW_ENVIRON SEND (all)
DEBUG stream_writer.py:2305 env send: LANG='C', TERM='xterm-256color', LINES=25, COLUMNS=80, COLORTERM=''
DEBUG stream_writer.py:698 begin sub-negotiation SB MSSP
DEBUG stream_writer.py:685 sub-negotiation cmd MSSP SE completion byte
DEBUG stream_writer.py:2062 [SB + MSSP] unsolicited
DEBUG stream_writer.py:1670 MSSP: {'NAME': '仙侣情缘', 'PLAYERS': '136', 'UPTIME': '1762316422'}
DEBUG client_base.py:463 negotiation failed after 4.00s.
DEBUG client_base.py:470 failed-reply: 'SB MXP'
DEBUG stream_writer.py:1320 IAC GA: Go-Ahead (unhandled).
DEBUG stream_writer.py:3167 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:947 send IAC DO BINARY
DEBUG stream_writer.py:3167 pending_option[DO + SGA] = True
DEBUG stream_writer.py:947 send IAC DO SGA
DEBUG stream_writer.py:3167 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:947 send IAC DO ECHO
DEBUG stream_writer.py:3167 pending_option[DO + STATUS] = True
DEBUG stream_writer.py:947 send IAC DO STATUS
DEBUG stream_writer.py:3167 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:947 send IAC DO CHARSET
DEBUG stream_writer.py:3167 pending_option[DO + EOR] = True
DEBUG stream_writer.py:947 send IAC DO EOR
DEBUG stream_writer.py:3167 pending_option[DO + COM_PORT_OPTION] = True
DEBUG stream_writer.py:947 send IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:3167 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:947 send IAC DO MSDP
DEBUG stream_writer.py:3167 pending_option[DO + MSP] = True
DEBUG stream_writer.py:947 send IAC DO MSP
DEBUG stream_writer.py:3167 pending_option[DO + MXP] = True
DEBUG stream_writer.py:947 send IAC DO MXP
DEBUG stream_writer.py:3167 pending_option[DO + AARDWOLF] = True
DEBUG stream_writer.py:947 send IAC DO AARDWOLF
DEBUG stream_writer.py:3167 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:947 send IAC DO ATCP
DEBUG stream_writer.py:706 recv IAC WONT BINARY
DEBUG stream_writer.py:2022 handle_wont(BINARY)
DEBUG stream_writer.py:3167 remote_option[BINARY] = False
DEBUG stream_writer.py:3167 pending_option[DO + BINARY] = False
DEBUG stream_writer.py:706 recv IAC WILL SGA
DEBUG stream_writer.py:1897 handle_will(SGA)
DEBUG stream_writer.py:921 skip DO SGA; pending_option = True
DEBUG stream_writer.py:3167 remote_option[SGA] = True
DEBUG stream_writer.py:3167 pending_option[DO + SGA] = False
DEBUG stream_writer.py:706 recv IAC WILL ECHO
DEBUG stream_writer.py:1897 handle_will(ECHO)
DEBUG stream_writer.py:921 skip DO ECHO; pending_option = True
DEBUG stream_writer.py:3167 remote_option[ECHO] = True
DEBUG stream_writer.py:3167 pending_option[DO + ECHO] = False
DEBUG stream_writer.py:706 recv IAC WONT STATUS
DEBUG stream_writer.py:2022 handle_wont(STATUS)
DEBUG stream_writer.py:3167 remote_option[STATUS] = False
DEBUG stream_writer.py:3167 pending_option[DO + STATUS] = False
DEBUG stream_writer.py:706 recv IAC WONT CHARSET
DEBUG stream_writer.py:2022 handle_wont(CHARSET)
DEBUG stream_writer.py:3167 remote_option[CHARSET] = False
DEBUG stream_writer.py:3167 pending_option[DO + CHARSET] = False
DEBUG stream_writer.py:706 recv IAC WONT EOR
DEBUG stream_writer.py:2022 handle_wont(EOR)
DEBUG stream_writer.py:3167 remote_option[EOR] = False
DEBUG stream_writer.py:3167 pending_option[DO + EOR] = False
DEBUG stream_writer.py:706 recv IAC WONT COM_PORT_OPTION
DEBUG stream_writer.py:2022 handle_wont(COM_PORT_OPTION)
DEBUG stream_writer.py:3167 remote_option[COM_PORT_OPTION] = False
DEBUG stream_writer.py:3167 pending_option[DO + COM_PORT_OPTION] = False
DEBUG stream_writer.py:706 recv IAC WONT MSDP
DEBUG stream_writer.py:2022 handle_wont(MSDP)
DEBUG stream_writer.py:3167 remote_option[MSDP] = False
DEBUG stream_writer.py:3167 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:706 recv IAC WONT MSP
DEBUG stream_writer.py:2022 handle_wont(MSP)
DEBUG stream_writer.py:3167 remote_option[MSP] = False
DEBUG stream_writer.py:3167 pending_option[DO + MSP] = False
DEBUG stream_writer.py:706 recv IAC WONT MXP
DEBUG stream_writer.py:2022 handle_wont(MXP)
DEBUG stream_writer.py:3167 remote_option[MXP] = False
DEBUG stream_writer.py:3167 pending_option[DO + MXP] = False
DEBUG stream_writer.py:706 recv IAC WONT AARDWOLF
DEBUG stream_writer.py:2022 handle_wont(AARDWOLF)
DEBUG stream_writer.py:3167 remote_option[AARDWOLF] = False
DEBUG stream_writer.py:3167 pending_option[DO + AARDWOLF] = False
DEBUG stream_writer.py:706 recv IAC WONT ATCP
DEBUG stream_writer.py:2022 handle_wont(ATCP)
DEBUG stream_writer.py:3167 remote_option[ATCP] = False
DEBUG stream_writer.py:3167 pending_option[DO + ATCP] = False
INFO fingerprinting.py:737 new server fingerprint f9b3f33571e02f38
INFO client_base.py:105 Connection closed to <Peer 118.195.237.158 6666>

Generated by telnetlib3-fingerprint

telnetlib3-fingerprint --loglevel=debug 118.195.237.158 6666