shenks.dyndns.org:23 ==================== Server URLs ----------- .. raw:: html **Server Location**: 🇺🇸 United States (GeoIP) BBS Software ------------ **Detected**: Synchronet Encoding -------- - **Effective encoding**: cp437 - **Scanner detected**: cp437 Telnet Fingerprint ------------------ :ref:`6706073f29d811b7 ` *This fingerprint is shared by 4 other servers.* **Options offered by server**: ``AARDWOLF``, ``ATCP``, ``ECHO``, ``GMCP``, ``MCCP2``, ``MCCP3``, ``MSDP``, ``MSP``, ``MSSP``, ``MXP``, ``SGA``, ``ZMP`` **Options requested from client**: ``NAWS``, ``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": "6706073f29d811b7", "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", "TSPEED", "TTYPE" ], "scan-type": "quick" }, "session_data": { "banner_after_return": "\u0393\u03c3\b\b", "banner_before_return": "\r\nSynchronet BBS for Win32 Version 3.15\r\nConnection from: 64.227.40.173\r\nResolving hostname...\r\n\r\n\u001b[s\u001b[255B\u001b[255C\b_\u001b[6n\u001b[u\u001b[!_\u001b[30;40m\u252c\u0192Zuul.connection.write('\\x1bAre you the gatekeeper?')\u252c\u00a3\u001b[2J\u001b[H\f\r Synchronet BBS for Win32 Version 3.15 Copyright 2011 Rob Swindell\r\n\r\nCLIENT >>>>\b\b\b\bCONN: Telnet\r\n >>>>\b\b\b\bADDR: 1984.ws [64.227.40.173]\r\nSERVER >>>>\b\b\b\bNAME: Shenk's Express\r\n >>>>\b\b\b\bADDR: shenksxp.dyndns.org\r\n >>>>\b\b\b\bNODE: 1 (of 4)\r\n >>>>\b\b\b\bDATE: 03/06/26\r\n >>>>\b\b\b\bTIME: 11:06 pm\r\n >>>>\b\b\b\bADMN: Carol\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\r\nEnter User Name or Number or 'New' or 'Guest'\r\nNN:\b\b\bLogin: ", "dsr_replies": 1, "dsr_requests": 1, "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, "SNDLOC": false, "TSPEED": true, "TTYPE": true, "ZMP": false } }, "scan_type": "quick", "timing": { "probe": 0.5046727657318115, "total": 16.84395480155945 } } }, "sessions": [ { "connected": "2026-03-07T04:06:44.427111+00:00", "host": "shenks.dyndns.org", "ip": "162.83.124.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 shenks.dyndns.org 23 .. raw:: html
Show Logfile .. code-block:: text DEBUG client.py:1193 Fingerprint client: host=shenks.dyndns.org port=23 INFO client_base.py:186 Connected to 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 + ATCP] = True DEBUG stream_writer.py:1019 send IAC WILL ATCP 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 + GMCP] = True DEBUG stream_writer.py:1019 send IAC WILL GMCP 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 + MSP] = True DEBUG stream_writer.py:1019 send IAC WILL MSP 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 + MSSP] = True DEBUG stream_writer.py:1019 send IAC WILL MSSP 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 + MCCP2_COMPRESS] = True DEBUG stream_writer.py:1019 send IAC WILL MCCP2_COMPRESS 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 + ATCP] = True DEBUG stream_writer.py:1019 send IAC DO ATCP 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 + GMCP] = True DEBUG stream_writer.py:1019 send IAC DO GMCP 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 + MSP] = True DEBUG stream_writer.py:1019 send IAC DO MSP 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 + MSSP] = True DEBUG stream_writer.py:1019 send IAC DO MSSP 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 + MCCP2_COMPRESS] = True DEBUG stream_writer.py:1019 send IAC DO MCCP2_COMPRESS DEBUG stream_writer.py:768 recv IAC DONT MXP DEBUG stream_writer.py:1959 handle_dont(MXP) DEBUG stream_writer.py:3330 pending_option[WILL + MXP] = False DEBUG stream_writer.py:3330 local_option[MXP] = False DEBUG stream_writer.py:768 recv IAC DONT ATCP DEBUG stream_writer.py:1959 handle_dont(ATCP) DEBUG stream_writer.py:3330 pending_option[WILL + ATCP] = False DEBUG stream_writer.py:3330 local_option[ATCP] = False DEBUG stream_writer.py:768 recv IAC DONT MCCP3_COMPRESS DEBUG stream_writer.py:1959 handle_dont(MCCP3_COMPRESS) DEBUG stream_writer.py:3330 pending_option[WILL + MCCP3_COMPRESS] = False DEBUG stream_writer.py:3330 local_option[MCCP3_COMPRESS] = False DEBUG stream_writer.py:768 recv IAC DONT GMCP DEBUG stream_writer.py:1959 handle_dont(GMCP) DEBUG stream_writer.py:3330 pending_option[WILL + GMCP] = False DEBUG stream_writer.py:3330 local_option[GMCP] = False DEBUG stream_writer.py:768 recv IAC DONT AARDWOLF DEBUG stream_writer.py:1959 handle_dont(AARDWOLF) DEBUG stream_writer.py:3330 pending_option[WILL + AARDWOLF] = False DEBUG stream_writer.py:3330 local_option[AARDWOLF] = False DEBUG stream_writer.py:768 recv IAC DONT MSP DEBUG stream_writer.py:1959 handle_dont(MSP) DEBUG stream_writer.py:3330 pending_option[WILL + MSP] = False DEBUG stream_writer.py:3330 local_option[MSP] = False DEBUG stream_writer.py:768 recv IAC DONT MSDP DEBUG stream_writer.py:1959 handle_dont(MSDP) DEBUG stream_writer.py:3330 pending_option[WILL + MSDP] = False DEBUG stream_writer.py:3330 local_option[MSDP] = False DEBUG stream_writer.py:768 recv IAC DONT MSSP DEBUG stream_writer.py:1959 handle_dont(MSSP) DEBUG stream_writer.py:3330 pending_option[WILL + MSSP] = False DEBUG stream_writer.py:3330 local_option[MSSP] = False DEBUG stream_writer.py:768 recv IAC DONT ZMP DEBUG stream_writer.py:1959 handle_dont(ZMP) DEBUG stream_writer.py:3330 pending_option[WILL + ZMP] = False DEBUG stream_writer.py:3330 local_option[ZMP] = False DEBUG stream_writer.py:768 recv IAC DONT MCCP2_COMPRESS DEBUG stream_writer.py:1959 handle_dont(MCCP2_COMPRESS) DEBUG stream_writer.py:3330 pending_option[WILL + MCCP2_COMPRESS] = False DEBUG stream_writer.py:3330 local_option[MCCP2_COMPRESS] = False DEBUG stream_writer.py:768 recv IAC WILL MXP DEBUG stream_writer.py:1994 handle_will(MXP) DEBUG stream_writer.py:993 skip DO MXP; pending_option = True DEBUG stream_writer.py:3330 remote_option[MXP] = True DEBUG stream_writer.py:3330 pending_option[DO + MXP] = False DEBUG stream_writer.py:768 recv IAC WILL ATCP DEBUG stream_writer.py:1994 handle_will(ATCP) DEBUG stream_writer.py:993 skip DO ATCP; pending_option = True DEBUG stream_writer.py:3330 remote_option[ATCP] = True DEBUG stream_writer.py:3330 pending_option[DO + ATCP] = False DEBUG stream_writer.py:768 recv IAC WILL MCCP3_COMPRESS DEBUG stream_writer.py:1994 handle_will(MCCP3_COMPRESS) DEBUG stream_writer.py:993 skip DO MCCP3_COMPRESS; pending_option = True DEBUG stream_writer.py:3330 remote_option[MCCP3_COMPRESS] = True DEBUG stream_writer.py:2059 MCCP3: client compression activated DEBUG stream_writer.py:3330 pending_option[DO + MCCP3_COMPRESS] = False DEBUG stream_writer.py:768 recv IAC WILL GMCP DEBUG stream_writer.py:1994 handle_will(GMCP) DEBUG stream_writer.py:993 skip DO GMCP; pending_option = True DEBUG stream_writer.py:3330 remote_option[GMCP] = True DEBUG stream_writer.py:1067 send IAC SB GMCP Core.Hello IAC SE DEBUG stream_writer.py:1067 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:3330 pending_option[DO + GMCP] = False DEBUG stream_writer.py:768 recv IAC WILL AARDWOLF DEBUG stream_writer.py:1994 handle_will(AARDWOLF) DEBUG stream_writer.py:993 skip DO AARDWOLF; pending_option = True DEBUG stream_writer.py:3330 remote_option[AARDWOLF] = True DEBUG stream_writer.py:3330 pending_option[DO + AARDWOLF] = False DEBUG stream_writer.py:768 recv IAC WILL MSP DEBUG stream_writer.py:1994 handle_will(MSP) DEBUG stream_writer.py:993 skip DO MSP; pending_option = True DEBUG stream_writer.py:3330 remote_option[MSP] = True DEBUG stream_writer.py:3330 pending_option[DO + MSP] = False DEBUG stream_writer.py:768 recv IAC WILL MSDP DEBUG stream_writer.py:1994 handle_will(MSDP) DEBUG stream_writer.py:993 skip DO MSDP; pending_option = True DEBUG stream_writer.py:3330 remote_option[MSDP] = True DEBUG stream_writer.py:3330 pending_option[DO + MSDP] = False DEBUG stream_writer.py:768 recv IAC WILL MSSP DEBUG stream_writer.py:1994 handle_will(MSSP) DEBUG stream_writer.py:993 skip DO MSSP; pending_option = True DEBUG stream_writer.py:3330 remote_option[MSSP] = True DEBUG stream_writer.py:3330 pending_option[DO + MSSP] = False DEBUG stream_writer.py:768 recv IAC WILL ZMP DEBUG stream_writer.py:1994 handle_will(ZMP) DEBUG stream_writer.py:993 skip DO ZMP; pending_option = True DEBUG stream_writer.py:3330 remote_option[ZMP] = True DEBUG stream_writer.py:3330 pending_option[DO + ZMP] = False DEBUG stream_writer.py:768 recv IAC WILL MCCP2_COMPRESS DEBUG stream_writer.py:1994 handle_will(MCCP2_COMPRESS) DEBUG stream_writer.py:993 skip DO MCCP2_COMPRESS; pending_option = True DEBUG stream_writer.py:3330 remote_option[MCCP2_COMPRESS] = True DEBUG stream_writer.py:3330 pending_option[DO + MCCP2_COMPRESS] = False DEBUG stream_writer.py:768 recv IAC WILL ECHO DEBUG stream_writer.py:784 WILL ECHO unsolicited DEBUG stream_writer.py:1994 handle_will(ECHO) DEBUG stream_writer.py:3330 pending_option[DO + ECHO] = True DEBUG stream_writer.py:1019 send IAC DO ECHO DEBUG stream_writer.py:3330 remote_option[ECHO] = True DEBUG stream_writer.py:3330 pending_option[DO + ECHO] = False DEBUG stream_writer.py:768 recv IAC WILL SGA DEBUG stream_writer.py:784 WILL SGA unsolicited DEBUG stream_writer.py:1994 handle_will(SGA) DEBUG stream_writer.py:3330 pending_option[DO + SGA] = True DEBUG stream_writer.py:1019 send IAC DO SGA DEBUG stream_writer.py:3330 remote_option[SGA] = True DEBUG stream_writer.py:3330 pending_option[DO + SGA] = False DEBUG stream_writer.py:768 recv IAC DO TTYPE DEBUG stream_writer.py:1836 handle_do(TTYPE) DEBUG stream_writer.py:3330 pending_option[WILL + TTYPE] = True DEBUG stream_writer.py:1019 send IAC WILL TTYPE DEBUG stream_writer.py:3330 pending_option[SB + TTYPE] = True DEBUG stream_writer.py:3330 local_option[TTYPE] = True DEBUG stream_writer.py:3330 pending_option[WILL + TTYPE] = False DEBUG stream_writer.py:768 recv IAC DO TSPEED DEBUG stream_writer.py:1836 handle_do(TSPEED) DEBUG stream_writer.py:3330 pending_option[WILL + TSPEED] = True DEBUG stream_writer.py:1019 send IAC WILL TSPEED DEBUG stream_writer.py:3330 pending_option[SB + TSPEED] = True DEBUG stream_writer.py:3330 local_option[TSPEED] = True DEBUG stream_writer.py:3330 pending_option[WILL + TSPEED] = False DEBUG stream_writer.py:768 recv IAC DO SNDLOC DEBUG stream_writer.py:1836 handle_do(SNDLOC) DEBUG stream_writer.py:1944 DO SNDLOC not supported. DEBUG stream_writer.py:3330 local_option[SNDLOC] = False DEBUG stream_writer.py:1019 send IAC WONT SNDLOC DEBUG stream_writer.py:768 recv IAC DO NAWS DEBUG stream_writer.py:1836 handle_do(NAWS) DEBUG stream_writer.py:3330 pending_option[WILL + NAWS] = True DEBUG stream_writer.py:1019 send IAC WILL NAWS DEBUG stream_writer.py:2453 send IAC SB NAWS (rows=25, cols=80) IAC SE DEBUG stream_writer.py:3330 local_option[NAWS] = True DEBUG stream_writer.py:3330 pending_option[WILL + NAWS] = False DEBUG client_base.py:475 MCCP3 compression started (client→server) DEBUG client_base.py:499 negotiation failed after 4.01s. DEBUG client_base.py:505 failed-reply: 'SB TTYPE, SB TSPEED' 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 + 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 INFO fingerprinting.py:746 new server fingerprint 6706073f29d811b7 INFO client_base.py:118 Connection closed to .. raw:: html