home.thezen.garden:23
=====================
**Connection Banner:**
.. image:: /_static/banners/banner_71cdde14fd80.png
:alt: Synchronet BBS for Linux Version 3.18 Telnet connection from: 64.227.40.173 Resolving hostname... _ _ Synchronet BBS for Linux Version 3.18 Copyright 2020 Rob Swindell +-----+ +- -+ +--+ -+ +-----+ +- -+ +-----+ +-----+ +--+ -+ +-----+ +-----+ +-----+ +-----+ \|\| \| \|\| \|\| \|+---+\| \|\|----+ \|\| \|\| \|\| \| \|\| \|+-- \|\|\| +-----+ +-+ +- +--+ +-----+ +- -+ +- +-+ +-----+ +- +--+ +-----+ --- CLIENT CONN: Telnet ADDR: 1984.ws [64.227.40.173] TERM: 80x25 DUMB SERVER NAME: Logic Zero BBS ADDR: mybbs.com NODE: 1 (of 4) - Linux 6.6.51+rpt-rpi-v8 aarch64 TIME: Sat Mar 07 2026 04:06 am UTC ADMN: danSolo SysOp If you are a new user to the system, type "New" now. Otherwise, enter your user name or number now. Enter User Name or Number or 'New' or 'Guest' Login: ro You've been inactive too long.
:class: ansi-banner
:width: 634px
:loading: lazy
Server URLs
-----------
.. raw:: html
**Server Location**: 🇬🇧 United Kingdom (GeoIP)
Listing
-------
- **BBS Name**: Logic Zero BBS (from listing)
- **Listed Location**: Redruth, , England
BBS Software
------------
**Detected**: Synchronet
Encoding
--------
- **Effective encoding**: cp437
- **Scanner detected**: cp437
Telnet Fingerprint
------------------
:ref:`91a64a6a0687c3ea `
*This fingerprint is shared by 10 other servers.*
**Options requested from client**: ``NAWS``, ``NEW_ENVIRON``, ``TSPEED``, ``TTYPE``
The complete JSON record collected during the scan,
including Telnet negotiation results and
banner data.
.. raw:: html
Show JSON
.. code-block:: json
{
"server-probe": {
"fingerprint": "91a64a6a0687c3ea",
"fingerprint-data": {
"offered-options": [],
"probed-protocol": "server",
"refused-options": [],
"requested-options": [
"NAWS",
"NEW_ENVIRON",
"TSPEED",
"TTYPE"
],
"scan-type": "quick"
},
"session_data": {
"banner_after_return": "\r\n+-----+ +- -+ +--+ -+ +-----+ +- -+ +-----+ +-----+ +--+ -+ +-----+ +-----+\r\n+-----+ +-----+ || | || || |+---+| ||----+ || || || | || |+-- |||\r\n+-----+ +-+ +- +--+ +-----+ +- -+ +- +-+ +-----+ +- +--+ +-----+ ---\r\n\r\nCLIENT CONN: Telnet\r\n ADDR: 1984.ws [64.227.40.173]\r\n TERM: 80x25 DUMB\r\nSERVER NAME: Logic Zero BBS\r\n ADDR: mybbs.com\r\n NODE: 1 (of 4) - Linux 6.6.51+rpt-rpi-v8 aarch64\r\n TIME: Sat Mar 07 2026 04:06 am UTC\r\n ADMN: danSolo SysOp\r\n\r\nIf you are a new user to the system, type \"New\" now.\r\nOtherwise, enter your user name or number now.\r\n\r\nEnter User Name or Number or 'New' or 'Guest'\r\nLogin: ro\b\b\u0007\u0007\r\nYou've been inactive too long.\r\n",
"banner_before_return": "\r\nSynchronet BBS for Linux Version 3.18\r\nTelnet connection from: 64.227.40.173\r\nResolving hostname...\r\n\r\n\u001b[s\u001b[0c\u001b[255B\u001b[255C\b_\u001b[6n\u001b[u\u001b[!_\r\u2229\u2557\u2510\u001b[6n\u001b[0m_\u001b[2J\u001b[H\f\r\r Synchronet BBS for Linux Version 3.18 Copyright 2020 Rob Swindell\r\n",
"dsr_replies": 2,
"dsr_requests": 2,
"encoding": "cp437",
"option_states": {
"server_offered": {
"AARDWOLF": true,
"ATCP": true,
"ECHO": true,
"GMCP": true,
"MCCP2": true,
"MCCP3": true,
"MSDP": true,
"MSP": true,
"MSSP": true,
"MXP": true,
"SGA": true,
"ZMP": true
},
"server_requested": {
"AARDWOLF": false,
"ATCP": false,
"GMCP": false,
"MCCP2": false,
"MCCP3": false,
"MSDP": false,
"MSP": false,
"MSSP": false,
"MXP": false,
"NAWS": true,
"NEW_ENVIRON": true,
"SNDLOC": false,
"TSPEED": true,
"TTYPE": true,
"ZMP": false
}
},
"scan_type": "quick",
"timing": {
"probe": 0.0,
"total": 7.54437780380249
}
}
},
"sessions": [
{
"connected": "2026-03-07T04:07:00.157158+00:00",
"host": "home.thezen.garden",
"ip": "81.151.59.40",
"port": 23
}
]
}
.. raw:: html
Connection Log
--------------
Debug-level log of the Telnet negotiation session,
showing each IAC (Interpret As Command) exchange
between client and server.
*Generated by* `telnetlib3-fingerprint `_
.. code-block:: shell
telnetlib3-fingerprint --loglevel=debug home.thezen.garden 23
.. raw:: html
Show Logfile
.. code-block:: text
DEBUG client.py:1193 Fingerprint client: host=home.thezen.garden port=23
INFO client_base.py:186 Connected to
DEBUG stream_writer.py:3330 pending_option[WILL + MXP] = True
DEBUG stream_writer.py:1019 send IAC WILL MXP
DEBUG stream_writer.py:3330 pending_option[WILL + ATCP] = True
DEBUG stream_writer.py:1019 send IAC WILL ATCP
DEBUG stream_writer.py:3330 pending_option[WILL + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1019 send IAC WILL MCCP3_COMPRESS
DEBUG stream_writer.py:3330 pending_option[WILL + GMCP] = True
DEBUG stream_writer.py:1019 send IAC WILL GMCP
DEBUG stream_writer.py:3330 pending_option[WILL + AARDWOLF] = True
DEBUG stream_writer.py:1019 send IAC WILL AARDWOLF
DEBUG stream_writer.py:3330 pending_option[WILL + MSP] = True
DEBUG stream_writer.py:1019 send IAC WILL MSP
DEBUG stream_writer.py:3330 pending_option[WILL + MSDP] = True
DEBUG stream_writer.py:1019 send IAC WILL MSDP
DEBUG stream_writer.py:3330 pending_option[WILL + MSSP] = True
DEBUG stream_writer.py:1019 send IAC WILL MSSP
DEBUG stream_writer.py:3330 pending_option[WILL + ZMP] = True
DEBUG stream_writer.py:1019 send IAC WILL ZMP
DEBUG stream_writer.py:3330 pending_option[WILL + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1019 send IAC WILL MCCP2_COMPRESS
DEBUG stream_writer.py:3330 pending_option[DO + MXP] = True
DEBUG stream_writer.py:1019 send IAC DO MXP
DEBUG stream_writer.py:3330 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:1019 send IAC DO ATCP
DEBUG stream_writer.py:3330 pending_option[DO + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1019 send IAC DO MCCP3_COMPRESS
DEBUG stream_writer.py:3330 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:1019 send IAC DO GMCP
DEBUG stream_writer.py:3330 pending_option[DO + AARDWOLF] = True
DEBUG stream_writer.py:1019 send IAC DO AARDWOLF
DEBUG stream_writer.py:3330 pending_option[DO + MSP] = True
DEBUG stream_writer.py:1019 send IAC DO MSP
DEBUG stream_writer.py:3330 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:1019 send IAC DO MSDP
DEBUG stream_writer.py:3330 pending_option[DO + MSSP] = True
DEBUG stream_writer.py:1019 send IAC DO MSSP
DEBUG stream_writer.py:3330 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:1019 send IAC DO ZMP
DEBUG stream_writer.py:3330 pending_option[DO + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1019 send IAC DO MCCP2_COMPRESS
DEBUG stream_writer.py:768 recv IAC DONT MXP
DEBUG stream_writer.py:1959 handle_dont(MXP)
DEBUG stream_writer.py:3330 pending_option[WILL + MXP] = False
DEBUG stream_writer.py:3330 local_option[MXP] = False
DEBUG stream_writer.py:768 recv IAC DONT ATCP
DEBUG stream_writer.py:1959 handle_dont(ATCP)
DEBUG stream_writer.py:3330 pending_option[WILL + ATCP] = False
DEBUG stream_writer.py:3330 local_option[ATCP] = False
DEBUG stream_writer.py:768 recv IAC DONT MCCP3_COMPRESS
DEBUG stream_writer.py:1959 handle_dont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3330 pending_option[WILL + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3330 local_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:768 recv IAC DONT GMCP
DEBUG stream_writer.py:1959 handle_dont(GMCP)
DEBUG stream_writer.py:3330 pending_option[WILL + GMCP] = False
DEBUG stream_writer.py:3330 local_option[GMCP] = False
DEBUG stream_writer.py:768 recv IAC DONT AARDWOLF
DEBUG stream_writer.py:1959 handle_dont(AARDWOLF)
DEBUG stream_writer.py:3330 pending_option[WILL + AARDWOLF] = False
DEBUG stream_writer.py:3330 local_option[AARDWOLF] = False
DEBUG stream_writer.py:768 recv IAC DONT MSP
DEBUG stream_writer.py:1959 handle_dont(MSP)
DEBUG stream_writer.py:3330 pending_option[WILL + MSP] = False
DEBUG stream_writer.py:3330 local_option[MSP] = False
DEBUG stream_writer.py:768 recv IAC DONT MSDP
DEBUG stream_writer.py:1959 handle_dont(MSDP)
DEBUG stream_writer.py:3330 pending_option[WILL + MSDP] = False
DEBUG stream_writer.py:3330 local_option[MSDP] = False
DEBUG stream_writer.py:768 recv IAC DONT MSSP
DEBUG stream_writer.py:1959 handle_dont(MSSP)
DEBUG stream_writer.py:3330 pending_option[WILL + MSSP] = False
DEBUG stream_writer.py:3330 local_option[MSSP] = False
DEBUG stream_writer.py:768 recv IAC DONT ZMP
DEBUG stream_writer.py:1959 handle_dont(ZMP)
DEBUG stream_writer.py:3330 pending_option[WILL + ZMP] = False
DEBUG stream_writer.py:3330 local_option[ZMP] = False
DEBUG stream_writer.py:768 recv IAC DONT MCCP2_COMPRESS
DEBUG stream_writer.py:1959 handle_dont(MCCP2_COMPRESS)
DEBUG stream_writer.py:3330 pending_option[WILL + MCCP2_COMPRESS] = False
DEBUG stream_writer.py:3330 local_option[MCCP2_COMPRESS] = False
DEBUG stream_writer.py:768 recv IAC WILL MXP
DEBUG stream_writer.py:1994 handle_will(MXP)
DEBUG stream_writer.py:993 skip DO MXP; pending_option = True
DEBUG stream_writer.py:3330 remote_option[MXP] = True
DEBUG stream_writer.py:3330 pending_option[DO + MXP] = False
DEBUG stream_writer.py:768 recv IAC WILL ATCP
DEBUG stream_writer.py:1994 handle_will(ATCP)
DEBUG stream_writer.py:993 skip DO ATCP; pending_option = True
DEBUG stream_writer.py:3330 remote_option[ATCP] = True
DEBUG stream_writer.py:3330 pending_option[DO + ATCP] = False
DEBUG stream_writer.py:768 recv IAC WILL MCCP3_COMPRESS
DEBUG stream_writer.py:1994 handle_will(MCCP3_COMPRESS)
DEBUG stream_writer.py:993 skip DO MCCP3_COMPRESS; pending_option = True
DEBUG stream_writer.py:3330 remote_option[MCCP3_COMPRESS] = True
DEBUG stream_writer.py:2059 MCCP3: client compression activated
DEBUG stream_writer.py:3330 pending_option[DO + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:768 recv IAC WILL GMCP
DEBUG stream_writer.py:1994 handle_will(GMCP)
DEBUG stream_writer.py:993 skip DO GMCP; pending_option = True
DEBUG stream_writer.py:3330 remote_option[GMCP] = True
DEBUG stream_writer.py:1067 send IAC SB GMCP Core.Hello IAC SE
DEBUG stream_writer.py:1067 send IAC SB GMCP Core.Supports.Set IAC SE
INFO client.py:201 GMCP handshake: Core.Hello + Core.Supports.Set ['Char 1', 'Char.Vitals 1', 'Char.Items 1', 'Room 1', 'Room.Info
1', 'Comm 1', 'Comm.Channel 1', 'Group 1']
DEBUG stream_writer.py:3330 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:768 recv IAC WILL AARDWOLF
DEBUG stream_writer.py:1994 handle_will(AARDWOLF)
DEBUG stream_writer.py:993 skip DO AARDWOLF; pending_option = True
DEBUG stream_writer.py:3330 remote_option[AARDWOLF] = True
DEBUG stream_writer.py:3330 pending_option[DO + AARDWOLF] = False
DEBUG stream_writer.py:768 recv IAC WILL MSP
DEBUG stream_writer.py:1994 handle_will(MSP)
DEBUG stream_writer.py:993 skip DO MSP; pending_option = True
DEBUG stream_writer.py:3330 remote_option[MSP] = True
DEBUG stream_writer.py:3330 pending_option[DO + MSP] = False
DEBUG stream_writer.py:768 recv IAC WILL MSDP
DEBUG stream_writer.py:1994 handle_will(MSDP)
DEBUG stream_writer.py:993 skip DO MSDP; pending_option = True
DEBUG stream_writer.py:3330 remote_option[MSDP] = True
DEBUG stream_writer.py:3330 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:768 recv IAC WILL MSSP
DEBUG stream_writer.py:1994 handle_will(MSSP)
DEBUG stream_writer.py:993 skip DO MSSP; pending_option = True
DEBUG stream_writer.py:3330 remote_option[MSSP] = True
DEBUG stream_writer.py:3330 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:768 recv IAC WILL ZMP
DEBUG stream_writer.py:1994 handle_will(ZMP)
DEBUG stream_writer.py:993 skip DO ZMP; pending_option = True
DEBUG stream_writer.py:3330 remote_option[ZMP] = True
DEBUG stream_writer.py:3330 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:768 recv IAC WILL MCCP2_COMPRESS
DEBUG stream_writer.py:1994 handle_will(MCCP2_COMPRESS)
DEBUG stream_writer.py:993 skip DO MCCP2_COMPRESS; pending_option = True
DEBUG stream_writer.py:3330 remote_option[MCCP2_COMPRESS] = True
DEBUG stream_writer.py:3330 pending_option[DO + MCCP2_COMPRESS] = False
DEBUG stream_writer.py:768 recv IAC WILL ECHO
DEBUG stream_writer.py:784 WILL ECHO unsolicited
DEBUG stream_writer.py:1994 handle_will(ECHO)
DEBUG stream_writer.py:3330 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:1019 send IAC DO ECHO
DEBUG stream_writer.py:3330 remote_option[ECHO] = True
DEBUG stream_writer.py:3330 pending_option[DO + ECHO] = False
DEBUG stream_writer.py:768 recv IAC WILL SGA
DEBUG stream_writer.py:784 WILL SGA unsolicited
DEBUG stream_writer.py:1994 handle_will(SGA)
DEBUG stream_writer.py:3330 pending_option[DO + SGA] = True
DEBUG stream_writer.py:1019 send IAC DO SGA
DEBUG stream_writer.py:3330 remote_option[SGA] = True
DEBUG stream_writer.py:3330 pending_option[DO + SGA] = False
DEBUG stream_writer.py:768 recv IAC DO TTYPE
DEBUG stream_writer.py:1836 handle_do(TTYPE)
DEBUG stream_writer.py:3330 pending_option[WILL + TTYPE] = True
DEBUG stream_writer.py:1019 send IAC WILL TTYPE
DEBUG stream_writer.py:3330 pending_option[SB + TTYPE] = True
DEBUG stream_writer.py:3330 local_option[TTYPE] = True
DEBUG stream_writer.py:3330 pending_option[WILL + TTYPE] = False
DEBUG stream_writer.py:768 recv IAC DO TSPEED
DEBUG stream_writer.py:1836 handle_do(TSPEED)
DEBUG stream_writer.py:3330 pending_option[WILL + TSPEED] = True
DEBUG stream_writer.py:1019 send IAC WILL TSPEED
DEBUG stream_writer.py:3330 pending_option[SB + TSPEED] = True
DEBUG stream_writer.py:3330 local_option[TSPEED] = True
DEBUG stream_writer.py:3330 pending_option[WILL + TSPEED] = False
DEBUG stream_writer.py:768 recv IAC DO SNDLOC
DEBUG stream_writer.py:1836 handle_do(SNDLOC)
DEBUG stream_writer.py:1944 DO SNDLOC not supported.
DEBUG stream_writer.py:3330 local_option[SNDLOC] = False
DEBUG stream_writer.py:1019 send IAC WONT SNDLOC
DEBUG stream_writer.py:768 recv IAC DO NAWS
DEBUG stream_writer.py:1836 handle_do(NAWS)
DEBUG stream_writer.py:3330 pending_option[WILL + NAWS] = True
DEBUG stream_writer.py:1019 send IAC WILL NAWS
DEBUG stream_writer.py:2453 send IAC SB NAWS (rows=25, cols=80) IAC SE
DEBUG stream_writer.py:3330 local_option[NAWS] = True
DEBUG stream_writer.py:3330 pending_option[WILL + NAWS] = False
DEBUG stream_writer.py:768 recv IAC DO NEW_ENVIRON
DEBUG stream_writer.py:1836 handle_do(NEW_ENVIRON)
DEBUG stream_writer.py:3330 pending_option[WILL + NEW_ENVIRON] = True
DEBUG stream_writer.py:1019 send IAC WILL NEW_ENVIRON
DEBUG stream_writer.py:3330 pending_option[SB + NEW_ENVIRON] = True
DEBUG stream_writer.py:3330 local_option[NEW_ENVIRON] = True
DEBUG stream_writer.py:3330 pending_option[WILL + NEW_ENVIRON] = False
DEBUG client_base.py:475 MCCP3 compression started (client→server)
DEBUG stream_writer.py:768 recv IAC DONT SNDLOC
DEBUG stream_writer.py:1959 handle_dont(SNDLOC)
DEBUG stream_writer.py:3330 pending_option[WILL + SNDLOC] = False
DEBUG stream_writer.py:762 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:749 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:3330 pending_option[SB + TTYPE] = False
DEBUG stream_writer.py:2353 recv TTYPE SEND: b''
DEBUG stream_writer.py:2365 send IAC SB TTYPE IS b'xterm-256color' IAC SE
DEBUG stream_writer.py:762 begin sub-negotiation SB TSPEED
DEBUG stream_writer.py:749 sub-negotiation cmd TSPEED SE completion byte
DEBUG stream_writer.py:3330 pending_option[SB + TSPEED] = False
DEBUG stream_writer.py:2294 recv TSPEED SEND: b''
DEBUG stream_writer.py:2322 send: IAC SB TSPEED IS b'38400',b'38400' IAC SE
DEBUG client_base.py:499 negotiation failed after 4.00s.
DEBUG client_base.py:505 failed-reply: 'SB NEW_ENVIRON'
DEBUG client_base.py:89 EOF from server, closing.
INFO client_base.py:118 Connection closed to
INFO fingerprinting.py:746 new server fingerprint 91a64a6a0687c3ea
.. raw:: html