52.1.193.111 (nethack.alt.org) ============================== .. _ip_52_1_193_111_nethack_alt_org_23: nethack.alt.org:23 ------------------ **Connection Banner:** .. image:: /_static/banners/banner_0efc26caba3e.png :alt: Ubuntu 16.04.7 LTS ; ## nethack.alt.org - http://nethack.alt.org/#### Games on this server are recorded for in-progress viewing and playback!Not logged in.l) Loginr) Register new userw) Watch games in progresss) server infom) MOTD/news (updated: 2023.02.17)q) Quit=> :class: ansi-banner :width: 601px :loading: lazy Server URLs ~~~~~~~~~~~ .. raw:: html **Server Location**: 🇺🇸 United States (GeoIP) Encoding ~~~~~~~~ - **Effective encoding**: ascii - **Override**: ascii (from bbslist.txt) - **Scanner detected**: utf-8 Telnet Fingerprint ~~~~~~~~~~~~~~~~~~ :ref:`3368c85b2d113f3c ` *This fingerprint is shared by 24 other servers.* **Options offered by server**: ``BINARY``, ``ECHO``, ``SGA``, ``STATUS`` **Options requested from client**: ``ECHO``, ``LFLOW``, ``NAWS``, ``NEW_ENVIRON``, ``TSPEED``, ``TTYPE``, ``XDISPLOC`` 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": "3368c85b2d113f3c", "fingerprint-data": { "offered-options": [ "BINARY", "ECHO", "SGA", "STATUS" ], "probed-protocol": "server", "refused-options": [ "AARDWOLF", "ATCP", "CHARSET", "COM_PORT", "EOR", "GMCP", "MCCP2", "MCCP3", "MSDP", "MSP", "MSSP", "MXP", "ZMP" ], "requested-options": [ "ECHO", "LFLOW", "NAWS", "NEW_ENVIRON", "TSPEED", "TTYPE", "XDISPLOC" ], "scan-type": "quick" }, "session_data": { "banner_after_return": "\u001b[24;1H\u001b[?1049l\r\u0000\u001b[?1l\u001b>\u001b[2J\u001b[?1049h\u001b[1;25r\u001b[m\u001b(B\u001b[4l\u001b[?7h\u001b[?1h\u001b=\u001b[39;49m\u001b[39;49m\u001b[m\u001b(B\u001b[H\u001b[2J\u001b[2d ## \u001b[0;1m\u001b(B\u001b[38;5;3m\u001b[48;5;0mnethack.alt.org - http://nethack.alt.org/\u001b[3;2H\u001b[39;49m\u001b[m\u001b(B##\u001b[4d\b\b## Games on this server are recorded for in-progress viewing and playback!\u001b[6;3HNot logged in.\u001b[8;3Hl) Login\u001b[9;3Hr) Register new user\u001b[10;3Hw) Watch games in progress\u001b[12;3Hs) server info\u001b[13;3Hm) MOTD/news (updated: 2023.02.17)\u001b[15;3Hq) Quit\u001b[19;3H=> ", "banner_before_return": "Ubuntu 16.04.7 LTS\r\n;\u001b]2;nethack.alt.org\u0007\u001b[2J\u001b[?1049h\u001b[1;24r\u001b[m\u001b(B\u001b[4l\u001b[?7h\u001b[?1h\u001b=\u001b[39;49m\u001b[39;49m\u001b[m\u001b(B\u001b[H\u001b[2J\u001b[24;1H\u001b[?1049l\r\u0000\u001b[?1l\u001b>\u001b[2J\u001b[?1049h\u001b[1;24r\u001b[m\u001b(B\u001b[4l\u001b[?7h\u001b[?1h\u001b=\u001b[39;49m\u001b[39;49m\u001b[m\u001b(B\u001b[H\u001b[2J\u001b[H\u001b[2J\u001b[2d ## \u001b[0;1m\u001b(B\u001b[38;5;3m\u001b[48;5;0mnethack.alt.org - http://nethack.alt.org/\u001b[3;2H\u001b[39;49m\u001b[m\u001b(B##\u001b[4d\b\b## Games on this server are recorded for in-progress viewing and playback!\u001b[6;3HNot logged in.\u001b[8;3Hl) Login\u001b[9;3Hr) Register new user\u001b[10;3Hw) Watch games in progress\u001b[12;3Hs) server info\u001b[13;3Hm) MOTD/news (updated: 2023.02.17)\u001b[15;3Hq) Quit\u001b[19;3H=> ", "dsr_replies": 0, "dsr_requests": 0, "encoding": "utf-8", "option_states": { "environ_requested": [ { "name": "*", "type": "VAR" }, { "name": "*", "type": "USERVAR" } ], "server_offered": { "AARDWOLF": false, "ATCP": false, "ECHO": true, "GMCP": false, "MCCP2": false, "MCCP3": false, "MSDP": false, "MSP": false, "MSSP": false, "MXP": false, "SGA": true, "STATUS": true, "ZMP": false }, "server_requested": { "AARDWOLF": false, "ATCP": false, "ECHO": true, "GMCP": false, "LFLOW": true, "MCCP2": false, "MCCP3": false, "MSDP": false, "MSP": false, "MSSP": false, "MXP": false, "NAWS": true, "NEW_ENVIRON": true, "TSPEED": true, "TTYPE": true, "XDISPLOC": true, "ZMP": false } }, "scan_type": "quick", "timing": { "probe": 0.15328335762023926, "total": 10.731473207473755 } } }, "sessions": [ { "connected": "2026-03-07T04:19:23.991868+00:00", "host": "nethack.alt.org", "ip": "52.1.193.111", "port": 23 }, { "connected": "2026-04-05T18:38:07.350121+00:00", "host": "nethack.alt.org", "ip": "52.1.193.111", "port": 23 }, { "connected": "2026-04-07T05:48:12.266690+00:00", "host": "nethack.alt.org", "ip": "52.1.193.111", "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 nethack.alt.org 23 .. raw:: html
Show Logfile .. code-block:: text DEBUG client.py:1200 Fingerprint client: host=nethack.alt.org port=23 INFO client_base.py:190 Connected to 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 + ZMP] = True DEBUG stream_writer.py:1024 send IAC WILL ZMP 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 + 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 + 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 + ATCP] = True DEBUG stream_writer.py:1024 send IAC WILL ATCP 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 + MSP] = True DEBUG stream_writer.py:1024 send IAC WILL MSP 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 + ZMP] = True DEBUG stream_writer.py:1024 send IAC DO ZMP 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 + 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 + 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 + ATCP] = True DEBUG stream_writer.py:1024 send IAC DO ATCP 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 + MSP] = True DEBUG stream_writer.py:1024 send IAC DO MSP 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 XDISPLOC DEBUG stream_writer.py:1887 handle_do(XDISPLOC) DEBUG stream_writer.py:3384 pending_option[WILL + XDISPLOC] = True DEBUG stream_writer.py:1024 send IAC WILL XDISPLOC DEBUG stream_writer.py:3384 pending_option[SB + XDISPLOC] = True DEBUG stream_writer.py:3384 local_option[XDISPLOC] = True DEBUG stream_writer.py:3384 pending_option[WILL + XDISPLOC] = 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 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 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 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 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 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 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 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 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 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 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 WONT MCCP3_COMPRESS DEBUG stream_writer.py:2199 handle_wont(MCCP3_COMPRESS) DEBUG stream_writer.py:3384 remote_option[MCCP3_COMPRESS] = False DEBUG stream_writer.py:3384 pending_option[DO + MCCP3_COMPRESS] = False DEBUG stream_writer.py:773 recv IAC WONT ZMP DEBUG stream_writer.py:2199 handle_wont(ZMP) DEBUG stream_writer.py:3384 remote_option[ZMP] = False DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = False DEBUG stream_writer.py:773 recv IAC WONT MXP DEBUG stream_writer.py:2199 handle_wont(MXP) DEBUG stream_writer.py:3384 remote_option[MXP] = False DEBUG stream_writer.py:3384 pending_option[DO + MXP] = False DEBUG stream_writer.py:773 recv IAC WONT MSDP DEBUG stream_writer.py:2199 handle_wont(MSDP) DEBUG stream_writer.py:3384 remote_option[MSDP] = False DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = False DEBUG stream_writer.py:773 recv IAC WONT MCCP2_COMPRESS DEBUG stream_writer.py:2199 handle_wont(MCCP2_COMPRESS) DEBUG stream_writer.py:3384 remote_option[MCCP2_COMPRESS] = False DEBUG stream_writer.py:3384 pending_option[DO + MCCP2_COMPRESS] = False DEBUG stream_writer.py:773 recv IAC WONT MSSP DEBUG stream_writer.py:2199 handle_wont(MSSP) DEBUG stream_writer.py:3384 remote_option[MSSP] = False DEBUG stream_writer.py:3384 pending_option[DO + MSSP] = False DEBUG stream_writer.py:773 recv IAC WONT GMCP DEBUG stream_writer.py:2199 handle_wont(GMCP) DEBUG stream_writer.py:3384 remote_option[GMCP] = False DEBUG stream_writer.py:3384 pending_option[DO + GMCP] = False DEBUG stream_writer.py:773 recv IAC WONT ATCP DEBUG stream_writer.py:2199 handle_wont(ATCP) DEBUG stream_writer.py:3384 remote_option[ATCP] = False DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = False DEBUG stream_writer.py:773 recv IAC WONT AARDWOLF DEBUG stream_writer.py:2199 handle_wont(AARDWOLF) DEBUG stream_writer.py:3384 remote_option[AARDWOLF] = False DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = False DEBUG stream_writer.py:773 recv IAC WONT MSP DEBUG stream_writer.py:2199 handle_wont(MSP) DEBUG stream_writer.py:3384 remote_option[MSP] = False DEBUG stream_writer.py:3384 pending_option[DO + MSP] = False 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 stream_writer.py:767 begin sub-negotiation SB XDISPLOC DEBUG stream_writer.py:754 sub-negotiation cmd XDISPLOC SE completion byte DEBUG stream_writer.py:3384 pending_option[SB + XDISPLOC] = False DEBUG stream_writer.py:2384 recv XDISPLOC SEND: b'' DEBUG stream_writer.py:2393 send IAC SB XDISPLOC IS b'' IAC SE DEBUG stream_writer.py:767 begin sub-negotiation SB NEW_ENVIRON DEBUG stream_writer.py:754 sub-negotiation cmd NEW_ENVIRON SE completion byte DEBUG stream_writer.py:3384 pending_option[SB + NEW_ENVIRON] = False DEBUG stream_writer.py:2449 recv NEW_ENVIRON SEND (all) DEBUG stream_writer.py:2473 env send: LANG='C', TERM='xterm-256color', LINES=25, COLUMNS=80, COLORTERM='' 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 client_base.py:531 negotiation complete after 0.25s. 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 ECHO DEBUG stream_writer.py:1887 handle_do(ECHO) DEBUG stream_writer.py:3384 local_option[ECHO] = False DEBUG stream_writer.py:1024 send IAC WONT ECHO DEBUG stream_writer.py:3384 local_option[ECHO] = True 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 WILL STATUS DEBUG stream_writer.py:789 WILL STATUS unsolicited DEBUG stream_writer.py:2045 handle_will(STATUS) DEBUG stream_writer.py:3384 remote_option[STATUS] = True DEBUG stream_writer.py:1115 send IAC SB STATUS SEND IAC SE DEBUG stream_writer.py:3384 pending_option[SB + STATUS] = True DEBUG stream_writer.py:773 recv IAC DO LFLOW DEBUG stream_writer.py:1887 handle_do(LFLOW) DEBUG stream_writer.py:3384 pending_option[WILL + LFLOW] = True DEBUG stream_writer.py:1024 send IAC WILL LFLOW DEBUG stream_writer.py:3384 pending_option[SB + LFLOW] = True DEBUG stream_writer.py:3384 local_option[LFLOW] = True DEBUG stream_writer.py:3384 pending_option[WILL + LFLOW] = 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:3384 pending_option[DO + BINARY] = True DEBUG stream_writer.py:1024 send IAC DO BINARY 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:773 recv IAC WILL BINARY DEBUG stream_writer.py:2045 handle_will(BINARY) DEBUG stream_writer.py:998 skip DO BINARY; pending_option = True DEBUG stream_writer.py:3384 remote_option[BINARY] = True DEBUG stream_writer.py:3384 pending_option[DO + BINARY] = False DEBUG stream_writer.py:773 recv IAC WONT CHARSET DEBUG stream_writer.py:2199 handle_wont(CHARSET) DEBUG stream_writer.py:3384 remote_option[CHARSET] = False DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = False DEBUG stream_writer.py:773 recv IAC WONT EOR DEBUG stream_writer.py:2199 handle_wont(EOR) DEBUG stream_writer.py:3384 remote_option[EOR] = False DEBUG stream_writer.py:3384 pending_option[DO + EOR] = 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:849 connection for server fingerprint 3368c85b2d113f3c INFO client_base.py:122 Connection closed to .. raw:: html
.. _ip_52_1_193_111_nethack_alt_org_14321: nethack.alt.org:14321 --------------------- **Connection Banner:** .. image:: /_static/banners/banner_d3161478233a.png :alt: Ubuntu 16.04.7 LTS ; ## nethack.alt.org - http://nethack.alt.org/#### Games on this server are recorded for in-progress viewing and playback!Not logged in.l) Loginr) Register new userw) Watch games in progresss) server infom) MOTD/news (updated: 2023.02.17)q) Quit=> :class: ansi-banner :width: 601px :loading: lazy Server URLs ~~~~~~~~~~~ .. raw:: html **Server Location**: 🇺🇸 United States (GeoIP) Encoding ~~~~~~~~ - **Effective encoding**: ascii - **Scanner detected**: ascii Telnet Fingerprint ~~~~~~~~~~~~~~~~~~ :ref:`3368c85b2d113f3c ` *This fingerprint is shared by 24 other servers.* **Options offered by server**: ``BINARY``, ``ECHO``, ``SGA``, ``STATUS`` **Options requested from client**: ``ECHO``, ``LFLOW``, ``NAWS``, ``NEW_ENVIRON``, ``TSPEED``, ``TTYPE``, ``XDISPLOC`` 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": "3368c85b2d113f3c", "fingerprint-data": { "offered-options": [ "BINARY", "ECHO", "SGA", "STATUS" ], "probed-protocol": "server", "refused-options": [ "AARDWOLF", "ATCP", "CHARSET", "COM_PORT", "EOR", "GMCP", "MCCP2", "MCCP3", "MSDP", "MSP", "MSSP", "MXP", "ZMP" ], "requested-options": [ "ECHO", "LFLOW", "NAWS", "NEW_ENVIRON", "TSPEED", "TTYPE", "XDISPLOC" ], "scan-type": "quick" }, "session_data": { "banner_after_return": "\u001b[24;1H\u001b[?1049l\r\u0000\u001b[?1l\u001b>\u001b[2J\u001b[?1049h\u001b[1;25r\u001b[m\u001b(B\u001b[4l\u001b[?7h\u001b[?1h\u001b=\u001b[39;49m\u001b[39;49m\u001b[m\u001b(B\u001b[H\u001b[2J\u001b[2d ## \u001b[0;1m\u001b(B\u001b[38;5;3m\u001b[48;5;0mnethack.alt.org - http://nethack.alt.org/\u001b[3;2H\u001b[39;49m\u001b[m\u001b(B##\u001b[4d\b\b## Games on this server are recorded for in-progress viewing and playback!\u001b[6;3HNot logged in.\u001b[8;3Hl) Login\u001b[9;3Hr) Register new user\u001b[10;3Hw) Watch games in progress\u001b[12;3Hs) server info\u001b[13;3Hm) MOTD/news (updated: 2023.02.17)\u001b[15;3Hq) Quit\u001b[19;3H=> ", "banner_before_return": "Ubuntu 16.04.7 LTS\r\n;\u001b]2;nethack.alt.org\u0007\u001b[2J\u001b[?1049h\u001b[1;24r\u001b[m\u001b(B\u001b[4l\u001b[?7h\u001b[?1h\u001b=\u001b[39;49m\u001b[39;49m\u001b[m\u001b(B\u001b[H\u001b[2J\u001b[24;1H\u001b[?1049l\r\u0000\u001b[?1l\u001b>\u001b[2J\u001b[?1049h\u001b[1;24r\u001b[m\u001b(B\u001b[4l\u001b[?7h\u001b[?1h\u001b=\u001b[39;49m\u001b[39;49m\u001b[m\u001b(B\u001b[H\u001b[2J\u001b[H\u001b[2J\u001b[2d ## \u001b[0;1m\u001b(B\u001b[38;5;3m\u001b[48;5;0mnethack.alt.org - http://nethack.alt.org/\u001b[3;2H\u001b[39;49m\u001b[m\u001b(B##\u001b[4d\b\b## Games on this server are recorded for in-progress viewing and playback!\u001b[6;3HNot logged in.\u001b[8;3Hl) Login\u001b[9;3Hr) Register new user\u001b[10;3Hw) Watch games in progress\u001b[12;3Hs) server info\u001b[13;3Hm) MOTD/news (updated: 2023.02.17)\u001b[15;3Hq) Quit\u001b[19;3H=> ", "dsr_replies": 0, "dsr_requests": 0, "encoding": "ascii", "option_states": { "environ_requested": [ { "name": "*", "type": "VAR" }, { "name": "*", "type": "USERVAR" } ], "server_offered": { "AARDWOLF": false, "ATCP": false, "ECHO": true, "GMCP": false, "MCCP2": false, "MCCP3": false, "MSDP": false, "MSP": false, "MSSP": false, "MXP": false, "SGA": true, "STATUS": true, "ZMP": false }, "server_requested": { "AARDWOLF": false, "ATCP": false, "ECHO": true, "GMCP": false, "LFLOW": true, "MCCP2": false, "MCCP3": false, "MSDP": false, "MSP": false, "MSSP": false, "MXP": false, "NAWS": true, "NEW_ENVIRON": true, "TSPEED": true, "TTYPE": true, "XDISPLOC": true, "ZMP": false } }, "scan_type": "quick", "timing": { "probe": 0.10204315185546875, "total": 10.67427682876587 } } }, "sessions": [ { "connected": "2026-04-05T19:02:57.068503+00:00", "host": "nethack.alt.org", "ip": "52.1.193.111", "port": 14321 }, { "connected": "2026-04-07T06:10:59.179038+00:00", "host": "nethack.alt.org", "ip": "52.1.193.111", "port": 14321 } ] } .. 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 nethack.alt.org 14321 .. raw:: html
Show Logfile .. code-block:: text DEBUG client.py:1200 Fingerprint client: host=nethack.alt.org port=14321 INFO client_base.py:190 Connected to 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 + MSDP] = True DEBUG stream_writer.py:1024 send IAC WILL MSDP 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 + MCCP3_COMPRESS] = True DEBUG stream_writer.py:1024 send IAC WILL MCCP3_COMPRESS 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 + ATCP] = True DEBUG stream_writer.py:1024 send IAC WILL ATCP 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 + AARDWOLF] = True DEBUG stream_writer.py:1024 send IAC WILL AARDWOLF 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[DO + MSP] = True DEBUG stream_writer.py:1024 send IAC DO MSP 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 + ZMP] = True DEBUG stream_writer.py:1024 send IAC DO ZMP 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 + 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 + ATCP] = True DEBUG stream_writer.py:1024 send IAC DO ATCP 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 + AARDWOLF] = True DEBUG stream_writer.py:1024 send IAC DO AARDWOLF 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: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 XDISPLOC DEBUG stream_writer.py:1887 handle_do(XDISPLOC) DEBUG stream_writer.py:3384 pending_option[WILL + XDISPLOC] = True DEBUG stream_writer.py:1024 send IAC WILL XDISPLOC DEBUG stream_writer.py:3384 pending_option[SB + XDISPLOC] = True DEBUG stream_writer.py:3384 local_option[XDISPLOC] = True DEBUG stream_writer.py:3384 pending_option[WILL + XDISPLOC] = 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 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 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 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 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 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 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 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 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 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 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 WONT MSP DEBUG stream_writer.py:2199 handle_wont(MSP) DEBUG stream_writer.py:3384 remote_option[MSP] = False DEBUG stream_writer.py:3384 pending_option[DO + MSP] = False DEBUG stream_writer.py:773 recv IAC WONT MSDP DEBUG stream_writer.py:2199 handle_wont(MSDP) DEBUG stream_writer.py:3384 remote_option[MSDP] = False DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = False DEBUG stream_writer.py:773 recv IAC WONT ZMP DEBUG stream_writer.py:2199 handle_wont(ZMP) DEBUG stream_writer.py:3384 remote_option[ZMP] = False DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = False DEBUG stream_writer.py:773 recv IAC WONT MCCP3_COMPRESS DEBUG stream_writer.py:2199 handle_wont(MCCP3_COMPRESS) DEBUG stream_writer.py:3384 remote_option[MCCP3_COMPRESS] = False DEBUG stream_writer.py:3384 pending_option[DO + MCCP3_COMPRESS] = False DEBUG stream_writer.py:773 recv IAC WONT MSSP DEBUG stream_writer.py:2199 handle_wont(MSSP) DEBUG stream_writer.py:3384 remote_option[MSSP] = False DEBUG stream_writer.py:3384 pending_option[DO + MSSP] = False DEBUG stream_writer.py:773 recv IAC WONT GMCP DEBUG stream_writer.py:2199 handle_wont(GMCP) DEBUG stream_writer.py:3384 remote_option[GMCP] = False DEBUG stream_writer.py:3384 pending_option[DO + GMCP] = False DEBUG stream_writer.py:773 recv IAC WONT ATCP DEBUG stream_writer.py:2199 handle_wont(ATCP) DEBUG stream_writer.py:3384 remote_option[ATCP] = False DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = False DEBUG stream_writer.py:773 recv IAC WONT MXP DEBUG stream_writer.py:2199 handle_wont(MXP) DEBUG stream_writer.py:3384 remote_option[MXP] = False DEBUG stream_writer.py:3384 pending_option[DO + MXP] = False DEBUG stream_writer.py:773 recv IAC WONT AARDWOLF DEBUG stream_writer.py:2199 handle_wont(AARDWOLF) DEBUG stream_writer.py:3384 remote_option[AARDWOLF] = False DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = False DEBUG stream_writer.py:773 recv IAC WONT MCCP2_COMPRESS DEBUG stream_writer.py:2199 handle_wont(MCCP2_COMPRESS) DEBUG stream_writer.py:3384 remote_option[MCCP2_COMPRESS] = False DEBUG stream_writer.py:3384 pending_option[DO + MCCP2_COMPRESS] = False 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 stream_writer.py:767 begin sub-negotiation SB XDISPLOC DEBUG stream_writer.py:754 sub-negotiation cmd XDISPLOC SE completion byte DEBUG stream_writer.py:3384 pending_option[SB + XDISPLOC] = False DEBUG stream_writer.py:2384 recv XDISPLOC SEND: b'' DEBUG stream_writer.py:2393 send IAC SB XDISPLOC IS b'' IAC SE DEBUG stream_writer.py:767 begin sub-negotiation SB NEW_ENVIRON DEBUG stream_writer.py:754 sub-negotiation cmd NEW_ENVIRON SE completion byte DEBUG stream_writer.py:3384 pending_option[SB + NEW_ENVIRON] = False DEBUG stream_writer.py:2449 recv NEW_ENVIRON SEND (all) DEBUG stream_writer.py:2473 env send: LANG='C', TERM='xterm-256color', LINES=25, COLUMNS=80, COLORTERM='' 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 client_base.py:531 negotiation complete after 0.24s. 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 ECHO DEBUG stream_writer.py:1887 handle_do(ECHO) DEBUG stream_writer.py:3384 local_option[ECHO] = False DEBUG stream_writer.py:1024 send IAC WONT ECHO DEBUG stream_writer.py:3384 local_option[ECHO] = True 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 WILL STATUS DEBUG stream_writer.py:789 WILL STATUS unsolicited DEBUG stream_writer.py:2045 handle_will(STATUS) DEBUG stream_writer.py:3384 remote_option[STATUS] = True DEBUG stream_writer.py:1115 send IAC SB STATUS SEND IAC SE DEBUG stream_writer.py:3384 pending_option[SB + STATUS] = True DEBUG stream_writer.py:773 recv IAC DO LFLOW DEBUG stream_writer.py:1887 handle_do(LFLOW) DEBUG stream_writer.py:3384 pending_option[WILL + LFLOW] = True DEBUG stream_writer.py:1024 send IAC WILL LFLOW DEBUG stream_writer.py:3384 pending_option[SB + LFLOW] = True DEBUG stream_writer.py:3384 local_option[LFLOW] = True DEBUG stream_writer.py:3384 pending_option[WILL + LFLOW] = 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:3384 pending_option[DO + BINARY] = True DEBUG stream_writer.py:1024 send IAC DO BINARY 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:773 recv IAC WILL BINARY DEBUG stream_writer.py:2045 handle_will(BINARY) DEBUG stream_writer.py:998 skip DO BINARY; pending_option = True DEBUG stream_writer.py:3384 remote_option[BINARY] = True DEBUG stream_writer.py:3384 pending_option[DO + BINARY] = False DEBUG stream_writer.py:773 recv IAC WONT CHARSET DEBUG stream_writer.py:2199 handle_wont(CHARSET) DEBUG stream_writer.py:3384 remote_option[CHARSET] = False DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = False DEBUG stream_writer.py:773 recv IAC WONT EOR DEBUG stream_writer.py:2199 handle_wont(EOR) DEBUG stream_writer.py:3384 remote_option[EOR] = False DEBUG stream_writer.py:3384 pending_option[DO + EOR] = 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:849 connection for server fingerprint 3368c85b2d113f3c INFO client_base.py:122 Connection closed to .. raw:: html