5.61.39.30 (dungeon.name)

dungeon.name:20020

Connection Banner:

+​----------------[ Use arrow keys to scroll view, tab to change color scheme ]-+\| >\| >\| -\*( Infinite Cave Adventure )\*- >\| -​---------------------- >\| >\| The name and passcode will identify your savefile. \|\| If a name/passcode combination doesn't exist, then a new savefile will be cr \|\| \|\| Enter your name: \|\| \|\| \|\| \|\| \|\| \|\| \|\| \|\| \|\| \|\| \|\| \|\| \|\| \|\| \|+​------------------------------------------------------------------------------+ +​----------------[ Use arrow keys to scroll view, tab to change color scheme ]-+\| >\| >\| -\*( Infinite Cave Adventure )\*- >\| -​---------------------- >\| >\| The name and passcode will identify your savefile. \|\| If a name/passcode combination doesn't exist, then a new savefile will be cr \|\| \|\| Enter your name: \|\| Enter a passcode: \|\| \|\| \|\| \|\| \|\| \|\| \|\| \|\| \|\| \|\| \|\| \|\| \|\| \|+​------------------------------------------------------------------------------+

Server URLs

Server Location: 🇩🇪 Germany (GeoIP)

Encoding

  • Effective encoding: ascii

  • Scanner detected: ascii

Telnet Fingerprint

cdbdaaf8df581f5c

This fingerprint is shared by 3 other servers.

Options offered by server: ECHO, SGA

Options requested from client: NAWS

The complete JSON record collected during the scan, including Telnet negotiation results and banner data.

Show JSON
{
  "server-probe": {
    "fingerprint": "cdbdaaf8df581f5c",
    "fingerprint-data": {
      "offered-options": [
        "ECHO",
        "SGA"
      ],
      "probed-protocol": "server",
      "refused-options": [
        "AARDWOLF",
        "ATCP",
        "BINARY",
        "CHARSET",
        "COM_PORT",
        "EOR",
        "GMCP",
        "MCCP2",
        "MCCP3",
        "MSDP",
        "MSP",
        "MSSP",
        "MXP",
        "STATUS",
        "ZMP"
      ],
      "requested-options": [
        "NAWS"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "\u001b[H\u001b[0m\u001b[37;44m+----------------[ Use arrow keys to scroll view, tab to change color scheme ]-+|                                                                              >|                                                                              >|   \u001b[1;33m-\u001b[1;37m*\u001b[0m\u001b[37;44m( Inf\u001b[1;37mini\u001b[1;33mte Cave Adv\u001b[1;37ment\u001b[0m\u001b[37;44mure )\u001b[1;37m*\u001b[1;33m-  \u001b[0m\u001b[37;44m                                          >|       ---\u001b[1;37m---\u001b[1;33m-----------\u001b[1;37m---\u001b[0m\u001b[37;44m---                                                >|                                                                              >| The name and passcode will identify your savefile.                           || If a name/passcode combination doesn't exist, then a new savefile will be cr ||                                                                              || \u001b[1;33mEnter your name:\u001b[1;37m \u001b[0m\u001b[37;44m                                                            || \u001b[1;33mEnter a passcode:\u001b[1;37m \u001b[0m\u001b[37;44m                                                           ||                                                                              ||                                                                              ||                                                                              ||                                                                              ||                                                                              ||                                                                              ||                                                                              ||                                                                              ||                                                                              ||                                                                              ||                                                                              ||                                                                              ||                                                                              |+------------------------------------------------------------------------------+",
      "banner_before_return": "\u001b[H\u001b[0m\u001b[37;44m+----------------[ Use arrow keys to scroll view, tab to change color scheme ]-+|                                                                              >|                                                                              >|   \u001b[1;33m-\u001b[1;37m*\u001b[0m\u001b[37;44m( Inf\u001b[1;37mini\u001b[1;33mte Cave Adv\u001b[1;37ment\u001b[0m\u001b[37;44mure )\u001b[1;37m*\u001b[1;33m-  \u001b[0m\u001b[37;44m                                          >|       ---\u001b[1;37m---\u001b[1;33m-----------\u001b[1;37m---\u001b[0m\u001b[37;44m---                                                >|                                                                              >| The name and passcode will identify your savefile.                           || If a name/passcode combination doesn't exist, then a new savefile will be cr ||                                                                              || \u001b[1;33mEnter your name:\u001b[1;37m \u001b[0m\u001b[37;44m                                                            ||                                                                              ||                                                                              ||                                                                              ||                                                                              ||                                                                              ||                                                                              ||                                                                              ||                                                                              ||                                                                              ||                                                                              ||                                                                              ||                                                                              ||                                                                              ||                                                                              |+------------------------------------------------------------------------------+",
      "dsr_replies": 0,
      "dsr_requests": 0,
      "encoding": "ascii",
      "option_states": {
        "server_offered": {
          "0x55": false,
          "ECHO": true,
          "SGA": true
        },
        "server_requested": {
          "NAWS": true
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.5046501159667969,
        "total": 11.171871662139893
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-03-07T04:20:46.480160+00:00",
      "host": "dungeon.name",
      "ip": "5.61.39.30",
      "port": 20020
    },
    {
      "connected": "2026-04-05T19:28:27.196489+00:00",
      "host": "dungeon.name",
      "ip": "5.61.39.30",
      "port": 20020
    },
    {
      "connected": "2026-04-07T06:32:46.619666+00:00",
      "host": "dungeon.name",
      "ip": "5.61.39.30",
      "port": 20020
    }
  ]
}

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 dungeon.name 20020
Show Logfile
DEBUG client.py:1200 Fingerprint client: host=dungeon.name port=20020
INFO client_base.py:190 Connected to <Peer 5.61.39.30 20020>
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 + ATCP] = True
DEBUG stream_writer.py:1024 send IAC WILL ATCP
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 + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC WILL MCCP2_COMPRESS
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 + MSSP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSSP
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 + AARDWOLF] = True
DEBUG stream_writer.py:1024 send IAC WILL AARDWOLF
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 + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC WILL MCCP3_COMPRESS
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 + ATCP] = True
DEBUG stream_writer.py:1024 send IAC DO ATCP
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 + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC DO MCCP2_COMPRESS
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 + MSSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSSP
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 + AARDWOLF] = True
DEBUG stream_writer.py:1024 send IAC DO AARDWOLF
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 + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC DO MCCP3_COMPRESS
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 WILL MCCP_COMPRESS
DEBUG stream_writer.py:789 WILL MCCP_COMPRESS unsolicited
DEBUG stream_writer.py:2045 handle_will(MCCP_COMPRESS)
DEBUG stream_writer.py:3384 remote_option[MCCP_COMPRESS] = False
DEBUG stream_writer.py:1024 send IAC DONT MCCP_COMPRESS
DEBUG stream_writer.py:2182 Unhandled: WILL MCCP_COMPRESS.
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 client_base.py:534 negotiation failed after 4.00s.
DEBUG client_base.py:540 failed-reply: 'WILL MSP, WILL ATCP, WILL ZMP, WILL MCCP2_COMPRESS, WILL MSDP, WILL MSSP, WILL GMCP, WILL
    AARDWOLF, WILL MXP, WILL MCCP3_COMPRESS, DO MSP, DO ATCP, DO ZMP, DO MCCP2_COMPRESS, DO MSDP, DO MSSP, DO GMCP, DO AARDWOLF,
    DO MXP, DO MCCP3_COMPRESS'
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 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 fingerprinting.py:849 connection for server fingerprint cdbdaaf8df581f5c
INFO client_base.py:122 Connection closed to <Peer 5.61.39.30 20020>

dungeon.name:20028

Connection Banner:

┌────────────────[ Use arrow keys to scroll view, tab to change color scheme ]─┐│ →│ →│ -\*( Infinite Cave Adventure )\*- →│ -​---------------------- →│ →│ The name and passcode will identify your savefile. ││ If a name/passcode combination doesn't exist, then a new savefile will be cr ││ ││ Enter your name: ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ │└──────────────────────────────────────────────────────────────────────────────┘ ┌────────────────[ Use arrow keys to scroll view, tab to change color scheme ]─┐│ →│ →│ -\*( Infinite Cave Adventure )\*- →│ -​---------------------- →│ →│ The name and passcode will identify your savefile. ││ If a name/passcode combination doesn't exist, then a new savefile will be cr ││ ││ Enter your name: ││ Enter a passcode: ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ │└──────────────────────────────────────────────────────────────────────────────┘

Server URLs

Server Location: 🇩🇪 Germany (GeoIP)

Encoding

  • Effective encoding: utf-8

  • Override: utf-8 (from bbslist.txt)

  • Scanner detected: utf-8

Telnet Fingerprint

cdbdaaf8df581f5c

This fingerprint is shared by 3 other servers.

Options offered by server: ECHO, SGA

Options requested from client: NAWS

The complete JSON record collected during the scan, including Telnet negotiation results and banner data.

Show JSON
{
  "server-probe": {
    "fingerprint": "cdbdaaf8df581f5c",
    "fingerprint-data": {
      "offered-options": [
        "ECHO",
        "SGA"
      ],
      "probed-protocol": "server",
      "refused-options": [
        "AARDWOLF",
        "ATCP",
        "BINARY",
        "CHARSET",
        "COM_PORT",
        "EOR",
        "GMCP",
        "MCCP2",
        "MCCP3",
        "MSDP",
        "MSP",
        "MSSP",
        "MXP",
        "STATUS",
        "ZMP"
      ],
      "requested-options": [
        "NAWS"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "\u001b[H\u001b[0m\u001b[37;44m\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500[ Use arrow keys to scroll view, tab to change color scheme ]\u2500\u2510\u2502                                                                              \u2192\u2502                                                                              \u2192\u2502   \u001b[1;33m-\u001b[1;37m*\u001b[0m\u001b[37;44m( Inf\u001b[1;37mini\u001b[1;33mte Cave Adv\u001b[1;37ment\u001b[0m\u001b[37;44mure )\u001b[1;37m*\u001b[1;33m-  \u001b[0m\u001b[37;44m                                          \u2192\u2502       ---\u001b[1;37m---\u001b[1;33m-----------\u001b[1;37m---\u001b[0m\u001b[37;44m---                                                \u2192\u2502                                                                              \u2192\u2502 The name and passcode will identify your savefile.                           \u2502\u2502 If a name/passcode combination doesn't exist, then a new savefile will be cr \u2502\u2502                                                                              \u2502\u2502 \u001b[1;33mEnter your name:\u001b[1;37m \u001b[0m\u001b[37;44m                                                            \u2502\u2502 \u001b[1;33mEnter a passcode:\u001b[1;37m \u001b[0m\u001b[37;44m                                                           \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518",
      "banner_before_return": "\u001b[H\u001b[0m\u001b[37;44m\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500[ Use arrow keys to scroll view, tab to change color scheme ]\u2500\u2510\u2502                                                                              \u2192\u2502                                                                              \u2192\u2502   \u001b[1;33m-\u001b[1;37m*\u001b[0m\u001b[37;44m( Inf\u001b[1;37mini\u001b[1;33mte Cave Adv\u001b[1;37ment\u001b[0m\u001b[37;44mure )\u001b[1;37m*\u001b[1;33m-  \u001b[0m\u001b[37;44m                                          \u2192\u2502       ---\u001b[1;37m---\u001b[1;33m-----------\u001b[1;37m---\u001b[0m\u001b[37;44m---                                                \u2192\u2502                                                                              \u2192\u2502 The name and passcode will identify your savefile.                           \u2502\u2502 If a name/passcode combination doesn't exist, then a new savefile will be cr \u2502\u2502                                                                              \u2502\u2502 \u001b[1;33mEnter your name:\u001b[1;37m \u001b[0m\u001b[37;44m                                                            \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518",
      "dsr_replies": 0,
      "dsr_requests": 0,
      "encoding": "utf-8",
      "option_states": {
        "server_offered": {
          "0x55": false,
          "ECHO": true,
          "SGA": true
        },
        "server_requested": {
          "NAWS": true
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.5066754817962646,
        "total": 11.180406093597412
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-04-05T18:42:21.403910+00:00",
      "host": "dungeon.name",
      "ip": "5.61.39.30",
      "port": 20028
    },
    {
      "connected": "2026-04-07T05:50:00.873152+00:00",
      "host": "dungeon.name",
      "ip": "5.61.39.30",
      "port": 20028
    },
    {
      "connected": "2026-04-08T16:53:38.129414+00:00",
      "host": "dungeon.name",
      "ip": "5.61.39.30",
      "port": 20028
    },
    {
      "connected": "2026-04-10T00:31:01.300759+00:00",
      "host": "dungeon.name",
      "ip": "5.61.39.30",
      "port": 20028
    },
    {
      "connected": "2026-04-10T00:54:15.062466+00:00",
      "host": "dungeon.name",
      "ip": "5.61.39.30",
      "port": 20028
    }
  ]
}

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 dungeon.name 20028
Show Logfile
DEBUG client.py:1193 Fingerprint client: host=dungeon.name port=20028
INFO client_base.py:188 Connected to <Peer 5.61.39.30 20028>
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[WILL + MSP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSP
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 + MSDP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSDP
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 + ZMP] = True
DEBUG stream_writer.py:1024 send IAC WILL ZMP
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 + AARDWOLF] = True
DEBUG stream_writer.py:1024 send IAC WILL AARDWOLF
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[DO + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC DO MCCP3_COMPRESS
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 + 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 + MSDP] = True
DEBUG stream_writer.py:1024 send IAC DO MSDP
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 + ZMP] = True
DEBUG stream_writer.py:1024 send IAC DO ZMP
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 + AARDWOLF] = True
DEBUG stream_writer.py:1024 send IAC DO AARDWOLF
DEBUG stream_writer.py:3384 pending_option[DO + MXP] = True
DEBUG stream_writer.py:1024 send IAC DO MXP
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 WILL MCCP_COMPRESS
DEBUG stream_writer.py:789 WILL MCCP_COMPRESS unsolicited
DEBUG stream_writer.py:2045 handle_will(MCCP_COMPRESS)
DEBUG stream_writer.py:3384 remote_option[MCCP_COMPRESS] = False
DEBUG stream_writer.py:1024 send IAC DONT MCCP_COMPRESS
DEBUG stream_writer.py:2182 Unhandled: WILL MCCP_COMPRESS.
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 client_base.py:513 negotiation failed after 4.01s.
DEBUG client_base.py:519 failed-reply: 'WILL MCCP3_COMPRESS, WILL MSP, WILL ATCP, WILL MSSP, WILL MSDP, WILL MCCP2_COMPRESS, WILL
    ZMP, WILL GMCP, WILL AARDWOLF, WILL MXP, DO MCCP3_COMPRESS, DO MSP, DO ATCP, DO MSSP, DO MSDP, DO MCCP2_COMPRESS, DO ZMP, DO
    GMCP, DO AARDWOLF, DO MXP'
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 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 fingerprinting.py:844 connection for server fingerprint cdbdaaf8df581f5c
INFO client_base.py:120 Connection closed to <Peer 5.61.39.30 20028>

dungeon.name:22222

Connection Banner:

┌────────────────[ Use arrow keys to scroll view, tab to change color scheme ]─┐│ →│ When viewing a game, press 'ESC' twice to stop and return to this screen. →│ Use the arrow keys to scroll your view in case the player's window is lar →│ Simply start typing and press 'Enter' to send a chat message. →│ →│ Active games: (press space to refresh) ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ │└──────────────────────────────────────────────────────────────────────────────┘

Server URLs

Server Location: 🇩🇪 Germany (GeoIP)

Encoding

  • Effective encoding: utf-8

  • Override: utf-8 (from bbslist.txt)

  • Scanner detected: utf-8

Telnet Fingerprint

cdbdaaf8df581f5c

This fingerprint is shared by 3 other servers.

Options offered by server: ECHO, SGA

Options requested from client: NAWS

The complete JSON record collected during the scan, including Telnet negotiation results and banner data.

Show JSON
{
  "server-probe": {
    "fingerprint": "cdbdaaf8df581f5c",
    "fingerprint-data": {
      "offered-options": [
        "ECHO",
        "SGA"
      ],
      "probed-protocol": "server",
      "refused-options": [
        "AARDWOLF",
        "ATCP",
        "BINARY",
        "CHARSET",
        "COM_PORT",
        "EOR",
        "GMCP",
        "MCCP2",
        "MCCP3",
        "MSDP",
        "MSP",
        "MSSP",
        "MXP",
        "STATUS",
        "ZMP"
      ],
      "requested-options": [
        "NAWS"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "\u001b[H\u001b[0m\u001b[37;44m\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500[ Use arrow keys to scroll view, tab to change color scheme ]\u2500\u2510\u2502                                                                              \u2192\u2502    When viewing a game, press 'ESC' twice to stop and return to this screen. \u2192\u2502    Use the arrow keys to scroll your view in case the player's window is lar \u2192\u2502    Simply start typing and press 'Enter' to send a chat message.             \u2192\u2502                                                                              \u2192\u2502 \u001b[1;37mActive games: (press space to refresh)\u001b[0m\u001b[37;44m                                       \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518",
      "banner_before_return": "\u001b[H\u001b[0m\u001b[37;44m\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500[ Use arrow keys to scroll view, tab to change color scheme ]\u2500\u2510\u2502                                                                              \u2192\u2502    When viewing a game, press 'ESC' twice to stop and return to this screen. \u2192\u2502    Use the arrow keys to scroll your view in case the player's window is lar \u2192\u2502    Simply start typing and press 'Enter' to send a chat message.             \u2192\u2502                                                                              \u2192\u2502 \u001b[1;37mActive games: (press space to refresh)\u001b[0m\u001b[37;44m                                       \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2502                                                                              \u2502\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518",
      "dsr_replies": 0,
      "dsr_requests": 0,
      "encoding": "utf-8",
      "option_states": {
        "server_offered": {
          "0x55": false,
          "ECHO": true,
          "SGA": true
        },
        "server_requested": {
          "NAWS": true
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.5059356689453125,
        "total": 11.171587944030762
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-04-05T19:16:00.867380+00:00",
      "host": "dungeon.name",
      "ip": "5.61.39.30",
      "port": 22222
    },
    {
      "connected": "2026-04-07T06:26:03.777610+00:00",
      "host": "dungeon.name",
      "ip": "5.61.39.30",
      "port": 22222
    },
    {
      "connected": "2026-04-08T17:00:56.321328+00:00",
      "host": "dungeon.name",
      "ip": "5.61.39.30",
      "port": 22222
    },
    {
      "connected": "2026-04-10T00:33:56.079192+00:00",
      "host": "dungeon.name",
      "ip": "5.61.39.30",
      "port": 22222
    },
    {
      "connected": "2026-04-10T00:54:17.520535+00:00",
      "host": "dungeon.name",
      "ip": "5.61.39.30",
      "port": 22222
    }
  ]
}

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 dungeon.name 22222
Show Logfile
DEBUG client.py:1193 Fingerprint client: host=dungeon.name port=22222
INFO client_base.py:188 Connected to <Peer 5.61.39.30 22222>
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[WILL + MSP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSP
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 + MSDP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSDP
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 + ZMP] = True
DEBUG stream_writer.py:1024 send IAC WILL ZMP
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 + AARDWOLF] = True
DEBUG stream_writer.py:1024 send IAC WILL AARDWOLF
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[DO + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC DO MCCP3_COMPRESS
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 + 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 + MSDP] = True
DEBUG stream_writer.py:1024 send IAC DO MSDP
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 + ZMP] = True
DEBUG stream_writer.py:1024 send IAC DO ZMP
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 + AARDWOLF] = True
DEBUG stream_writer.py:1024 send IAC DO AARDWOLF
DEBUG stream_writer.py:3384 pending_option[DO + MXP] = True
DEBUG stream_writer.py:1024 send IAC DO MXP
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 WILL MCCP_COMPRESS
DEBUG stream_writer.py:789 WILL MCCP_COMPRESS unsolicited
DEBUG stream_writer.py:2045 handle_will(MCCP_COMPRESS)
DEBUG stream_writer.py:3384 remote_option[MCCP_COMPRESS] = False
DEBUG stream_writer.py:1024 send IAC DONT MCCP_COMPRESS
DEBUG stream_writer.py:2182 Unhandled: WILL MCCP_COMPRESS.
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 client_base.py:513 negotiation failed after 4.00s.
DEBUG client_base.py:519 failed-reply: 'WILL MCCP3_COMPRESS, WILL MSP, WILL ATCP, WILL MSSP, WILL MSDP, WILL MCCP2_COMPRESS, WILL
    ZMP, WILL GMCP, WILL AARDWOLF, WILL MXP, DO MCCP3_COMPRESS, DO MSP, DO ATCP, DO MSSP, DO MSDP, DO MCCP2_COMPRESS, DO ZMP, DO
    GMCP, DO AARDWOLF, DO MXP'
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 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 fingerprinting.py:844 connection for server fingerprint cdbdaaf8df581f5c
INFO client_base.py:120 Connection closed to <Peer 5.61.39.30 22222>