ofo.tw:23 ========= **Connection Banner:** .. raw:: html .. raw:: html

ofo.tw:23

Encoding -------- - **Effective encoding**: big5 - **Override**: big5 (from bbslist.txt) - **Scanner detected**: big5 Telnet Fingerprint ------------------ :ref:`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. .. code-block:: json { "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. .. code-block:: text DEBUG client.py:863 Fingerprint client: host=ofo.tw port=23 INFO client_base.py:174 Connected to 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 *Generated by* `telnetlib3-fingerprint `_ .. code-block:: shell telnetlib3-fingerprint --loglevel=debug ofo.tw 23