eternalforest.net
Connection Banner:
Server URLs
- Telnet: telnet://eternalforest.net:9000
Server Info
Server Location: 🇺🇸 United States (GeoIP)
Telnet Fingerprint
This fingerprint is shared by 111 other servers.
The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata.
Show JSON
{
"server-probe": {
"fingerprint": "c2dd7d4e76383b41",
"fingerprint-data": {
"offered-options": [],
"probed-protocol": "server",
"refused-options": [],
"requested-options": [],
"scan-type": "quick"
},
"session_data": {
"banner_after_return": "\n\rNo character was found matching that name. If you had a character with\n\rthat name, then the file has been deleted. This is done automatically\n\rfor any character idle for more than one year. To create a new character\n\ryou must first create an account which is done through option 1 of the\n\rmain menu. After having done that and received email containing the\n\rconfirmation code go to option 2 and being the process of creating a\n\rcharacter.\n\r\n\r[ Press return for main menu ]\n\r\n\r _____ _ +----------------------------------------+\n\r(_ _) |__ ___ | Thanks: Michael Seifert, Hans Henrik |\n\r | | | _ \\ / _ \\ | Strfeldt, Tom Madsen, and Katja Nyboe, |\n\r | | | | | | __/ | Alan Button and all former immortals |\n\r |_| |_| |_|\\___) | of the Forest's Edge for many ideas |\n\r _____ _ _ | and starting us down this twisting |\n\r| ___) |_ ___ ___ ____ ___ | | | road of imagination. |\n\r| __)| _)/ _ \\| _)| \\(__ \\| | +----------------------------------------+\n\r| |___| |_( __/| | | || |/ __ | |\n\r|_____)\\__)\\___)|_| |_||_|\\____)_| -={ 1 }=- Start a New Character\n\r _____ _ -={ 2 }=- Account Menu\n\r| ___)__ ___ ___ ___| |_ -={ 3 }=- See Feature List\n\r| |_ / _ \\| _)/ _ \\/ __) __) -={ 4 }=- Read Policies\n\r| _) (_) | | ( __/\\__ \\ |_ -={ 5 }=- Help with a Connection Problem\n\r|_| \\___/|_| \\___)(___/\\__)-={ Or Enter the Name of an Existing Character }=-\n\r\n\r Choice: \n\r>> No choice made - closing link. <<\n\r",
"banner_before_return": "\n\r0 players on.\n\rSystem started 1 hour and 57 minutes ago.\n\rGetting site info ...\n\r\n\r _____ _ +----------------------------------------+\n\r(_ _) |__ ___ | Thanks: Michael Seifert, Hans Henrik |\n\r | | | _ \\ / _ \\ | Strfeldt, Tom Madsen, and Katja Nyboe, |\n\r | | | | | | __/ | Alan Button and all former immortals |\n\r |_| |_| |_|\\___) | of the Forest's Edge for many ideas |\n\r _____ _ _ | and starting us down this twisting |\n\r| ___) |_ ___ ___ ____ ___ | | | road of imagination. |\n\r| __)| _)/ _ \\| _)| \\(__ \\| | +----------------------------------------+\n\r| |___| |_( __/| | | || |/ __ | |\n\r|_____)\\__)\\___)|_| |_||_|\\____)_| -={ 1 }=- Start a New Character\n\r _____ _ -={ 2 }=- Account Menu\n\r| ___)__ ___ ___ ___| |_ -={ 3 }=- See Feature List\n\r| |_ / _ \\| _)/ _ \\/ __) __) -={ 4 }=- Read Policies\n\r| _) (_) | | ( __/\\__ \\ |_ -={ 5 }=- Help with a Connection Problem\n\r|_| \\___/|_| \\___)(___/\\__)-={ Or Enter the Name of an Existing Character }=-\n\r\n\r Choice: ",
"dsr_replies": 0,
"dsr_requests": 0,
"encoding": "ascii",
"option_states": {
"server_offered": {},
"server_requested": {}
},
"scan_type": "quick",
"timing": {
"probe": 0.0,
"total": 15.82619309425354
}
}
},
"sessions": [
{
"connected": "2026-03-07T04:19:13.923512+00:00",
"host": "eternalforest.net",
"ip": "69.169.109.43",
"port": 9000
},
{
"connected": "2026-04-05T18:45:56.267111+00:00",
"host": "eternalforest.net",
"ip": "69.169.109.43",
"port": 9000
},
{
"connected": "2026-04-07T06:01:54.561964+00:00",
"host": "eternalforest.net",
"ip": "69.169.109.43",
"port": 9000
}
]
}
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 eternalforest.net 9000
Show Logfile
DEBUG client.py:1200 Fingerprint client: host=eternalforest.net port=9000
INFO client_base.py:190 Connected to <Peer 69.169.109.43 9000>
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 + AARDWOLF] = True
DEBUG stream_writer.py:1024 send IAC WILL AARDWOLF
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 + 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 + GMCP] = True
DEBUG stream_writer.py:1024 send IAC WILL GMCP
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 + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC WILL MCCP3_COMPRESS
DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:1024 send IAC DO ZMP
DEBUG stream_writer.py:3384 pending_option[DO + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC DO MCCP2_COMPRESS
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 + 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 + 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 + GMCP] = True
DEBUG stream_writer.py:1024 send IAC DO GMCP
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 + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC DO MCCP3_COMPRESS
DEBUG client_base.py:534 negotiation failed after 4.00s.
DEBUG client_base.py:540 failed-reply: 'WILL ZMP, WILL MCCP2_COMPRESS, WILL AARDWOLF, WILL ATCP, WILL MSSP, WILL MXP, WILL MSDP,
WILL GMCP, WILL MSP, WILL MCCP3_COMPRESS, DO ZMP, DO MCCP2_COMPRESS, DO AARDWOLF, DO ATCP, DO MSSP, DO MXP, DO MSDP, DO GMCP,
DO MSP, DO MCCP3_COMPRESS'
DEBUG client_base.py:93 EOF from server, closing.
INFO client_base.py:122 Connection closed to <Peer 69.169.109.43 9000>
DEBUG fingerprinting.py:849 connection for server fingerprint c2dd7d4e76383b41