bbs.tabakov.net:13023

Connection Banner:

bbs.tabakov.net:13023

BBS Software

Detected: Mystic BBS

Encoding

  • Effective encoding: cp437

  • Scanner detected: ascii

Telnet Fingerprint

153adc9572daa923…

This fingerprint is shared by 135 other servers.

Options offered by server: ECHO, SGA

Options requested from client: BINARY, TTYPE

Data source: 153adc9572daa923/c6de91c1bb8e84f4.json

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

{
  "server-probe": {
    "fingerprint": "153adc9572daa923",
    "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": [
        "BINARY",
        "TTYPE"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "\r\n\f\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\r\n\ufffd \ufffd Welcome to Mystic BBS Demo System                                         \ufffd\r\n\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\r\n\r\n The account name you entered was not located in our account database.  If you\r\n wish to create a new account, answer YES below to continue on to the new\r\n account application.  If you've mistyped your account name, answer NO and you\r\n will be returned to the login prompt.\r\n\r\nCreate an account with this BBS? No",
      "banner_before_return": "\u001b[1;1H\u001b[2J\u001b[1;1H\u001b[?1000h\fMystic BBS Version 1.12 A47\r\nCopyright (C) 1997-2021 By James Coyle\r\n\r\nDetecting terminal emulation: \u001b[s\u001b[255B\u001b[255C\u001b[6n\u001b[u\b \b\b \b\b \b\b \b\b \b\b \b\b \b\b \b\b \b\b \b\b \b\b \b\b \b\b \b\b \b\b \b\b \b\b \b\b \b\b \b\b \b\b \bASCII detected.\r\n\r\n[\ufffd] Enter your user name: ",
      "encoding": "ascii",
      "option_states": {
        "server_offered": {
          "ECHO": true,
          "SGA": true
        },
        "server_requested": {
          "BINARY": true,
          "SNDLOC": false,
          "TTYPE": true
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.5077083110809326,
        "total": 5.77749228477478
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-02-09T19:34:06.115194+00:00",
      "host": "bbs.tabakov.net",
      "ip": "80.80.140.38",
      "port": 13023
    }
  ]
}

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.tabakov.net port=13023
INFO client_base.py:174 Connected to <Peer 80.80.140.38 13023>
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 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 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 stream_writer.py:706 recv IAC DO SNDLOC
DEBUG stream_writer.py:1767 handle_do(SNDLOC)
DEBUG stream_writer.py:1845 DO SNDLOC not supported.
DEBUG stream_writer.py:3167 local_option[SNDLOC] = False
DEBUG stream_writer.py:947 send IAC WONT SNDLOC
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 IS: b'\x01\x00'
WARNING stream_writer.py:2238 ignoring TTYPE IS from server: b'\x01\x00'
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 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 GMCP
DEBUG stream_writer.py:2022 handle_wont(GMCP)
DEBUG stream_writer.py:3167 remote_option[GMCP] = False
DEBUG stream_writer.py:3167 pending_option[DO + GMCP] = 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 MSSP
DEBUG stream_writer.py:2022 handle_wont(MSSP)
DEBUG stream_writer.py:3167 remote_option[MSSP] = False
DEBUG stream_writer.py:3167 pending_option[DO + MSSP] = 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 ZMP
DEBUG stream_writer.py:2022 handle_wont(ZMP)
DEBUG stream_writer.py:3167 remote_option[ZMP] = False
DEBUG stream_writer.py:3167 pending_option[DO + ZMP] = 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:746 connection for server fingerprint 153adc9572daa923
INFO client_base.py:105 Connection closed to <Peer 80.80.140.38 13023>

Generated by telnetlib3-fingerprint

telnetlib3-fingerprint --loglevel=debug bbs.tabakov.net 13023