50.116.51.149

50.116.51.149:23

Connection Banner:

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

Server URLs

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

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.

Show 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
    }
  ]
}

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 50.116.51.149 23
Show Logfile
DEBUG client.py:1193 Fingerprint client: host=50.116.51.149 port=23
INFO client_base.py:188 Connected to <Peer 50.116.51.149 23>
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 <Peer 50.116.51.149 23>

li423-149.members.linode.com:513

Connection Banner:

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:

Server URLs

Server Location: 🇺🇸 United States (GeoIP)

BBS Software

Detected: Synchronet

Encoding

  • Effective encoding: cp437

  • Override: cp437 (from bbslist.txt)

  • Scanner detected: cp437

Telnet Fingerprint

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.

Show 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
    }
  ]
}

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 li423-149.members.linode.com 513
Show Logfile
DEBUG client.py:1193 Fingerprint client: host=li423-149.members.linode.com port=513
INFO client_base.py:188 Connected to <Peer 50.116.51.149 513>
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 <Peer 50.116.51.149 513>