50.116.51.149 ============= .. _ip_50_116_51_149_50_116_51_149_23: 50.116.51.149:23 ---------------- **Connection Banner:** .. image:: /_static/banners/banner_f4a9c79bda99.png :alt: Synchronet BBS for Linux Version 3.19 Telnet connection from: 143.198.61.53 Resolving hostname... _ ∩╗┐_ Synchronet BBS for Linux Version 3.19 Copyright 2022 Rob Swindell ,-​---, ,-​---, ,/ .\`\| ,--. ,/ .\`\| ,---, ,-​.----. ,\` .' : ,--.'\| ,---,. ,\` .' : ' .' \\ \\ / \\ ; ; / ,--,: : \| ,' .' \| ; ; / / ; '. ; : \\.'___,/ ,' ,\`--.'\`\| ' :,-​--.' \|.'___,/ ,' : : \\ \| \| .\\ :\| : \| \| : : \| \|\| \| .'\| : \| : \| /\\ \\ . : \|: \|; \|.'; ; : \| \\ \| :: : \|-,; \|.'; ; \| : ' ;. : \| \| \\ :\`-​---' \| \| \| : ' '; \|: \| ;/\|\`-​---' \| \| \| \| ;/ \\ \\\| : . / ' : ; ' ' ;. ;\| : .' ' : ; ' : \| \\ \\ ,'; \| \| \\ \| \| ' \| \| \| \\ \|\| \| \|-, \| \| ' \| \| ' '--' \| \| ;\\ \\ ' : \| ' : \| ; .'' : ;/\| ' : \| \| : : : ' \| \\.' ; \|.' \| \| '\`--' \| \| \\ ; \|.' \| \| ,' : : :-' '---' ' : \| \| : .' '---' \`--'' \| \|.' ; \|.' \| \| ,' \`---' '---' \`-​---' Enter User Name or Number or 'New' Login: ro :class: ansi-banner :width: 634px :loading: lazy Server URLs ~~~~~~~~~~~ .. raw:: html **Server Location**: 🇺🇸 United States (GeoIP) Listing ~~~~~~~ - **BBS Name**: ARTNET (from listing) - **Listed Location**: Cedar Knolls, NJ, USA BBS Software ~~~~~~~~~~~~ **Detected**: Synchronet Encoding ~~~~~~~~ - **Effective encoding**: cp437 - **Override**: cp437 (from bbslist.txt) - **Scanner detected**: cp437 Telnet Fingerprint ~~~~~~~~~~~~~~~~~~ :ref:`cdf52165b1ba8b95 ` *This fingerprint is shared by 375 other servers.* **Options offered by server**: ``AARDWOLF``, ``ATCP``, ``ECHO``, ``GMCP``, ``MCCP2``, ``MCCP3``, ``MSDP``, ``MSP``, ``MSSP``, ``MXP``, ``SGA``, ``ZMP`` **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": "cdf52165b1ba8b95", "fingerprint-data": { "offered-options": [ "AARDWOLF", "ATCP", "ECHO", "GMCP", "MCCP2", "MCCP3", "MSDP", "MSP", "MSSP", "MXP", "SGA", "ZMP" ], "probed-protocol": "server", "refused-options": [ "BINARY", "CHARSET", "COM_PORT", "EOR", "STATUS" ], "requested-options": [ "NAWS", "NEW_ENVIRON", "TSPEED", "TTYPE" ], "scan-type": "quick" }, "session_data": { "banner_after_return": "ro\b\b ", "banner_before_return": "\r\nSynchronet BBS for Linux Version 3.19\r\nTelnet connection from: 143.198.61.53\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.19 Copyright 2022 Rob Swindell\r\n ,----, ,----,\r\n ,/ .`| ,--. ,/ .`|\r\n ,---, ,-.----. ,` .' : ,--.'| ,---,. ,` .' :\r\n ' .' \\ \\ / \\ ; ; / ,--,: : | ,' .' | ; ; /\r\n / ; '. ; : \\.'___,/ ,' ,`--.'`| ' :,---.' |.'___,/ ,'\r\n : : \\ | | .\\ :| : | | : : | || | .'| : |\r\n : | /\\ \\ . : |: |; |.'; ; : | \\ | :: : |-,; |.'; ;\r\n | : ' ;. : | | \\ :`----' | | | : ' '; |: | ;/|`----' | |\r\n | | ;/ \\ \\| : . / ' : ; ' ' ;. ;| : .' ' : ;\r\n ' : | \\ \\ ,'; | | \\ | | ' | | | \\ || | |-, | | '\r\n | | ' '--' | | ;\\ \\ ' : | ' : | ; .'' : ;/| ' : |\r\n | : : : ' | \\.' ; |.' | | '`--' | | \\ ; |.'\r\n | | ,' : : :-' '---' ' : | | : .' '---'\r\n `--'' | |.' ; |.' | | ,'\r\n `---' '---' `----'\r\n\r\n\r\nEnter User Name or Number or 'New'\r\nLogin: ", "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.5564367771148682, "total": 15.906116962432861 } } }, "sessions": [ { "connected": "2026-03-07T04:05:28.948981+00:00", "host": "50.116.51.149", "ip": "50.116.51.149", "port": 23 }, { "connected": "2026-04-05T18:31:44.522276+00:00", "host": "50.116.51.149", "ip": "50.116.51.149", "port": 23 }, { "connected": "2026-04-07T06:23:39.876580+00:00", "host": "50.116.51.149", "ip": "50.116.51.149", "port": 23 }, { "connected": "2026-04-10T00:30:55.998070+00:00", "host": "50.116.51.149", "ip": "50.116.51.149", "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 50.116.51.149 23 .. raw:: html
Show Logfile .. code-block:: text DEBUG client.py:1193 Fingerprint client: host=50.116.51.149 port=23 INFO client_base.py:188 Connected to DEBUG stream_writer.py:3384 pending_option[WILL + ZMP] = True DEBUG stream_writer.py:1024 send IAC WILL ZMP DEBUG stream_writer.py:3384 pending_option[WILL + AARDWOLF] = True DEBUG stream_writer.py:1024 send IAC WILL AARDWOLF DEBUG stream_writer.py:3384 pending_option[WILL + MSDP] = True DEBUG stream_writer.py:1024 send IAC WILL MSDP DEBUG stream_writer.py:3384 pending_option[WILL + GMCP] = True DEBUG stream_writer.py:1024 send IAC WILL GMCP DEBUG stream_writer.py:3384 pending_option[WILL + MXP] = True DEBUG stream_writer.py:1024 send IAC WILL MXP DEBUG stream_writer.py:3384 pending_option[WILL + ATCP] = True DEBUG stream_writer.py:1024 send IAC WILL ATCP DEBUG stream_writer.py:3384 pending_option[WILL + MSSP] = True DEBUG stream_writer.py:1024 send IAC WILL MSSP DEBUG stream_writer.py:3384 pending_option[WILL + MSP] = True DEBUG stream_writer.py:1024 send IAC WILL MSP DEBUG stream_writer.py:3384 pending_option[WILL + MCCP2_COMPRESS] = True DEBUG stream_writer.py:1024 send IAC WILL MCCP2_COMPRESS DEBUG stream_writer.py:3384 pending_option[WILL + MCCP3_COMPRESS] = True DEBUG stream_writer.py:1024 send IAC WILL MCCP3_COMPRESS DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = True DEBUG stream_writer.py:1024 send IAC DO ZMP DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = True DEBUG stream_writer.py:1024 send IAC DO AARDWOLF DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = True DEBUG stream_writer.py:1024 send IAC DO MSDP DEBUG stream_writer.py:3384 pending_option[DO + GMCP] = True DEBUG stream_writer.py:1024 send IAC DO GMCP DEBUG stream_writer.py:3384 pending_option[DO + MXP] = True DEBUG stream_writer.py:1024 send IAC DO MXP DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = True DEBUG stream_writer.py:1024 send IAC DO ATCP DEBUG stream_writer.py:3384 pending_option[DO + MSSP] = True DEBUG stream_writer.py:1024 send IAC DO MSSP DEBUG stream_writer.py:3384 pending_option[DO + MSP] = True DEBUG stream_writer.py:1024 send IAC DO MSP DEBUG stream_writer.py:3384 pending_option[DO + MCCP2_COMPRESS] = True DEBUG stream_writer.py:1024 send IAC DO MCCP2_COMPRESS DEBUG stream_writer.py:3384 pending_option[DO + MCCP3_COMPRESS] = True DEBUG stream_writer.py:1024 send IAC DO MCCP3_COMPRESS DEBUG stream_writer.py:773 recv IAC DONT ZMP DEBUG stream_writer.py:2010 handle_dont(ZMP) DEBUG stream_writer.py:3384 pending_option[WILL + ZMP] = False DEBUG stream_writer.py:3384 local_option[ZMP] = False DEBUG stream_writer.py:773 recv IAC DONT AARDWOLF DEBUG stream_writer.py:2010 handle_dont(AARDWOLF) DEBUG stream_writer.py:3384 pending_option[WILL + AARDWOLF] = False DEBUG stream_writer.py:3384 local_option[AARDWOLF] = False DEBUG stream_writer.py:773 recv IAC DONT MSDP DEBUG stream_writer.py:2010 handle_dont(MSDP) DEBUG stream_writer.py:3384 pending_option[WILL + MSDP] = False DEBUG stream_writer.py:3384 local_option[MSDP] = False DEBUG stream_writer.py:773 recv IAC DONT GMCP DEBUG stream_writer.py:2010 handle_dont(GMCP) DEBUG stream_writer.py:3384 pending_option[WILL + GMCP] = False DEBUG stream_writer.py:3384 local_option[GMCP] = False DEBUG stream_writer.py:773 recv IAC DONT MXP DEBUG stream_writer.py:2010 handle_dont(MXP) DEBUG stream_writer.py:3384 pending_option[WILL + MXP] = False DEBUG stream_writer.py:3384 local_option[MXP] = False DEBUG stream_writer.py:773 recv IAC DONT ATCP DEBUG stream_writer.py:2010 handle_dont(ATCP) DEBUG stream_writer.py:3384 pending_option[WILL + ATCP] = False DEBUG stream_writer.py:3384 local_option[ATCP] = False DEBUG stream_writer.py:773 recv IAC DONT MSSP DEBUG stream_writer.py:2010 handle_dont(MSSP) DEBUG stream_writer.py:3384 pending_option[WILL + MSSP] = False DEBUG stream_writer.py:3384 local_option[MSSP] = False DEBUG stream_writer.py:773 recv IAC DONT MSP DEBUG stream_writer.py:2010 handle_dont(MSP) DEBUG stream_writer.py:3384 pending_option[WILL + MSP] = False DEBUG stream_writer.py:3384 local_option[MSP] = False DEBUG stream_writer.py:773 recv IAC DONT MCCP2_COMPRESS DEBUG stream_writer.py:2010 handle_dont(MCCP2_COMPRESS) DEBUG stream_writer.py:3384 pending_option[WILL + MCCP2_COMPRESS] = False DEBUG stream_writer.py:3384 local_option[MCCP2_COMPRESS] = False DEBUG stream_writer.py:773 recv IAC DONT MCCP3_COMPRESS DEBUG stream_writer.py:2010 handle_dont(MCCP3_COMPRESS) DEBUG stream_writer.py:3384 pending_option[WILL + MCCP3_COMPRESS] = False DEBUG stream_writer.py:3384 local_option[MCCP3_COMPRESS] = False DEBUG stream_writer.py:773 recv IAC WILL ECHO DEBUG stream_writer.py:789 WILL ECHO unsolicited DEBUG stream_writer.py:2045 handle_will(ECHO) DEBUG stream_writer.py:3384 pending_option[DO + ECHO] = True DEBUG stream_writer.py:1024 send IAC DO ECHO DEBUG stream_writer.py:3384 remote_option[ECHO] = True DEBUG stream_writer.py:3384 pending_option[DO + ECHO] = False DEBUG stream_writer.py:773 recv IAC WILL SGA DEBUG stream_writer.py:789 WILL SGA unsolicited DEBUG stream_writer.py:2045 handle_will(SGA) DEBUG stream_writer.py:3384 pending_option[DO + SGA] = True DEBUG stream_writer.py:1024 send IAC DO SGA DEBUG stream_writer.py:3384 remote_option[SGA] = True DEBUG stream_writer.py:3384 pending_option[DO + SGA] = False DEBUG stream_writer.py:773 recv IAC DO TTYPE DEBUG stream_writer.py:1887 handle_do(TTYPE) DEBUG stream_writer.py:3384 pending_option[WILL + TTYPE] = True DEBUG stream_writer.py:1024 send IAC WILL TTYPE DEBUG stream_writer.py:3384 pending_option[SB + TTYPE] = True DEBUG stream_writer.py:3384 local_option[TTYPE] = True DEBUG stream_writer.py:3384 pending_option[WILL + TTYPE] = False DEBUG stream_writer.py:773 recv IAC DO TSPEED DEBUG stream_writer.py:1887 handle_do(TSPEED) DEBUG stream_writer.py:3384 pending_option[WILL + TSPEED] = True DEBUG stream_writer.py:1024 send IAC WILL TSPEED DEBUG stream_writer.py:3384 pending_option[SB + TSPEED] = True DEBUG stream_writer.py:3384 local_option[TSPEED] = True DEBUG stream_writer.py:3384 pending_option[WILL + TSPEED] = False DEBUG stream_writer.py:773 recv IAC DO SNDLOC DEBUG stream_writer.py:1887 handle_do(SNDLOC) DEBUG stream_writer.py:1995 DO SNDLOC not supported. DEBUG stream_writer.py:3384 local_option[SNDLOC] = False DEBUG stream_writer.py:1024 send IAC WONT SNDLOC DEBUG stream_writer.py:773 recv IAC DO NAWS DEBUG stream_writer.py:1887 handle_do(NAWS) DEBUG stream_writer.py:3384 pending_option[WILL + NAWS] = True DEBUG stream_writer.py:1024 send IAC WILL NAWS DEBUG stream_writer.py:2507 send IAC SB NAWS (rows=25, cols=80) IAC SE DEBUG stream_writer.py:3384 local_option[NAWS] = True DEBUG stream_writer.py:3384 pending_option[WILL + NAWS] = False DEBUG stream_writer.py:773 recv IAC DO NEW_ENVIRON DEBUG stream_writer.py:1887 handle_do(NEW_ENVIRON) DEBUG stream_writer.py:3384 pending_option[WILL + NEW_ENVIRON] = True DEBUG stream_writer.py:1024 send IAC WILL NEW_ENVIRON DEBUG stream_writer.py:3384 pending_option[SB + NEW_ENVIRON] = True DEBUG stream_writer.py:3384 local_option[NEW_ENVIRON] = True DEBUG stream_writer.py:3384 pending_option[WILL + NEW_ENVIRON] = False DEBUG stream_writer.py:773 recv IAC WILL ZMP DEBUG stream_writer.py:2045 handle_will(ZMP) DEBUG stream_writer.py:998 skip DO ZMP; pending_option = True DEBUG stream_writer.py:3384 remote_option[ZMP] = True DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = False DEBUG stream_writer.py:773 recv IAC WILL AARDWOLF DEBUG stream_writer.py:2045 handle_will(AARDWOLF) DEBUG stream_writer.py:998 skip DO AARDWOLF; pending_option = True DEBUG stream_writer.py:3384 remote_option[AARDWOLF] = True DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = False DEBUG stream_writer.py:773 recv IAC WILL MSDP DEBUG stream_writer.py:2045 handle_will(MSDP) DEBUG stream_writer.py:998 skip DO MSDP; pending_option = True DEBUG stream_writer.py:3384 remote_option[MSDP] = True DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = False DEBUG stream_writer.py:773 recv IAC WILL GMCP DEBUG stream_writer.py:2045 handle_will(GMCP) DEBUG stream_writer.py:998 skip DO GMCP; pending_option = True DEBUG stream_writer.py:3384 remote_option[GMCP] = True DEBUG stream_writer.py:1072 send IAC SB GMCP Core.Hello IAC SE DEBUG stream_writer.py:1072 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:3384 pending_option[DO + GMCP] = False DEBUG stream_writer.py:773 recv IAC WILL MXP DEBUG stream_writer.py:2045 handle_will(MXP) DEBUG stream_writer.py:998 skip DO MXP; pending_option = True DEBUG stream_writer.py:3384 remote_option[MXP] = True DEBUG stream_writer.py:3384 pending_option[DO + MXP] = False DEBUG stream_writer.py:773 recv IAC WILL ATCP DEBUG stream_writer.py:2045 handle_will(ATCP) DEBUG stream_writer.py:998 skip DO ATCP; pending_option = True DEBUG stream_writer.py:3384 remote_option[ATCP] = True DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = False DEBUG stream_writer.py:773 recv IAC WILL MSSP DEBUG stream_writer.py:2045 handle_will(MSSP) DEBUG stream_writer.py:998 skip DO MSSP; pending_option = True DEBUG stream_writer.py:3384 remote_option[MSSP] = True DEBUG stream_writer.py:3384 pending_option[DO + MSSP] = False DEBUG stream_writer.py:773 recv IAC WILL MSP DEBUG stream_writer.py:2045 handle_will(MSP) DEBUG stream_writer.py:998 skip DO MSP; pending_option = True DEBUG stream_writer.py:3384 remote_option[MSP] = True DEBUG stream_writer.py:3384 pending_option[DO + MSP] = False DEBUG stream_writer.py:773 recv IAC WILL MCCP2_COMPRESS DEBUG stream_writer.py:2045 handle_will(MCCP2_COMPRESS) DEBUG stream_writer.py:998 skip DO MCCP2_COMPRESS; pending_option = True DEBUG stream_writer.py:3384 remote_option[MCCP2_COMPRESS] = True DEBUG stream_writer.py:3384 pending_option[DO + MCCP2_COMPRESS] = False DEBUG stream_writer.py:773 recv IAC WILL MCCP3_COMPRESS DEBUG stream_writer.py:2045 handle_will(MCCP3_COMPRESS) DEBUG stream_writer.py:998 skip DO MCCP3_COMPRESS; pending_option = True DEBUG stream_writer.py:3384 remote_option[MCCP3_COMPRESS] = True DEBUG stream_writer.py:2110 MCCP3: client compression activated DEBUG stream_writer.py:3384 pending_option[DO + MCCP3_COMPRESS] = False DEBUG client_base.py:489 MCCP3 compression started (client→server) DEBUG stream_writer.py:773 recv IAC DONT SNDLOC DEBUG stream_writer.py:2010 handle_dont(SNDLOC) DEBUG stream_writer.py:3384 pending_option[WILL + SNDLOC] = False DEBUG stream_writer.py:767 begin sub-negotiation SB TTYPE DEBUG stream_writer.py:754 sub-negotiation cmd TTYPE SE completion byte DEBUG stream_writer.py:3384 pending_option[SB + TTYPE] = False DEBUG stream_writer.py:2404 recv TTYPE SEND: b'' DEBUG stream_writer.py:2416 send IAC SB TTYPE IS b'xterm-256color' IAC SE DEBUG stream_writer.py:767 begin sub-negotiation SB TSPEED DEBUG stream_writer.py:754 sub-negotiation cmd TSPEED SE completion byte DEBUG stream_writer.py:3384 pending_option[SB + TSPEED] = False DEBUG stream_writer.py:2345 recv TSPEED SEND: b'' DEBUG stream_writer.py:2373 send: IAC SB TSPEED IS b'38400',b'38400' IAC SE DEBUG client_base.py:513 negotiation failed after 4.00s. DEBUG client_base.py:519 failed-reply: 'SB NEW_ENVIRON' DEBUG server_fingerprinting.py:989 DA request -> b'\x1b[?1;2c' DEBUG stream_writer.py:3384 pending_option[DO + BINARY] = True DEBUG stream_writer.py:1024 send IAC DO BINARY DEBUG stream_writer.py:3384 pending_option[DO + STATUS] = True DEBUG stream_writer.py:1024 send IAC DO STATUS DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = True DEBUG stream_writer.py:1024 send IAC DO CHARSET DEBUG stream_writer.py:3384 pending_option[DO + EOR] = True DEBUG stream_writer.py:1024 send IAC DO EOR DEBUG stream_writer.py:3384 pending_option[DO + COM_PORT_OPTION] = True DEBUG stream_writer.py:1024 send IAC DO COM_PORT_OPTION DEBUG fingerprinting.py:844 connection for server fingerprint cdf52165b1ba8b95 INFO client_base.py:120 Connection closed to .. raw:: html
.. _ip_50_116_51_149_li423-149_members_linode_com_513: li423-149.members.linode.com:513 -------------------------------- **Connection Banner:** .. image:: /_static/banners/banner_6b602b13a4b1.png :alt: Synchronet BBS for Linux Version 3.19 RLogin connection from: 143.198.61.53 Resolving hostname... _ ∩╗┐_ Synchronet BBS for Linux Version 3.19 Copyright 2022 Rob Swindell ,-​---,,-​---, ,/.\`\|,--.,/.\`\| ,---,,-​.----.,\`.' :,--.'\|,---,.,\`.' : ' .' \\\\/ \\;;/,--,: : \| ,' .' \| ;;/ / ;'.;:\\.'___,/,' ,\`--.'\`\| ' :,-​--.'\|.'___,/,' : :\\\|\| .\\ :\|:\|\|: : \| \|\|\|.'\|:\| : \|/\\\\ .: \|: \|;\|.'; ;:\|\\ \| ::: \|-,;\|.'; ; \| : ' ;.: \|\| \\ :\`-​---' \| \|\|: ' '; \|:\| ;/\|\`-​---' \| \| \| \| ;/ \\\\\|: . /': ;'' ;.;\|:.'': ; ' : \| \\ \\ ,';\| \| \\\|\| '\|\| \| \\\|\|\| \|-,\|\| ' \| \| ' '--' \|\| ;\\ \\': \|': \| ; .'': ;/\|': \| \| : ::' \| \\.';\|.'\|\| '\`--' \|\|\\;\|.' \| \| ,':: :-''---'': \|\|:.''---' \`--''\|\|.';\|.'\|\| ,' \`---''---'\`-​---' Enter User Name or Number or 'New' Login: :class: ansi-banner :width: 634px :loading: lazy Server URLs ~~~~~~~~~~~ .. raw:: html **Server Location**: 🇺🇸 United States (GeoIP) BBS Software ~~~~~~~~~~~~ **Detected**: Synchronet Encoding ~~~~~~~~ - **Effective encoding**: cp437 - **Override**: cp437 (from bbslist.txt) - **Scanner detected**: cp437 Telnet Fingerprint ~~~~~~~~~~~~~~~~~~ :ref:`fcc77c9fc888e2f2 ` *This fingerprint is shared by 33 other servers.* **Options offered by server**: ``CHARSET`` **Options requested from client**: ``CHARSET`` 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": "fcc77c9fc888e2f2", "fingerprint-data": { "offered-options": [ "CHARSET" ], "probed-protocol": "server", "refused-options": [ "AARDWOLF", "ATCP", "BINARY", "COM_PORT", "ECHO", "EOR", "GMCP", "MCCP2", "MCCP3", "MSDP", "MSP", "MSSP", "MXP", "SGA", "STATUS", "ZMP" ], "requested-options": [ "CHARSET" ], "scan-type": "quick" }, "session_data": { "banner_after_return": "\r\n\r\n\u001b[0m\u001b[1m\u001b[36mEnter \u001b[37mUser Name\u001b[36m or \u001b[37mNumber\u001b[36m or '\u001b[33mNew\u001b[36m'\r\nLogin: \u001b[37m", "banner_before_return": "\u0000\r\nSynchronet BBS for Linux Version 3.19\r\nRLogin connection from: 143.198.61.53\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.19 Copyright 2022 Rob Swindell\r\n\u001b[33C\u001b[32m,----,\u001b[0m\u001b[32C\u001b[31m,----,\r\n\u001b[0m\u001b[33C\u001b[32m,/\u001b[3C.`|\u001b[0m\u001b[10C\u001b[1m\u001b[33m,--.\u001b[0m\u001b[16C\u001b[31m,/\u001b[3C.`|\r\n\u001b[0m\u001b[5C\u001b[35m,---,\u001b[7C\u001b[1m\u001b[34m,-.----.\u001b[6C\u001b[0m\u001b[32m,`\u001b[3C.'\u001b[0m \u001b[32m:\u001b[8C\u001b[1m\u001b[33m,--.'|\u001b[0m\u001b[4C\u001b[33m,---,.\u001b[4C\u001b[31m,`\u001b[3C.'\u001b[0m \u001b[31m:\r\n\u001b[0m\u001b[4C\u001b[35m' .' \\\u001b[6C\u001b[1m\u001b[34m\\\u001b[4C/ \\\u001b[3C\u001b[0m\u001b[32m;\u001b[4C;\u001b[5C/\u001b[4C\u001b[1m\u001b[33m,--,: : |\u001b[0m \u001b[33m,' .'\u001b[0m \u001b[33m|\u001b[0m \u001b[31m;\u001b[4C;\u001b[5C/\r\n\u001b[0m\u001b[3C\u001b[35m/ ;\u001b[4C'.\u001b[4C\u001b[1m\u001b[34m;\u001b[3C:\u001b[4C\\\u001b[0m\u001b[32m.'___,/\u001b[4C,'\u001b[0m \u001b[1m\u001b[33m,`--.'`|\u001b[0m \u001b[1m\u001b[33m' :\u001b[0m\u001b[33m,---.'\u001b[0m\u001b[3C\u001b[33m|\u001b[31m.'___,/\u001b[4C,'\r\n\u001b[0m \u001b[35m: :\u001b[7C\\\u001b[3C\u001b[1m\u001b[34m|\u001b[0m\u001b[3C\u001b[1m\u001b[34m|\u001b[0m \u001b[1m\u001b[34m.\\\u001b[0m \u001b[1m\u001b[34m:\u001b[0m\u001b[32m|\u001b[0m\u001b[4C\u001b[32m:\u001b[5C|\u001b[0m\u001b[3C\u001b[1m\u001b[33m|\u001b[0m\u001b[3C\u001b[1m\u001b[33m: : |\u001b[0m \u001b[1m\u001b[33m|\u001b[0m\u001b[33m|\u001b[3C|\u001b[0m\u001b[3C\u001b[33m.'\u001b[31m|\u001b[4C:\u001b[0m\u001b[5C\u001b[31m|\r\n\u001b[0m \u001b[35m:\u001b[0m \u001b[35m|\u001b[3C/\\\u001b[3C\\\u001b[0m \u001b[1m\u001b[34m.\u001b[0m\u001b[3C\u001b[1m\u001b[34m:\u001b[0m \u001b[1m\u001b[34m|:\u001b[0m \u001b[1m\u001b[34m|\u001b[0m\u001b[32m;\u001b[4C|.'; ;\u001b[0m\u001b[3C\u001b[1m\u001b[33m:\u001b[0m\u001b[3C\u001b[1m\u001b[33m|\u001b[3C\\ |\u001b[0m \u001b[1m\u001b[33m:\u001b[0m\u001b[33m:\u001b[0m\u001b[3C\u001b[33m: |-,\u001b[31m;\u001b[4C|.'; ;\r\n\u001b[0m \u001b[35m|\u001b[0m \u001b[35m: ' ;.\u001b[0m\u001b[3C\u001b[35m:\u001b[0m \u001b[1m\u001b[34m|\u001b[3C|\u001b[0m \u001b[1m\u001b[34m\\ :\u001b[0m\u001b[32m`----' | |\u001b[0m\u001b[3C\u001b[1m\u001b[33m|\u001b[0m\u001b[3C\u001b[1m\u001b[33m: '\u001b[0m \u001b[1m\u001b[33m';\u001b[0m \u001b[1m\u001b[33m|\u001b[0m\u001b[33m:\u001b[0m\u001b[3C\u001b[33m| ;/|\u001b[31m`----' |\u001b[0m \u001b[31m|\r\n\u001b[0m \u001b[35m| | ;/ \\\u001b[3C\\\u001b[1m\u001b[34m|\u001b[0m\u001b[3C\u001b[1m\u001b[34m:\u001b[0m \u001b[1m\u001b[34m. /\u001b[0m\u001b[4C\u001b[32m'\u001b[3C: ;\u001b[0m\u001b[3C\u001b[1m\u001b[33m'\u001b[3C'\u001b[0m \u001b[1m\u001b[33m;.\u001b[4C;\u001b[0m\u001b[33m|\u001b[3C:\u001b[3C.'\u001b[0m\u001b[4C\u001b[31m'\u001b[0m\u001b[3C\u001b[31m:\u001b[0m \u001b[31m;\r\n\u001b[0m \u001b[35m' : | \\\u001b[0m \u001b[35m\\ ,'\u001b[1m\u001b[34m;\u001b[0m\u001b[3C\u001b[1m\u001b[34m| | \\\u001b[0m\u001b[4C\u001b[32m|\u001b[3C| '\u001b[0m\u001b[3C\u001b[1m\u001b[33m|\u001b[3C|\u001b[0m \u001b[1m\u001b[33m| \\\u001b[3C|\u001b[0m\u001b[33m|\u001b[3C| |-,\u001b[0m\u001b[4C\u001b[31m|\u001b[3C|\u001b[0m \u001b[31m'\r\n\u001b[0m \u001b[35m|\u001b[0m \u001b[35m| ' '--'\u001b[0m \u001b[1m\u001b[34m|\u001b[0m\u001b[3C\u001b[1m\u001b[34m| ;\\ \\\u001b[0m\u001b[3C\u001b[32m'\u001b[3C: |\u001b[0m\u001b[3C\u001b[1m\u001b[33m'\u001b[3C:\u001b[0m \u001b[1m\u001b[33m| ; .'\u001b[0m\u001b[33m'\u001b[0m\u001b[3C\u001b[33m:\u001b[0m \u001b[33m;/|\u001b[4C\u001b[31m'\u001b[3C: |\r\n\u001b[0m \u001b[35m|\u001b[0m \u001b[35m: :\u001b[8C\u001b[1m\u001b[34m:\u001b[0m\u001b[3C\u001b[1m\u001b[34m'\u001b[0m \u001b[1m\u001b[34m| \\.'\u001b[0m\u001b[3C\u001b[32m;\u001b[3C|.'\u001b[4C\u001b[1m\u001b[33m|\u001b[3C|\u001b[0m \u001b[1m\u001b[33m'`--'\u001b[0m \u001b[33m|\u001b[0m\u001b[3C\u001b[33m|\u001b[0m\u001b[4C\u001b[33m\\\u001b[4C\u001b[31m;\u001b[3C|.'\r\n\u001b[0m \u001b[35m| | ,'\u001b[0m\u001b[8C\u001b[1m\u001b[34m:\u001b[0m\u001b[3C\u001b[1m\u001b[34m:\u001b[0m \u001b[1m\u001b[34m:-'\u001b[5C\u001b[0m\u001b[32m'---'\u001b[0m\u001b[6C\u001b[1m\u001b[33m'\u001b[3C:\u001b[0m \u001b[1m\u001b[33m|\u001b[6C\u001b[0m\u001b[33m|\u001b[0m\u001b[3C\u001b[33m:\u001b[0m\u001b[3C\u001b[33m.'\u001b[0m\u001b[4C\u001b[31m'---'\r\n\u001b[0m \u001b[35m`--''\u001b[0m\u001b[10C\u001b[1m\u001b[34m|\u001b[0m\u001b[3C\u001b[1m\u001b[34m|.'\u001b[18C\u001b[33m;\u001b[3C|.'\u001b[0m\u001b[6C\u001b[33m|\u001b[0m\u001b[3C\u001b[33m| ,'\r\n\u001b[0m\u001b[17C\u001b[1m\u001b[34m`---'\u001b[20C\u001b[33m'---'\u001b[0m\u001b[8C\u001b[33m`----'\r\n\u001b[0m\r\n\r\n\u001b[1m\u001b[36mEnter \u001b[37mUser Name\u001b[36m or \u001b[37mNumber\u001b[36m or '\u001b[33mNew\u001b[36m'\r\nLogin: \u001b[37m", "dsr_replies": 2, "dsr_requests": 2, "encoding": "cp437", "option_states": { "server_offered": {}, "server_requested": {} }, "scan_type": "quick", "timing": { "probe": 0.5408272743225098, "total": 11.350785970687866 } } }, "sessions": [ { "connected": "2026-04-05T19:04:20.181620+00:00", "host": "li423-149.members.linode.com", "ip": "50.116.51.149", "port": 513 }, { "connected": "2026-04-10T00:29:38.458510+00:00", "host": "li423-149.members.linode.com", "ip": "50.116.51.149", "port": 513 } ] } .. 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 li423-149.members.linode.com 513 .. raw:: html
Show Logfile .. code-block:: text DEBUG client.py:1193 Fingerprint client: host=li423-149.members.linode.com port=513 INFO client_base.py:188 Connected to DEBUG stream_writer.py:3384 pending_option[WILL + ZMP] = True DEBUG stream_writer.py:1024 send IAC WILL ZMP DEBUG stream_writer.py:3384 pending_option[WILL + AARDWOLF] = True DEBUG stream_writer.py:1024 send IAC WILL AARDWOLF DEBUG stream_writer.py:3384 pending_option[WILL + MSDP] = True DEBUG stream_writer.py:1024 send IAC WILL MSDP DEBUG stream_writer.py:3384 pending_option[WILL + GMCP] = True DEBUG stream_writer.py:1024 send IAC WILL GMCP DEBUG stream_writer.py:3384 pending_option[WILL + MXP] = True DEBUG stream_writer.py:1024 send IAC WILL MXP DEBUG stream_writer.py:3384 pending_option[WILL + ATCP] = True DEBUG stream_writer.py:1024 send IAC WILL ATCP DEBUG stream_writer.py:3384 pending_option[WILL + MSSP] = True DEBUG stream_writer.py:1024 send IAC WILL MSSP DEBUG stream_writer.py:3384 pending_option[WILL + MSP] = True DEBUG stream_writer.py:1024 send IAC WILL MSP DEBUG stream_writer.py:3384 pending_option[WILL + MCCP2_COMPRESS] = True DEBUG stream_writer.py:1024 send IAC WILL MCCP2_COMPRESS DEBUG stream_writer.py:3384 pending_option[WILL + MCCP3_COMPRESS] = True DEBUG stream_writer.py:1024 send IAC WILL MCCP3_COMPRESS DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = True DEBUG stream_writer.py:1024 send IAC DO ZMP DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = True DEBUG stream_writer.py:1024 send IAC DO AARDWOLF DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = True DEBUG stream_writer.py:1024 send IAC DO MSDP DEBUG stream_writer.py:3384 pending_option[DO + GMCP] = True DEBUG stream_writer.py:1024 send IAC DO GMCP DEBUG stream_writer.py:3384 pending_option[DO + MXP] = True DEBUG stream_writer.py:1024 send IAC DO MXP DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = True DEBUG stream_writer.py:1024 send IAC DO ATCP DEBUG stream_writer.py:3384 pending_option[DO + MSSP] = True DEBUG stream_writer.py:1024 send IAC DO MSSP DEBUG stream_writer.py:3384 pending_option[DO + MSP] = True DEBUG stream_writer.py:1024 send IAC DO MSP DEBUG stream_writer.py:3384 pending_option[DO + MCCP2_COMPRESS] = True DEBUG stream_writer.py:1024 send IAC DO MCCP2_COMPRESS DEBUG stream_writer.py:3384 pending_option[DO + MCCP3_COMPRESS] = True DEBUG stream_writer.py:1024 send IAC DO MCCP3_COMPRESS DEBUG client_base.py:513 negotiation failed after 4.00s. DEBUG client_base.py:519 failed-reply: 'WILL ZMP, WILL AARDWOLF, WILL MSDP, WILL GMCP, WILL MXP, WILL ATCP, WILL MSSP, WILL MSP, WILL MCCP2_COMPRESS, WILL MCCP3_COMPRESS, DO ZMP, DO AARDWOLF, DO MSDP, DO GMCP, DO MXP, DO ATCP, DO MSSP, DO MSP, DO MCCP2_COMPRESS, DO MCCP3_COMPRESS' DEBUG server_fingerprinting.py:989 DA request -> b'\x1b[?1;2c' DEBUG stream_writer.py:3384 pending_option[DO + BINARY] = True DEBUG stream_writer.py:1024 send IAC DO BINARY DEBUG stream_writer.py:3384 pending_option[DO + SGA] = True DEBUG stream_writer.py:1024 send IAC DO SGA DEBUG stream_writer.py:3384 pending_option[DO + ECHO] = True DEBUG stream_writer.py:1024 send IAC DO ECHO DEBUG stream_writer.py:3384 pending_option[DO + STATUS] = True DEBUG stream_writer.py:1024 send IAC DO STATUS DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = True DEBUG stream_writer.py:1024 send IAC DO CHARSET DEBUG stream_writer.py:3384 pending_option[DO + EOR] = True DEBUG stream_writer.py:1024 send IAC DO EOR DEBUG stream_writer.py:3384 pending_option[DO + COM_PORT_OPTION] = True DEBUG stream_writer.py:1024 send IAC DO COM_PORT_OPTION DEBUG stream_writer.py:998 skip DO MCCP2_COMPRESS; pending_option = True DEBUG stream_writer.py:998 skip DO MCCP3_COMPRESS; pending_option = True DEBUG stream_writer.py:998 skip DO GMCP; pending_option = True DEBUG stream_writer.py:998 skip DO MSDP; pending_option = True DEBUG stream_writer.py:998 skip DO MSSP; pending_option = True DEBUG stream_writer.py:998 skip DO MSP; pending_option = True DEBUG stream_writer.py:998 skip DO MXP; pending_option = True DEBUG stream_writer.py:998 skip DO ZMP; pending_option = True DEBUG stream_writer.py:998 skip DO AARDWOLF; pending_option = True DEBUG stream_writer.py:998 skip DO ATCP; pending_option = True DEBUG stream_writer.py:773 recv IAC DO b'\xfd' DEBUG stream_writer.py:1887 handle_do(DO) DEBUG stream_writer.py:1995 DO DO not supported. DEBUG stream_writer.py:3384 local_option[DO] = False DEBUG stream_writer.py:1024 send IAC WONT DO DEBUG stream_writer.py:773 recv IAC DO b'\xfd' DEBUG stream_writer.py:1887 handle_do(DO) DEBUG stream_writer.py:1995 DO DO not supported. DEBUG stream_writer.py:1024 send IAC WONT DO DEBUG stream_writer.py:773 recv IAC DO CHARSET DEBUG stream_writer.py:1887 handle_do(CHARSET) DEBUG stream_writer.py:3384 pending_option[WILL + CHARSET] = True DEBUG stream_writer.py:1024 send IAC WILL CHARSET DEBUG stream_writer.py:3384 local_option[CHARSET] = True DEBUG stream_writer.py:3384 pending_option[WILL + CHARSET] = False DEBUG stream_writer.py:773 recv IAC DO b'\x1b' DEBUG stream_writer.py:1887 handle_do(b'\x1b') DEBUG stream_writer.py:1995 DO b'\x1b' not supported. DEBUG stream_writer.py:3384 local_option[b'\x1b'] = False DEBUG stream_writer.py:1024 send IAC WONT b'\x1b' DEBUG stream_writer.py:773 recv IAC DO COM_PORT_OPTION DEBUG stream_writer.py:1887 handle_do(COM_PORT_OPTION) DEBUG stream_writer.py:1995 DO COM_PORT_OPTION not supported. DEBUG stream_writer.py:3384 local_option[COM_PORT_OPTION] = False DEBUG stream_writer.py:1024 send IAC WONT COM_PORT_OPTION DEBUG stream_writer.py:773 recv IAC WONT b'\xfd' DEBUG stream_writer.py:2199 handle_wont(DO) DEBUG stream_writer.py:3384 remote_option[DO] = False DEBUG stream_writer.py:3384 pending_option[DO + DO] = False DEBUG stream_writer.py:773 recv IAC WONT b'\xfd' DEBUG stream_writer.py:2199 handle_wont(DO) DEBUG stream_writer.py:773 recv IAC WILL CHARSET DEBUG stream_writer.py:2045 handle_will(CHARSET) DEBUG stream_writer.py:998 skip DO CHARSET; pending_option = True DEBUG stream_writer.py:3384 remote_option[CHARSET] = True DEBUG client.py:168 Both sides support CHARSET, ready for server to initiate REQUEST DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = False DEBUG stream_writer.py:773 recv IAC WONT RCTE DEBUG stream_writer.py:2199 handle_wont(RCTE) DEBUG stream_writer.py:3384 remote_option[RCTE] = False DEBUG stream_writer.py:3384 pending_option[DO + RCTE] = False DEBUG stream_writer.py:773 recv IAC WONT COM_PORT_OPTION DEBUG stream_writer.py:2199 handle_wont(COM_PORT_OPTION) DEBUG stream_writer.py:3384 remote_option[COM_PORT_OPTION] = False DEBUG stream_writer.py:3384 pending_option[DO + COM_PORT_OPTION] = False DEBUG fingerprinting.py:844 connection for server fingerprint fcc77c9fc888e2f2 INFO client_base.py:120 Connection closed to .. raw:: html