telehack.com
============
.. raw:: html
Connected to TELEHACK port 64
It is 11:38 pm on Saturday, February 7, 2026 in Mountain View, California, USA.
There are 139 local users. There are 26648 hosts on the network.
May the command line live forever.
Command, one of the following:
2048 ? a2 ac advent aquarium
basic bf c8 cal calc callsign
cat clear clock date delta diff
dir echo exit factor figlet finger
fnord geoip gif head help ipaddr
joke liff login mac md5 more
netstat newuser notes ping pong primes
rain rockets roll rot13 salvo starwars
sudoku tail today traceroute typespeed uptime
users uumap uupath uuplot weather zork
More commands avai
lable after login. Type HELP for a detailed command list.
Type NEWUSER to create an account. Press control-C to interrupt any command.
.
.. raw:: html
telehack.com:23
⎘
Telnet Fingerprint
------------------
:ref:`5edc5f8ed7a88697... `
*This fingerprint is unique to this server.*
**Options offered by server**: ``ECHO``, ``SGA``
**Options requested from client**: ``BINARY``, ``NAWS``, ``NEW_ENVIRON``, ``TTYPE``
**Data source**: `5edc5f8ed7a88697/e76258a76f003d08.json `_
The complete JSON record collected during the scan,
including Telnet negotiation results and any
MSSP metadata.
.. code-block:: json
{
"server-probe": {
"fingerprint": "5edc5f8ed7a88697",
"fingerprint-data": {
"offered-options": [
"ECHO",
"SGA"
],
"probed-protocol": "server",
"refused-options": [
"AUTHENTICATION",
"BINARY",
"BM",
"CHARSET",
"COM_PORT",
"DET",
"ENCRYPT",
"EOR",
"FORWARD_X",
"KERMIT",
"NAMS",
"NAOCRD",
"NAOFFD",
"NAOHTD",
"NAOHTS",
"NAOL",
"NAOLFD",
"NAOP",
"NAOVTD",
"NAOVTS",
"PRAGMA_HEARTBEAT",
"PRAGMA_LOGON",
"RCP",
"RCTE",
"RSP",
"SEND_URL",
"SSPI_LOGON",
"STATUS",
"SUPDUP",
"SUPDUPOUTPUT",
"SUPPRESS_LOCAL_ECHO",
"TLS",
"TN3270E",
"TTYLOC",
"VT3270REGIME",
"X3PAD",
"XAUTH"
],
"requested-options": [
"BINARY",
"NAWS",
"NEW_ENVIRON",
"TTYPE"
]
},
"session_data": {
"banner_after_return": "lable after login. Type HELP for a detailed command list.\r\nType NEWUSER to create an account. Press control-C to interrupt any command.\r\n.",
"banner_before_return": "\r\nConnected to TELEHACK port 64\r\n\r\nIt is 11:38 pm on Saturday, February 7, 2026 in Mountain View, California, USA.\r\nThere are 139 local users. There are 26648 hosts on the network.\r\n\r\nMay the command line live forever.\r\n\r\nCommand, one of the following:\r\n 2048 ? a2 ac advent aquarium\r\n basic bf c8 cal calc callsign\r\n cat clear clock date delta diff\r\n dir echo exit factor figlet finger\r\n fnord geoip gif head help ipaddr\r\n joke liff login mac md5 more\r\n netstat newuser notes ping pong primes\r\n rain rockets roll rot13 salvo starwars\r\n sudoku tail today traceroute typespeed uptime\r\n users uumap uupath uuplot weather zork\r\n\r\nMore commands avai",
"encoding": "ascii",
"option_states": {
"environ_requested": [
{
"name": "*",
"type": "VAR"
},
{
"name": "*",
"type": "USERVAR"
}
],
"server_offered": {
"ECHO": true,
"SGA": true
},
"server_requested": {
"0x24": false,
"BINARY": true,
"NAWS": true,
"NEW_ENVIRON": true,
"TTYPE": true
}
},
"timing": {
"probe": 0.508439302444458,
"total": 1.0109121799468994
}
}
},
"sessions": [
{
"connected": "2026-02-08T07:38:25.531547+00:00",
"host": "telehack.com",
"ip": "64.13.139.230",
"port": 23
}
]
}
Connection Log
--------------
Debug-level log of the Telnet negotiation session,
showing each IAC (Interpret As Command) exchange
between client and server.
.. code-block:: text
DEBUG client.py:770 Fingerprint client: host=telehack.com port=23
INFO client_base.py:174 Connected to
DEBUG stream_writer.py:697 recv IAC WILL SGA
DEBUG stream_writer.py:713 WILL SGA unsolicited
DEBUG stream_writer.py:1869 handle_will(SGA)
DEBUG stream_writer.py:3036 pending_option[DO + SGA] = True
DEBUG stream_writer.py:938 send IAC DO SGA
DEBUG stream_writer.py:3036 remote_option[SGA] = True
DEBUG stream_writer.py:3036 pending_option[DO + SGA] = False
DEBUG stream_writer.py:697 recv IAC WILL ECHO
DEBUG stream_writer.py:713 WILL ECHO unsolicited
DEBUG stream_writer.py:1869 handle_will(ECHO)
DEBUG stream_writer.py:3036 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:938 send IAC DO ECHO
DEBUG stream_writer.py:3036 remote_option[ECHO] = True
DEBUG stream_writer.py:3036 pending_option[DO + ECHO] = False
DEBUG stream_writer.py:697 recv IAC DO TTYPE
DEBUG stream_writer.py:1739 handle_do(TTYPE)
DEBUG stream_writer.py:3036 pending_option[WILL + TTYPE] = True
DEBUG stream_writer.py:938 send IAC WILL TTYPE
DEBUG stream_writer.py:3036 pending_option[SB + TTYPE] = True
DEBUG stream_writer.py:3036 local_option[TTYPE] = True
DEBUG stream_writer.py:3036 pending_option[WILL + TTYPE] = False
DEBUG stream_writer.py:697 recv IAC DO NAWS
DEBUG stream_writer.py:1739 handle_do(NAWS)
DEBUG stream_writer.py:3036 pending_option[WILL + NAWS] = True
DEBUG stream_writer.py:938 send IAC WILL NAWS
DEBUG stream_writer.py:2306 send IAC SB NAWS (rows=25, cols=80) IAC SE
DEBUG stream_writer.py:3036 local_option[NAWS] = True
DEBUG stream_writer.py:3036 pending_option[WILL + NAWS] = False
DEBUG stream_writer.py:697 recv IAC DO b'$'
DEBUG stream_writer.py:1739 handle_do(b'$')
DEBUG stream_writer.py:1817 DO b'$' not supported.
DEBUG stream_writer.py:3036 local_option[b'$'] = False
DEBUG stream_writer.py:938 send IAC WONT b'$'
DEBUG stream_writer.py:697 recv IAC DO NEW_ENVIRON
DEBUG stream_writer.py:1739 handle_do(NEW_ENVIRON)
DEBUG stream_writer.py:3036 pending_option[WILL + NEW_ENVIRON] = True
DEBUG stream_writer.py:938 send IAC WILL NEW_ENVIRON
DEBUG stream_writer.py:3036 pending_option[SB + NEW_ENVIRON] = True
DEBUG stream_writer.py:3036 local_option[NEW_ENVIRON] = True
DEBUG stream_writer.py:3036 pending_option[WILL + NEW_ENVIRON] = False
DEBUG stream_writer.py:697 recv IAC DO BINARY
DEBUG stream_writer.py:1739 handle_do(BINARY)
DEBUG stream_writer.py:3036 pending_option[WILL + BINARY] = True
DEBUG stream_writer.py:938 send IAC WILL BINARY
DEBUG stream_writer.py:3036 local_option[BINARY] = True
DEBUG stream_writer.py:3036 pending_option[WILL + BINARY] = False
DEBUG stream_writer.py:689 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:676 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:3036 pending_option[SB + TTYPE] = False
DEBUG stream_writer.py:2203 recv TTYPE SEND: b''
DEBUG stream_writer.py:2214 send IAC SB TTYPE IS b'xterm-256color' IAC SE
DEBUG stream_writer.py:689 begin sub-negotiation SB NEW_ENVIRON
DEBUG stream_writer.py:676 sub-negotiation cmd NEW_ENVIRON SE completion byte
DEBUG stream_writer.py:3036 pending_option[SB + NEW_ENVIRON] = False
DEBUG stream_writer.py:2249 recv NEW_ENVIRON SEND (all)
DEBUG stream_writer.py:2272 env send: =''
DEBUG client_base.py:460 negotiation complete after 0.62s.
DEBUG stream_writer.py:3036 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:938 send IAC DO BINARY
DEBUG stream_writer.py:3036 pending_option[DO + STATUS] = True
DEBUG stream_writer.py:938 send IAC DO STATUS
DEBUG stream_writer.py:3036 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:938 send IAC DO CHARSET
DEBUG stream_writer.py:3036 pending_option[DO + EOR] = True
DEBUG stream_writer.py:938 send IAC DO EOR
DEBUG stream_writer.py:3036 pending_option[DO + COM_PORT_OPTION] = True
DEBUG stream_writer.py:938 send IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:3036 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:938 send IAC DO GMCP
DEBUG stream_writer.py:3036 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:938 send IAC DO MSDP
DEBUG stream_writer.py:3036 pending_option[DO + MSSP] = True
DEBUG stream_writer.py:938 send IAC DO MSSP
DEBUG stream_writer.py:3036 pending_option[DO + MSP] = True
DEBUG stream_writer.py:938 send IAC DO MSP
DEBUG stream_writer.py:3036 pending_option[DO + MXP] = True
DEBUG stream_writer.py:938 send IAC DO MXP
DEBUG stream_writer.py:3036 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:938 send IAC DO ZMP
DEBUG stream_writer.py:3036 pending_option[DO + AARDWOLF] = True
DEBUG stream_writer.py:938 send IAC DO AARDWOLF
DEBUG stream_writer.py:3036 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:938 send IAC DO ATCP
DEBUG stream_writer.py:697 recv IAC WONT STATUS
DEBUG stream_writer.py:1991 handle_wont(STATUS)
DEBUG stream_writer.py:3036 remote_option[STATUS] = False
DEBUG stream_writer.py:3036 pending_option[DO + STATUS] = False
DEBUG stream_writer.py:697 recv IAC WONT CHARSET
DEBUG stream_writer.py:1991 handle_wont(CHARSET)
DEBUG stream_writer.py:3036 remote_option[CHARSET] = False
DEBUG stream_writer.py:3036 pending_option[DO + CHARSET] = False
DEBUG stream_writer.py:697 recv IAC WONT EOR
DEBUG stream_writer.py:1991 handle_wont(EOR)
DEBUG stream_writer.py:3036 remote_option[EOR] = False
DEBUG stream_writer.py:3036 pending_option[DO + EOR] = False
DEBUG stream_writer.py:697 recv IAC WONT COM_PORT_OPTION
DEBUG stream_writer.py:1991 handle_wont(COM_PORT_OPTION)
DEBUG stream_writer.py:3036 remote_option[COM_PORT_OPTION] = False
DEBUG stream_writer.py:3036 pending_option[DO + COM_PORT_OPTION] = False
DEBUG stream_writer.py:697 recv IAC WONT GMCP
DEBUG stream_writer.py:1991 handle_wont(GMCP)
DEBUG stream_writer.py:3036 remote_option[GMCP] = False
DEBUG stream_writer.py:3036 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:697 recv IAC WONT MSDP
DEBUG stream_writer.py:1991 handle_wont(MSDP)
DEBUG stream_writer.py:3036 remote_option[MSDP] = False
DEBUG stream_writer.py:3036 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:697 recv IAC WONT MSSP
DEBUG stream_writer.py:1991 handle_wont(MSSP)
DEBUG stream_writer.py:3036 remote_option[MSSP] = False
DEBUG stream_writer.py:3036 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:697 recv IAC WONT MSP
DEBUG stream_writer.py:1991 handle_wont(MSP)
DEBUG stream_writer.py:3036 remote_option[MSP] = False
DEBUG stream_writer.py:3036 pending_option[DO + MSP] = False
DEBUG stream_writer.py:697 recv IAC WONT MXP
DEBUG stream_writer.py:1991 handle_wont(MXP)
DEBUG stream_writer.py:3036 remote_option[MXP] = False
DEBUG stream_writer.py:3036 pending_option[DO + MXP] = False
DEBUG stream_writer.py:697 recv IAC WONT ZMP
DEBUG stream_writer.py:1991 handle_wont(ZMP)
DEBUG stream_writer.py:3036 remote_option[ZMP] = False
DEBUG stream_writer.py:3036 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:697 recv IAC WONT AARDWOLF
DEBUG stream_writer.py:1991 handle_wont(AARDWOLF)
DEBUG stream_writer.py:3036 remote_option[AARDWOLF] = False
DEBUG stream_writer.py:3036 pending_option[DO + AARDWOLF] = False
DEBUG stream_writer.py:697 recv IAC WONT ATCP
DEBUG stream_writer.py:1991 handle_wont(ATCP)
DEBUG stream_writer.py:3036 remote_option[ATCP] = False
DEBUG stream_writer.py:3036 pending_option[DO + ATCP] = False
INFO fingerprinting.py:737 new server fingerprint 01ae1fbbd8c9b4da
INFO client_base.py:105 Connection closed to
*Generated by* `telnetlib3-fingerprint `_
.. code-block:: shell
telnetlib3-fingerprint --loglevel=debug telehack.com 23