bbs.as.ntu.edu.tw:23

Connection Banner:

bbs.as.ntu.edu.tw:23

Encoding

  • Effective encoding: big5

  • Override: big5 (from bbslist.txt)

  • Scanner detected: big5

Telnet Fingerprint

abf7a80471c3c3fd…

This fingerprint is unique to this server.

Options offered by server: ECHO, SGA

Options requested from client: CHARSET, GMCP, MSDP, MSSP, TTYPE

Data source: abf7a80471c3c3fd/59aa962e34fc65ef.json

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

{
  "server-probe": {
    "fingerprint": "abf7a80471c3c3fd",
    "fingerprint-data": {
      "offered-options": [
        "ECHO",
        "SGA"
      ],
      "probed-protocol": "server",
      "refused-options": [
        "AARDWOLF",
        "ATCP",
        "BINARY",
        "CHARSET",
        "COM_PORT",
        "EOR",
        "GMCP",
        "MSDP",
        "MSP",
        "MSSP",
        "MXP",
        "STATUS",
        "ZMP"
      ],
      "requested-options": [
        "CHARSET",
        "GMCP",
        "MSDP",
        "MSSP",
        "TTYPE"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "\r\u8acb\u8f38\u5165\u4ee3\u865f\uff0c\u6216\u4ee5[guest]\u53c3\u89c0\uff0c\u4ee5[new]\u8a3b\u518a\uff1a\u001b[7m             \u001b[m\n\r\u9019\u88e1\u6c92\u6709\u9019\u500b\u4eba\u5566\uff01\u001b[21;43H",
      "banner_before_return": "1\u001b[H\u001b[J\u001b[3;1H               \u001b[1;33m \u256d\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u7068\ufe5c~\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u7068\ufe5c~\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u7068\ufe5c~\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u7068\ufffd\n\r                \ufffd\ufffd  \u256d\ufffd\u7068\u2197\u77d9\ufffd  \u256d\ufffd\u7068\u2197\u77d9\ufffd        \ufffd\u77d9\ufffd  \u256d\ufffd\u7068\u2197\ufffd\n\r                \ufffd\ufffd  \ufffd\ufffd  \u2570\u256f\ufffd\ufffd  \ufffd\ufffd  \ufffd\u77d9\u77d9\ufffd  \u2570\ufffd\u7068\ufffd\ufffd\u77d9\ufffd  \ufffd\ufffd  \ufffd\u77d9\ufffd\n\r                \ufffd\ufffd  \ufffd\ufffd  \u256d\u256e\ufffd\ufffd  \u2570\ufffd\u7068\ufffd\ufffd\u9f70~\ufffd\u7068\ufffd    \ufffd\u77d9\ufffd  \u2570\ufffd\u7068\ufffd\ufffd\ufffd\n\r                \ufffd\ufffd  \u2570\ufffd\u7068\ufffd\ufffd\u77d9\ufffd  \u256d\ufffd\u7068\u2197\u77d9\ufffd        \ufffd\u77d9\ufffd  \u256d\ufffd\u7068\u2197\ufffd\n\r                \u2570\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u7068\u3111\uff51\u7068\ufffd  \u2570\u256f\u2570\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u7068\u3111\uff51\u7068\ufffd  \u2570\u256f\n\r                      \u256d\ufffd\u7068\ufe5c~\ufffd\u7068\ufe5c~\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u7068\ufe5c~\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u7068\ufffd\n\r                      \ufffd\ufffd  \u2570\u256f  \ufffd\u9f70\uff51\u7068\ufe5c~\ufffd\u7068\ufffd\ufffd\ufffd  \u256d\ufffd\u7068\u2197\ufffd\n\r                      \ufffd\ufffd        \ufffd\ufffd    \ufffd\u77d9\ufffd    \ufffd\ufffd  \ufffd\ufffd  \ufffd\u77d9\ufffd\n\r                      \ufffd\u9f70~\u256e\u256d\u256e\ufffd\ufffd    \ufffd\u77d9\ufffd    \ufffd\ufffd  \u2570\ufffd\u7068\ufffd\ufffd\ufffd\n\r  \u001b[1;37;44m\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u001b[40m\u256d\u2500\u2500\u2534\u2500\u001b[33m\u256e\ufffd\u77d9\u9f70\u2570\ufffd\ufffd\u77d9\u9f70~\ufffd\u7068\u3111\uff51\u7068\u2197\ufffd  \u256d\ufffd\u7068\u2197\ufffd    \u001b[36m\u2500 designed\n\r\u001b[37m\u256d\u001b[44m\ufffd\ufffd\u001b[33m NTU\u001b[37m\ufffd\ufffd\u001b[40m\u256f\u001b[33;42m\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u001b[37;40m\u001b[33m\u251c\u2534\u256f    \u2570\u256f\u2570\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u7068\u3111\uff51\u7068\ufffd  \u2570\u256f       \u001b[36mby sofina \u2500\u001b[m\n\r\u001b[1;37m\u2524\u001b[37;44m\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u001b[40m\u256d\u001b[1;33;42m\ufffd\ufffd\u001b[36mBBS \u001b[33m\ufffd\ufffd\u001b[37;40m\u001b[33m\u256f\n\r\u001b[37m\u2570\u2500\u252c\u2500\u2500\u256f\u001b[1;33;42m\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u001b[m\n\r\u001b[1;36m\u81fa\u5927\u001b[32m\u5927\u6c23\u001b[33m\u79d1\u5b78\u7cfb\u001b[m               \u001b[0;1;45m\u76ee\u524d\u6709\u30100/256\u3011\u4eba\u4e0a\u7dda\u001b[0m\n\r\u001b[1;32mb\u001b[0;32mbs.\u001b[1ma\u001b[0;32ms.\u001b[1mn\u001b[0;32mtu.\u001b[1me\u001b[0;32mdu.\u001b[1mt\u001b[0;32mw/\u001b[m\n\r\u001b[1;36m1\u001b[0;36m40.\u001b[1m1\u001b[0;36m12.\u001b[1m6\u001b[0;36m6.\u001b[1m4\u001b[0;36m3 \u001b[1mp\u001b[0;36mort:\u001b[1m2\u001b[0;36m3/\u001b[m\u001b[21;1H\u8acb\u8f38\u5165\u4ee3\u865f\uff0c\u6216\u4ee5[guest]\u53c3\u89c0\uff0c\u4ee5[new]\u8a3b\u518a\uff1a\u001b[7m             \u001b[m\u001b[21;43H",
      "encoding": "big5",
      "option_states": {
        "server_offered": {
          "ECHO": true,
          "SGA": true
        },
        "server_requested": {
          "TTYPE": true
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.5053081512451172,
        "total": 5.281123161315918
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-02-09T19:31:06.159351+00:00",
      "host": "bbs.as.ntu.edu.tw",
      "ip": "140.112.66.43",
      "port": 23
    }
  ]
}

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=bbs.as.ntu.edu.tw port=23
INFO client_base.py:174 Connected to <Peer 140.112.66.43 23>
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: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:706 recv IAC WILL ECHO
DEBUG stream_writer.py:722 WILL ECHO unsolicited
DEBUG stream_writer.py:1897 handle_will(ECHO)
DEBUG stream_writer.py:3167 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:947 send IAC DO ECHO
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 WILL SGA
DEBUG stream_writer.py:722 WILL SGA unsolicited
DEBUG stream_writer.py:1897 handle_will(SGA)
DEBUG stream_writer.py:3167 pending_option[DO + SGA] = True
DEBUG stream_writer.py:947 send IAC DO SGA
DEBUG stream_writer.py:3167 remote_option[SGA] = True
DEBUG stream_writer.py:3167 pending_option[DO + SGA] = False
DEBUG client_base.py:460 negotiation complete after 2.00s.
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 + 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 + GMCP] = True
DEBUG stream_writer.py:947 send IAC DO GMCP
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 + MSSP] = True
DEBUG stream_writer.py:947 send IAC DO MSSP
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 + ZMP] = True
DEBUG stream_writer.py:947 send IAC DO ZMP
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 DO b'\x1b'
DEBUG stream_writer.py:1767 handle_do(b'\x1b')
DEBUG stream_writer.py:1845 DO b'\x1b' not supported.
DEBUG stream_writer.py:3167 local_option[b'\x1b'] = False
DEBUG stream_writer.py:947 send IAC WONT b'\x1b'
DEBUG stream_writer.py:706 recv IAC DO b'\x1b'
DEBUG stream_writer.py:1767 handle_do(b'\x1b')
DEBUG stream_writer.py:1845 DO b'\x1b' not supported.
DEBUG stream_writer.py:947 send IAC WONT b'\x1b'
DEBUG stream_writer.py:706 recv IAC DO CHARSET
DEBUG stream_writer.py:1767 handle_do(CHARSET)
DEBUG stream_writer.py:3167 pending_option[WILL + CHARSET] = True
DEBUG stream_writer.py:947 send IAC WILL CHARSET
DEBUG stream_writer.py:3167 local_option[CHARSET] = True
DEBUG stream_writer.py:3167 pending_option[WILL + CHARSET] = False
DEBUG stream_writer.py:706 recv IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:1767 handle_do(COM_PORT_OPTION)
DEBUG stream_writer.py:1845 DO COM_PORT_OPTION not supported.
DEBUG stream_writer.py:3167 local_option[COM_PORT_OPTION] = False
DEBUG stream_writer.py:947 send IAC WONT COM_PORT_OPTION
DEBUG stream_writer.py:706 recv IAC DO GMCP
DEBUG stream_writer.py:1767 handle_do(GMCP)
DEBUG stream_writer.py:3167 pending_option[WILL + GMCP] = True
DEBUG stream_writer.py:947 send IAC WILL GMCP
DEBUG stream_writer.py:3167 local_option[GMCP] = True
DEBUG stream_writer.py:3167 pending_option[WILL + GMCP] = False
DEBUG stream_writer.py:706 recv IAC DO MSDP
DEBUG stream_writer.py:1767 handle_do(MSDP)
DEBUG stream_writer.py:3167 pending_option[WILL + MSDP] = True
DEBUG stream_writer.py:947 send IAC WILL MSDP
DEBUG stream_writer.py:3167 local_option[MSDP] = True
DEBUG stream_writer.py:3167 pending_option[WILL + MSDP] = False
DEBUG stream_writer.py:706 recv IAC DO MSSP
DEBUG stream_writer.py:1767 handle_do(MSSP)
DEBUG stream_writer.py:3167 pending_option[WILL + MSSP] = True
DEBUG stream_writer.py:947 send IAC WILL MSSP
DEBUG stream_writer.py:3167 local_option[MSSP] = True
DEBUG stream_writer.py:3167 pending_option[WILL + MSSP] = False
INFO fingerprinting.py:737 new server fingerprint abf7a80471c3c3fd
INFO client_base.py:105 Connection closed to <Peer 140.112.66.43 23>

Generated by telnetlib3-fingerprint

telnetlib3-fingerprint --loglevel=debug bbs.as.ntu.edu.tw 23