BBS Software
~~~~~~~~~~~~
**Detected**: Synchronet
Encoding
~~~~~~~~
- **Effective encoding**: cp437
- **Scanner detected**: ascii
Telnet Fingerprint
~~~~~~~~~~~~~~~~~~
:ref:`620aa4142caf19ba... `
*This fingerprint is shared by 3 other servers.*
**Options offered by server**: ``ECHO``, ``SGA``
**Options requested from client**: ``NAWS``, ``NEW_ENVIRON``, ``TSPEED``, ``TTYPE``
**Data source**: `620aa4142caf19ba/ad9c6b35c4d310bb.json `_
The complete JSON record collected during the scan,
including Telnet negotiation results and banner data.
.. code-block:: json
{
"server-probe": {
"fingerprint": "620aa4142caf19ba",
"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": [
"NAWS",
"NEW_ENVIRON",
"TSPEED",
"TTYPE"
],
"scan-type": "quick"
},
"session_data": {
"banner_after_return": "\r Press [.Esc.] twice within 5 seconds to CONTINUE...\r\r Press [.Esc.] twice within 4 seconds to CONTINUE...\r\r Press [.Esc.] twice within 3 seconds to CONTINUE...\r\r Press [.Esc.] twice within 2 seconds to CONTINUE...\r\r Press [.Esc.] twice within 1 seconds to CONTINUE...\r",
"banner_before_return": "\r\nSynchronet BBS for Linux Version 3.21\r\nTelnet connection from: 64.227.40.173\r\nResolving hostname...\r\n\r\n\u001b[s\u001b[0c\u001b[255B\u001b[255C\u001b[30;40m\b_\u001b[6n\u001b[u\u001b[!_\r\ufffd\ufffd\ufffd\u001b[6n\u001b[0m\u001b[2J\u001b[H\f\r\r Synchronet BBS for Linux Version 3.21 Copyright 2026 Rob Swindell\r\n\r\n########################## ### #####################]##########################\r\n############# ###### ## ### ## ###[## ##]########### ###[##### [ #############\r\n############[]####]# ## ##]###]################ ]######### ]## ################\r\ngj############ ### ####### ### ### ## #[## #######]# ##### ]## ###bbs software#\r\n####################[## #### #]### ## ################ # ######################\r\n\r\nCLIENT CONN: Telnet\r\n ADDR: [64.227.40.173]\r\n TERM: 80x25 US-ASCII / DUMB\r\nSERVER NAME: TFSI\r\n ADDR: bbs.tfsi.dev\r\n NODE: 1 (of 10) - Ubuntu 24.04.3 LTS x86_64\r\n TIME: Mon Feb 09 2026 07:30 pm UTC+1:00\r\n ADMN: CyberNix\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\f\u001b[0m\r\n \u001b[1;36m########\u001b[0;36m+\u001b[1;32m#######\u001b[0;32m+\u001b[34m#######\u001b[1m+\u001b[0;31m##\u001b[1m+\u001b[0m \u001b[1;33m######\u001b[0;33m+\u001b[37m \u001b[1m######\u001b[0m+ \u001b[1;30m#######\u001b[0m+\r\n \u001b[34mW\u001b[1me\u001b[0;32ml\u001b[1mc\u001b[0;36mo\u001b[1mm\u001b[0;31me\u001b[37m \u001b[36m+--\u001b[1m##\u001b[0;36m+--+\u001b[1;32m##\u001b[0;32m+----+\u001b[34m##\u001b[1m+----+\u001b[0;31m##\u001b[1m|\u001b[0m \u001b[1;33m##\u001b[0;33m+--\u001b[1m##\u001b[0;33m+\u001b[1;37m##\u001b[0m+--\u001b[1m##\u001b[0m+\u001b[1;30m##\u001b[0m+----+ \u001b[1;33m09/02/26\u001b[0m\r\n \u001b[1;31mt\u001b[0;35mo\u001b[1m.\u001b[0;33m.\u001b[1m.\u001b[0m \u001b[1;36m##\u001b[0;36m|\u001b[37m \u001b[1;32m#####\u001b[0;32m+\u001b[37m \u001b[34m#######\u001b[1m+\u001b[0;31m##\u001b[1m|\u001b[0m \u001b[1;33m######\u001b[0;33m++\u001b[1;37m######\u001b[0m++\u001b[1;30m#######\u001b[0m+ \u001b[1;33m07:30 pm\u001b[0m\r\n \u001b[1;36m##\u001b[0;36m|\u001b[37m \u001b[1;32m##\u001b[0;32m+--+\u001b[37m \u001b[1;34m+----\u001b[0;34m##\u001b[1m|\u001b[0;31m##\u001b[1m|\u001b[0m \u001b[1;33m##\u001b[0;33m+--\u001b[1m##\u001b[0;33m+\u001b[1;37m##\u001b[0m+--\u001b[1m##\u001b[0m++----\u001b[1;30m##\u001b[0m| \u001b[1;33mGMT/BST\u001b[0m\r\n \u001b[1;36m##\u001b[0;36m|\u001b[37m \u001b[1;32m##\u001b[0;32m|\u001b[37m \u001b[34m#######\u001b[1m|\u001b[0;31m##\u001b[1m|\u001b[0m \u001b[1;33m######\u001b[0;33m++\u001b[1;37m######\u001b[0m++\u001b[1;30m#######\u001b[0m|\r\n \u001b[36m+-+\u001b[37m \u001b[32m+-+\u001b[37m \u001b[1;34m+------+\u001b[31m+-+\u001b[0m \u001b[33m+-----+\u001b[37m +-----+ +------+\r\n \u001b[1m------------------------------------------------------------------------------\u001b[0m\r\n \u001b[1m|\u001b[0m \u001b[1m|\u001b[0m\r\n \u001b[1;34mBulletin Board\u001b[0m \u001b[1m|\u001b[0m \u001b[32mTelnet, SSH, RLogin\u001b[37m \u001b[1m|\u001b[0;33m Message Areas\u001b[37m \u001b[1;33mDove-Net\u001b[0m\r\n \u001b[1;32mLondon, UK\u001b[0m \u001b[1m|\u001b[0m \u001b[32mPOP3, HTTP, HTTPS\u001b[37m \u001b[1m|\u001b[0m \u001b[1;35mFile Areas\u001b[0m \u001b[36m[TFSI]\u001b[37m\r\n \u001b[31m24/7 access\u001b[37m \u001b[1m|\u001b[0m \u001b[32mGopher, NNTP, BinkP\u001b[37m \u001b[1m|\u001b[0m \u001b[35mNetmail\u001b[37m \u001b[1;33mfsxNet\u001b[0m\r\n \u001b[1;33m10 Nodes!!\u001b[0m \u001b[1m|\u001b[0m \u001b[1;36mbbs.tfsi.dev:\u001b[0m \u001b[1m|\u001b[0m \u001b[1;31mText files\u001b[0m \u001b[36m[21:4/145]\u001b[37m\r\n \u001b[1m|\u001b[0m \u001b[36m[132.145.58.12]\u001b[37m \u001b[1m|\u001b[0m \u001b[1;36mDoors/Games\u001b[0m \u001b[1;33mFidoNet\u001b[0m\r\n \u001b[1m-----------------|\u001b[0m \u001b[1m|\u001b[0m \u001b[1;34mRSS News\u001b[0m \u001b[36m[2:250/7]\u001b[37m\r\n \u001b[1m|\u001b[0m \u001b[31mSysop = CyberNix \u001b[1;37m |\u001b[0m \u001b[36mWeather Info\u001b[37m \u001b[1;33mtqwNet\u001b[0m\r\n \u001b[36mInter-BBS Games\u001b[1;37m |-----------------------|\u001b[0m \u001b[36m[1337:1/110]\u001b[37m\r\n \u001b[1;33mBBSLink\u001b[0m \u001b[1m|\u001b[0m \u001b[1m+------------------------------------\u001b[0m\r\n \u001b[1;33mDoorParty\u001b[0m \u001b[1m|\u001b[0m \u001b[1;31mMessage sysop or user #1 for bugs, suggestions or\u001b[0m\r\n \u001b[1m|\u001b[0m \u001b[1;31mfeature reqs.\u001b[0m\r\n\n+---------------------------\r\n: Synchronet Bot Check v1 >> TFSI (node_1)\r\n: Running: Synchronet v3.21 (linux)\r\n+----------------------\r\n\n\r Press [.Esc.] twice within 15 seconds to CONTINUE...\r\r Press [.Esc.] twice within 14 seconds to CONTINUE...\r\r Press [.Esc.] twice within 13 seconds to CONTINUE...\r\r Press [.Esc.] twice within 12 seconds to CONTINUE...\r\r Press [.Esc.] twice within 11 seconds to CONTINUE...\r\r Press [.Esc.] twice within 10 seconds to CONTINUE...\r\r Press [.Esc.] twice within 9 seconds to CONTINUE...\r\r Press [.Esc.] twice within 8 seconds to CONTINUE...\r\r Press [.Esc.] twice within 7 seconds to CONTINUE...\r\r Press [.Esc.] twice within 6 seconds to CONTINUE...\r",
"encoding": "ascii",
"option_states": {
"server_offered": {
"ECHO": true,
"SGA": true
},
"server_requested": {
"NAWS": true,
"NEW_ENVIRON": true,
"SNDLOC": false,
"TSPEED": true,
"TTYPE": true
}
},
"scan_type": "quick",
"timing": {
"probe": 0.5048885345458984,
"total": 17.01729989051819
}
}
},
"sessions": [
{
"connected": "2026-02-09T19:30:43.410834+00:00",
"host": "bbs.tfsi.dev",
"ip": "132.145.58.129",
"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=bbs.tfsi.dev port=23
INFO client_base.py:174 Connected to
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 TSPEED
DEBUG stream_writer.py:1767 handle_do(TSPEED)
DEBUG stream_writer.py:3167 pending_option[WILL + TSPEED] = True
DEBUG stream_writer.py:947 send IAC WILL TSPEED
DEBUG stream_writer.py:3167 pending_option[SB + TSPEED] = True
DEBUG stream_writer.py:3167 local_option[TSPEED] = True
DEBUG stream_writer.py:3167 pending_option[WILL + TSPEED] = 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: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 DO NEW_ENVIRON
DEBUG stream_writer.py:1767 handle_do(NEW_ENVIRON)
DEBUG stream_writer.py:3167 pending_option[WILL + NEW_ENVIRON] = True
DEBUG stream_writer.py:947 send IAC WILL NEW_ENVIRON
DEBUG stream_writer.py:3167 pending_option[SB + NEW_ENVIRON] = True
DEBUG stream_writer.py:3167 local_option[NEW_ENVIRON] = True
DEBUG stream_writer.py:3167 pending_option[WILL + NEW_ENVIRON] = False
DEBUG stream_writer.py:706 recv IAC DONT SNDLOC
DEBUG stream_writer.py:1860 handle_dont(SNDLOC)
DEBUG stream_writer.py:3167 pending_option[WILL + SNDLOC] = 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:698 begin sub-negotiation SB TSPEED
DEBUG stream_writer.py:685 sub-negotiation cmd TSPEED SE completion byte
DEBUG stream_writer.py:3167 pending_option[SB + TSPEED] = False
DEBUG stream_writer.py:2166 recv TSPEED SEND: b''
DEBUG stream_writer.py:2197 send: IAC SB TSPEED IS b'38400',b'38400' IAC SE
DEBUG client_base.py:463 negotiation failed after 4.00s.
DEBUG client_base.py:470 failed-reply: 'SB NEW_ENVIRON'
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 client_base.py:88 EOF from server, closing.
INFO client_base.py:105 Connection closed to
INFO fingerprinting.py:746 connection for server fingerprint 620aa4142caf19ba
*Generated by* `telnetlib3-fingerprint `_
.. code-block:: shell
telnetlib3-fingerprint --loglevel=debug bbs.tfsi.dev 23
bbs.tfsi.dev:513
----------------
**Connection Banner:**
.. raw:: html
Synchronet BBS for Linux Version 3.21
RLogin connection from: 64.227.40.173
Resolving hostname...
_[!_
Synchronet BBS for Linux Version 3.21 Copyright 2026 Rob Swindell