ofo.tw:23

Connection Banner:

ofo.tw:23

Encoding

  • Effective encoding: big5

  • Override: big5 (from bbslist.txt)

  • Scanner detected: big5

Telnet Fingerprint

5470888562c02644…

This fingerprint is shared by 10 other servers.

Options offered by server: BINARY, ECHO, SGA

Options requested from client: BINARY, NAWS, TTYPE

Data source: 5470888562c02644/36c4100c1aee845c.json

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

{
  "server-probe": {
    "fingerprint": "5470888562c02644",
    "fingerprint-data": {
      "offered-options": [
        "BINARY",
        "ECHO",
        "SGA"
      ],
      "probed-protocol": "server",
      "refused-options": [
        "AARDWOLF",
        "ATCP",
        "CHARSET",
        "COM_PORT",
        "EOR",
        "GMCP",
        "MSDP",
        "MSP",
        "MSSP",
        "MXP",
        "STATUS",
        "ZMP"
      ],
      "requested-options": [
        "BINARY",
        "NAWS",
        "TTYPE"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "\u001b[17;19H\u001b[46m    \u001b[1;32;44m       \u7533\u8acb\u65b0\u5e33\u865f\u8acb\u8f38\u5165[\u001b[33mnew\u001b[32m]          \u001b[46m   \u001b[0m\u001b[11;41H\u001b[0;30;40m                \u001b[0;37m\u001b[13;41H\u001b[0;30;40m                \u001b[0;37m\u001b[11;41H",
      "banner_before_return": "\r\n\u001b[1;33m\u8f38\u001b[1;32m\u9001\u001b[1;31m\u4e2d\u001b[1;36m...\u001b[0;37m\n\r\n \u001b[1;32m[<< \u001b[1;33;41m\u672a\u4f86\u001b[1;32;44m\u6700\u820a\u001b[1;33;40m\u5c0f\u68e7 \u001b[1;32m>>]\u001b[0;37m  (\u001b[1;36mOfO\u001b[1;33m.twbbs.org\u001b[0;37m)\r\n\u5b50\u7a7a\u9593\u901a\u8a0a\u983b\u7387:[\u001b[1;32mOfO.twbbs.org\u001b[0;37m] \u001b[0;30m%s\u001b[0;37m\r\n\n\u001b[2J\u001b[5;19H\u001b[1;33;41m               \u672a\u4f86\u6700\u820a\u5c0f\u68e7              \u001b[0;30;43m\uff1f\u001b[41m\u001b[30;42m\u2573\u001b[0m\r\n\u001b[6;19H\u001b[46m                                             \u001b[0m  \u001b[0m\r\n\u001b[7;19H\u001b[1;33;46m    \u8acb\u9078\u64c7\u6b32\u767b\u5165\u7db2\u57df \u001b[0;37;46m\u2261\u001b[0m \u001b[1;37;44m\u672a\u4f86\u6700\u820a\u5c0f\u68e7\u001b[0m    \u001b[1;37;43m\u25bc\u001b[46m   \u001b[0m  \u001b[0m\r\n\u001b[8;19H\u001b[46m                                             \u001b[0m  \u001b[0m\r\n\u001b[9;19H\u001b[1;31;46m    \u8acb\u8f38\u5165\u8eab\u4efd\u8b58\u5225\u4ee5\u767b\u5165\u672c\u8266               \u001b[0m  \u001b[0m\r\n\u001b[9;19H\u001b[1;37;46m \u2595\u001b[1;37;40m\u001b[47m\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u001b[30;46m\u258f\u001b[0m  \u001b[0m\r\n\u001b[10;19H\u001b[1;37;46m \u2595\u001b[0;30;47m\u2595\u001b[44m\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u001b[1;37;47m\u258f\u001b[30;46m\u258f\u001b[0m  \u001b[0m\r\n\u001b[11;19H\u001b[1;37;46m \u2595\u001b[0;30;47m\u2595\u001b[1;33;44m \u4f7f\u7528\u8005\u540d\u7a31(\u001b[32mU\u001b[33m) \u001b[0;37;44m\u2261\u001b[0m                 \u001b[1;33;44m  \u001b[37;47m\u258f\u001b[30;46m\u258f\u001b[0m  \u001b[0m\r\n\u001b[12;19H\u001b[1;37;46m \u2595\u001b[0;30;47m\u2595\u001b[1;32;44m                                    \u001b[1;37;47m\u258f\u001b[30;46m\u258f\u001b[0m  \u001b[0m\r\n\u001b[13;19H\u001b[1;37;46m \u2595\u001b[0;30;47m\u2595\u001b[1;33;44m \u5bc6     \u78bc (\u001b[32mP\u001b[33m) \u001b[0;37;44m\u2261\u001b[0m                 \u001b[1;33;44m  \u001b[37;47m\u258f\u001b[30;46m\u258f\u001b[0m  \u001b[0m\r\n\u001b[14;19H\u001b[1;37;46m \u2595\u001b[0;30;47m\u2595\u001b[1;32;44m                                    \u001b[1;37;47m\u258f\u001b[30;46m\u258f\u001b[0m  \u001b[0m\r\n\u001b[15;19H\u001b[1;37;46m \u2595\u001b[1;37;47m  \u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594  \u001b[30;46m\u258f\u001b[0m  \u001b[0m\r\n\u001b[16;19H\u001b[30;46m   \u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594\u2594  \u001b[0m  \u001b[0m\r\n\u001b[17;19H\u001b[46m    \u001b[1;32;44m      \u8acb\u6309\u001b[5;33m\u2191\u2193\u001b[0;1;32;44m\u9375\u9078\u64c7\u6b32\u767b\u5165\u7db2\u57df        \u001b[46m   \u001b[0m  \u001b[0m\r\n\u001b[18;19H\u001b[46m                                             \u001b[0m  \u001b[0m\r\n\u001b[19;21H\u001b[37m                                             \u001b[0m\r\n\u001b[23;10H\u001b[1;31m twbbs.org \u5c07\u65bc 2017/12/01 \u7d50\u675f\u670d\u52d9\uff0c\u672a\u4f86\u8acb\u7528 ofo.tw \u9023\u7dda\u001b[0m\r\n\u001b[m\u001b[7;55H",
      "encoding": "big5",
      "option_states": {
        "server_offered": {
          "BINARY": true,
          "ECHO": true,
          "SGA": true
        },
        "server_requested": {
          "BINARY": true,
          "NAWS": true,
          "TTYPE": true
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.505364179611206,
        "total": 5.274271726608276
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-02-09T19:36:07.393462+00:00",
      "host": "ofo.tw",
      "ip": "140.112.172.28",
      "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=ofo.tw port=23
INFO client_base.py:174 Connected to <Peer 140.112.172.28 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 DO TTYPE
DEBUG stream_writer.py:1767 handle_do(TTYPE)
DEBUG stream_writer.py:3167 pending_option[SB + TTYPE] = True
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 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 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 stream_writer.py:706 recv IAC WILL BINARY
DEBUG stream_writer.py:722 WILL BINARY unsolicited
DEBUG stream_writer.py:1897 handle_will(BINARY)
DEBUG stream_writer.py:3167 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:947 send IAC DO BINARY
DEBUG stream_writer.py:3167 remote_option[BINARY] = True
DEBUG stream_writer.py:3167 pending_option[DO + BINARY] = False
DEBUG stream_writer.py:706 recv IAC DO BINARY
DEBUG stream_writer.py:1767 handle_do(BINARY)
DEBUG stream_writer.py:3167 pending_option[WILL + BINARY] = True
DEBUG stream_writer.py:947 send IAC WILL BINARY
DEBUG stream_writer.py:3167 local_option[BINARY] = True
DEBUG stream_writer.py:3167 pending_option[WILL + BINARY] = False
DEBUG client_base.py:460 negotiation complete after 2.00s.
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 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
INFO fingerprinting.py:746 connection for server fingerprint 5470888562c02644
INFO client_base.py:105 Connection closed to <Peer 140.112.172.28 23>

Generated by telnetlib3-fingerprint

telnetlib3-fingerprint --loglevel=debug ofo.tw 23