sparx.bbs.io:23
Connection Banner:
Server URLs
Server Location: 🇬🇧 United Kingdom (GeoIP)
Listing
BBS Name: Sparx BBS (from listing)
Listed Location: Oxford, , England
BBS Software
Reported: Custom
Encoding
Effective encoding: cp437
Override: cp437 (from bbslist.txt)
Scanner detected: cp437
Telnet Fingerprint
This fingerprint is shared by 99 other servers.
The complete JSON record collected during the scan, including Telnet negotiation results and banner data.
Show JSON
{
"server-probe": {
"fingerprint": "e89ffa4fe5c32389",
"fingerprint-data": {
"offered-options": [],
"probed-protocol": "server",
"refused-options": [
"AARDWOLF",
"ATCP",
"BINARY",
"CHARSET",
"COM_PORT",
"ECHO",
"EOR",
"GMCP",
"MCCP2",
"MCCP3",
"MSDP",
"MSP",
"MSSP",
"MXP",
"SGA",
"STATUS",
"ZMP"
],
"requested-options": [],
"scan-type": "quick"
},
"session_data": {
"banner_after_return": "",
"banner_before_return": "\u001b[0m\r\n\r\n \u001b[31m\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u001b[1;30;41m\u2584\u001b[40m\u2588\u001b[0;31m\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u001b[1;30;41m\u2584\u001b[40m\u2588\u001b[0;31m\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u001b[1;30;41m\u2584\u001b[40m\u2588\u001b[0;31m\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u001b[1;30m\u2588\u001b[0m \u001b[31m\u2588\u2588\u2588\u2588\u2584\u001b[37m \u001b[31m\u2584\u2588\u2588\u2588\u001b[1;30;41m\u2584\u001b[40m\u2588\u001b[0m\r\n \u001b[1;31m\u2588\u2588\u2588\u2588\u001b[5;30;41m\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u001b[0;1;30m\u2588\u001b[31m\u2588\u2588\u2588\u2588\u001b[5;30;41m\u2584\u2584\u2584\u2584\u2584\u2584\u001b[0;1;31m\u2588\u2588\u2588\u001b[5;30;41m\u2584\u001b[0;1;30m\u2588\u001b[5;41m\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u001b[0;1;31m\u2588\u2588\u2588\u001b[5;30;41m\u2584\u001b[0;1;30m\u2588\u001b[31m\u2588\u2588\u2588\u001b[5;30;41m\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u001b[0;1;31m\u2588\u2588\u2588\u001b[30m\u2588\u2580\u001b[0m \u001b[1;30m\u2580\u001b[5;41m\u2584\u001b[0;1;31m\u2588\u2588\u2588\u2584\u2584\u2588\u2588\u001b[5;30;41m\u2584\u2584\u001b[0;1;30m\u2588\u2580\u001b[0m\r\n \u001b[33m\u2584\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u001b[1;30m\u2588\u001b[43m\u2580\u001b[0;33m\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u001b[1;30;43m\u2584\u001b[40m\u2588\u2588\u001b[0;33m\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u001b[1;30m\u2588\u001b[43m\u2580\u001b[0;33m\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u001b[1;30m\u2588\u001b[0m \u001b[1;30m\u2580\u001b[43m\u2584\u001b[0;33m\u2588\u2588\u2588\u2588\u001b[1;30;43m\u2584\u001b[40m\u2588\u2588\u2580\u001b[0m\r\n \u001b[1;5;30;43m\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u001b[0;1;33m\u2588\u2588\u2588\u001b[5;30;43m\u2584\u001b[0;1;30m\u2588\u001b[33m\u2588\u2588\u2588\u001b[5;30;43m\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u001b[0;1;30m\u2588\u2588\u001b[33m\u2588\u2588\u2588\u001b[5;30;43m\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u001b[0;1;33m\u2588\u2588\u2588\u001b[5;30;43m\u2584\u001b[0;1;30m\u2588\u001b[33m\u2588\u2588\u2588\u2588\u001b[5;30;43m\u2584\u001b[0;1;33m\u2588\u2588\u2588\u2588\u2588\u001b[5;30;43m\u2584\u2584\u2584\u001b[0;1;30m\u2588\u2580\u001b[0m \u001b[1;33m\u2584\u2588\u2588\u2588\u2588\u2588\u2588\u001b[30m\u2580\u001b[0m\r\n \u001b[1;33m\u2584\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u001b[30m\u2588\u001b[5;43m\u2580\u001b[0;1;33m\u2588\u2588\u2588\u001b[30m\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u001b[5;43m\u2580\u001b[0;1;33m\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u001b[5;30;43m\u2584\u001b[0;1;30m\u2588\u001b[33m\u2588\u2588\u2588\u2588\u001b[30m\u2588\u2580\u2588\u001b[5;43m\u2584\u001b[0;1;33m\u2588\u2588\u2588\u2588\u2584\u001b[0m \u001b[1;33m\u2584\u2588\u2588\u2588\u001b[30m\u2588\u2588\u2588\u001b[5;43m\u2584\u001b[0;1;33m\u2588\u2588\u2588\u2584\u001b[0m\r\n \u001b[1;30;47m\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u001b[40m\u2588\u001b[47m\u2584\u2584\u2584\u2584\u001b[40m\u2588\u001b[0m \u001b[1;30;47m\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u001b[40m\u2588\u2588\u001b[47m\u2584\u2584\u2584\u2584\u001b[40m\u2588\u001b[0m \u001b[1;30m\u2580\u001b[47m\u2584\u2584\u2584\u2584\u2584\u2584\u001b[0m \u001b[1;30;47m\u2584\u2584\u2584\u2584\u001b[40m\u2588\u2588\u2580\u2580\u2588\u001b[47m\u2584\u2584\u2584\u2584\u001b[40m\u2584\u001b[0m\r\n \u001b[1;30m\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u001b[0m \u001b[1;30m\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u001b[0m \u001b[1;30m\u2580\u2580\u2580\u2580\u001b[0m \u001b[1;30m\u2580\u2580\u2580\u2580\u2580\u001b[0m \u001b[1;30m\u2580\u2580\u2580\u2580\u2580\u001b[0m \u001b[1;30m\u2580\u2580\u2580\u2580\u2580\u001b[0m\r\n \u001b[1;33mSPARX.BBS.IO \u001b[31mEST.2024 \u001b[32mSYSOP:\u001b[36mCHRIS\u001b[0m \u001b[31m\u2584\u2588\u2588\u2588\u2588\u2584\u001b[1;30m\u2584\u001b[0;31m\u2584\u2588\u2588\u2588\u2588\u2584\u001b[1;30m\u2584\u001b[0m \u001b[31m\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u001b[1;30m\u2588\u001b[0m\r\n \u001b[1;31m\u2584\u2588\u2588\u2584\u2588\u2588\u001b[5;30;41m\u2584\u2580\u001b[0;1;31m\u2588\u2588\u2584\u2588\u2588\u001b[5;30;41m\u2584\u001b[0;1;30m\u2580\u001b[31m\u2584\u2588\u2588\u001b[5m\u2584\u2584\u2584\u2584\u2584\u001b[0;1;30m\u2588\u001b[0m\r\n \u001b[33m\u2584\u2588\u2588\u2588\u2588\u2588\u2588\u001b[1;30;43m\u2580\u001b[40m\u2588\u001b[0;33m\u2588\u2588\u2588\u2588\u2588\u001b[1;30;43m\u2580\u001b[40m\u2584\u001b[43m\u2584\u2584\u2584\u2584\u2584\u001b[0;33m\u2588\u2588\u001b[1;30m\u2588\u001b[0m\r\n \u001b[1;33m\u2584\u2588\u2588\u2588\u2584\u2584\u2588\u2588\u001b[5;30;43m\u2584\u001b[0;1;30m\u2588\u001b[33m\u2588\u2584\u2584\u2588\u2588\u001b[5;30;43m\u2584\u001b[33;40m\u2584\u001b[0;1;33m\u2588\u2588\u2588\u2588\u2588\u2588\u001b[5m\u2580\u001b[0;1;30m\u2580\u001b[0m\r\n \u001b[1;33mWELCOME!\u001b[0m \u001b[1;30m\u2584\u001b[47m\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u001b[40m\u2580\u001b[0m \u001b[1;30;47m\u2584\u2584\u2584\u2584\u2584\u001b[40m\u2580\u2584\u001b[47m\u2584\u2584\u2584\u2584\u2584\u2584\u001b[0m\u2580\u001b[1;30m\u2580\u001b[0m\r\n\u001b[0m \r\n [\u001b[1;36mG\u001b[0m] - Games Menu [\u001b[1;32mI\u001b[0m] - Info [\u001b[33mD\u001b[37m] - Disconnect \r\n [\u001b[1;31mM\u001b[0m] - Message Board [\u001b[1;33mZ\u001b[0m] - Gallery [\u001b[35m/D\u001b[37m] - Quick Disconnect \r\n \r\n \r\n \r\n \r\n \r\n \r\n",
"dsr_replies": 0,
"dsr_requests": 0,
"encoding": "cp437",
"option_states": {
"server_offered": {},
"server_requested": {}
},
"scan_type": "quick",
"timing": {
"probe": 0.5023422241210938,
"total": 11.014468908309937
}
}
},
"sessions": [
{
"connected": "2026-03-07T05:04:55.920236+00:00",
"host": "sparx.bbs.io",
"ip": "86.155.224.168",
"port": 23
}
]
}
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
telnetlib3-fingerprint --loglevel=debug sparx.bbs.io 23
Show Logfile
DEBUG client.py:1193 Fingerprint client: host=sparx.bbs.io port=23
INFO client_base.py:186 Connected to <Peer 86.155.224.168 23>
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 + MSDP] = True
DEBUG stream_writer.py:1019 send IAC WILL MSDP
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 + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1019 send IAC WILL MCCP3_COMPRESS
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 + MSP] = True
DEBUG stream_writer.py:1019 send IAC WILL MSP
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 + MSSP] = True
DEBUG stream_writer.py:1019 send IAC WILL MSSP
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 + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1019 send IAC WILL MCCP2_COMPRESS
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 + MSDP] = True
DEBUG stream_writer.py:1019 send IAC DO MSDP
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 + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1019 send IAC DO MCCP3_COMPRESS
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 + MSP] = True
DEBUG stream_writer.py:1019 send IAC DO MSP
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 + MSSP] = True
DEBUG stream_writer.py:1019 send IAC DO MSSP
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 + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1019 send IAC DO MCCP2_COMPRESS
DEBUG client_base.py:499 negotiation failed after 4.00s.
DEBUG client_base.py:505 failed-reply: 'WILL AARDWOLF, WILL MSDP, WILL MXP, WILL MCCP3_COMPRESS, WILL ZMP, WILL MSP, WILL ATCP,
WILL MSSP, WILL GMCP, WILL MCCP2_COMPRESS, DO AARDWOLF, DO MSDP, DO MXP, DO MCCP3_COMPRESS, DO ZMP, DO MSP, DO ATCP, DO MSSP,
DO GMCP, DO MCCP2_COMPRESS'
DEBUG stream_writer.py:3330 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:1019 send IAC DO BINARY
DEBUG stream_writer.py:3330 pending_option[DO + SGA] = True
DEBUG stream_writer.py:1019 send IAC DO SGA
DEBUG stream_writer.py:3330 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:1019 send IAC DO ECHO
DEBUG stream_writer.py:3330 pending_option[DO + STATUS] = True
DEBUG stream_writer.py:1019 send IAC DO STATUS
DEBUG stream_writer.py:3330 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:1019 send IAC DO CHARSET
DEBUG stream_writer.py:3330 pending_option[DO + EOR] = True
DEBUG stream_writer.py:1019 send IAC DO EOR
DEBUG stream_writer.py:3330 pending_option[DO + COM_PORT_OPTION] = True
DEBUG stream_writer.py:1019 send IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:993 skip DO MCCP2_COMPRESS; pending_option = True
DEBUG stream_writer.py:993 skip DO MCCP3_COMPRESS; pending_option = True
DEBUG stream_writer.py:993 skip DO GMCP; pending_option = True
DEBUG stream_writer.py:993 skip DO MSDP; pending_option = True
DEBUG stream_writer.py:993 skip DO MSSP; pending_option = True
DEBUG stream_writer.py:993 skip DO MSP; pending_option = True
DEBUG stream_writer.py:993 skip DO MXP; pending_option = True
DEBUG stream_writer.py:993 skip DO ZMP; pending_option = True
DEBUG stream_writer.py:993 skip DO AARDWOLF; pending_option = True
DEBUG stream_writer.py:993 skip DO ATCP; pending_option = True
INFO fingerprinting.py:755 connection for server fingerprint e89ffa4fe5c32389
INFO client_base.py:118 Connection closed to <Peer 86.155.224.168 23>