cbbs.mitsaltair.com:8800
========================
**Connection Banner:**
.. raw:: html
Connected to the Altair 8800 (Z80) simulator PMMI device
CBBS(R) 3.6.2g
02/09/26 14:27:13
TERMINAL NEED NULLS? TYPE CTL-N WHILE THIS TYPES:
*** WELCOME TO CBBS/CHATTANOOGA ***
*** PATRICK'S COMPUTERIZED BULLETIN BOARD SYSTEM ***
-----> CONTROL CHARACTERS ACCEPTED BY THIS SYSTEM:
ASCII CTL
CHARS CHARS
----- -----
DEL/BS CHARACTER DELETE
C CTL-C CANCEL OUTPUT
K CTL-K FUNCTION ABORT
CTL-N SEND 5 MORE NULLS
CTL-R RETYPE INPUT LINE
ESC CTL-U LINE DELETE
CTL-I TAB (TABS SET EVERY 8)
CTL-W VIDEO WORD BACKSPACE
CTL-X VIDEO LINE DELETE
S CTL-S STOP/START OUTPUT
IF YOU GET STUCK, TRY: CTL-K THEN C/R
UNTIL YOU BAIL OUT BACK TO THE MAIN MENU.
FRILLS:
CTL-L SHOWS LENGTH OF INPUT FIELD
CTL-E TYPES A C/R BACK TO YOU, BUT DOESN'T END THE LINE YOU ARE KEYING
USE ";" TO SEPARATE MULTIPLE ANSWERS, I.E.
N;FIRSTNAME;LASTNAME;X;P;
WOULD LOG YOU IN, SET VIDEO MODE, EXPERT MODE, PROMPT BELLS.
Y/N: want CBBS "1st time user" info?
y
(Optional)
What city/state are you calling from?
.. raw:: html
cbbs.mitsaltair.com:8800
⎘
Encoding
--------
- **Effective encoding**: cp437
- **Scanner detected**: ascii
Telnet Fingerprint
------------------
:ref:`270f5f632ae16ede... `
*This fingerprint is shared by 102 other servers.*
**Options offered by server**: ``BINARY``, ``ECHO``, ``SGA``
**Options requested from client**: ``BINARY``
**Data source**: `270f5f632ae16ede/69794052e50b3f35.json `_
The complete JSON record collected during the scan,
including Telnet negotiation results and banner data.
.. code-block:: json
{
"server-probe": {
"fingerprint": "270f5f632ae16ede",
"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"
],
"scan-type": "quick"
},
"session_data": {
"banner_after_return": "y\r\n\r\n(Optional) \r\nWhat city/state are you calling from?",
"banner_before_return": "\n\r\nConnected to the Altair 8800 (Z80) simulator PMMI device\r\n\n\u0000\u0000\u0000\u0000\u0000CBBS(R) 3.6.2g\r\n\u0000\u0000\u0000\u0000\u000002/09/26 14:27:13\r\n\r\n TERMINAL NEED NULLS? TYPE CTL-N WHILE THIS TYPES:\r\n\r\n *** WELCOME TO CBBS/CHATTANOOGA ***\r\n*** PATRICK'S COMPUTERIZED BULLETIN BOARD SYSTEM ***\r\n\r\n-----> CONTROL CHARACTERS ACCEPTED BY THIS SYSTEM:\r\n\r\n ASCII CTL\r\n CHARS CHARS\r\n ----- -----\r\n DEL/BS CHARACTER DELETE\r\n C CTL-C CANCEL OUTPUT\r\n K CTL-K FUNCTION ABORT\r\n CTL-N SEND 5 MORE NULLS\r\n CTL-R RETYPE INPUT LINE\r\n ESC CTL-U LINE DELETE\r\n CTL-I TAB (TABS SET EVERY 8)\r\n CTL-W VIDEO WORD BACKSPACE\r\n CTL-X VIDEO LINE DELETE\r\n S CTL-S STOP/START OUTPUT\r\n\r\nIF YOU GET STUCK, TRY: CTL-K THEN C/R\r\n UNTIL YOU BAIL OUT BACK TO THE MAIN MENU.\r\n\r\nFRILLS:\r\n CTL-L SHOWS LENGTH OF INPUT FIELD\r\n CTL-E TYPES A C/R BACK TO YOU, BUT DOESN'T END THE LINE YOU ARE KEYING\r\n\r\nUSE \";\" TO SEPARATE MULTIPLE ANSWERS, I.E.\r\n N;FIRSTNAME;LASTNAME;X;P;\r\nWOULD LOG YOU IN, SET VIDEO MODE, EXPERT MODE, PROMPT BELLS.\r\n\r\n\r\n\r\nY/N: want CBBS \"1st time user\" info?",
"encoding": "ascii",
"option_states": {
"server_offered": {
"BINARY": true,
"ECHO": true,
"LINEMODE": false,
"SGA": true
},
"server_requested": {
"BINARY": true
}
},
"scan_type": "quick",
"timing": {
"probe": 0.504230260848999,
"total": 7.891016721725464
}
}
},
"sessions": [
{
"connected": "2026-02-09T19:27:22.360171+00:00",
"host": "cbbs.mitsaltair.com",
"ip": "192.111.72.225",
"port": 8800
}
]
}
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=cbbs.mitsaltair.com port=8800
INFO client_base.py:174 Connected to
DEBUG stream_writer.py:706 recv IAC WILL LINEMODE
DEBUG stream_writer.py:722 WILL LINEMODE unsolicited
DEBUG stream_writer.py:1897 handle_will(LINEMODE)
DEBUG stream_writer.py:1920 recv WILL LINEMODE on client end, refusing.
DEBUG stream_writer.py:3167 remote_option[LINEMODE] = False
DEBUG stream_writer.py:947 send IAC DONT LINEMODE
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 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 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
INFO fingerprinting.py:746 connection for server fingerprint 270f5f632ae16ede
INFO client_base.py:105 Connection closed to
*Generated by* `telnetlib3-fingerprint `_
.. code-block:: shell
telnetlib3-fingerprint --loglevel=debug cbbs.mitsaltair.com 8800