139.59.222.14:23
Connection Banner:
Server URLs
- 139.59.222.14:23
- Website: 1984.ws
Server Location: 🇸🇬 Singapore (GeoIP)
BBS Software
Detected: WWIV
Encoding
Effective encoding: cp437
Scanner detected: cp437
Telnet Fingerprint
This fingerprint is shared by 29 other servers.
Options offered by server: ECHO, SGA
The complete JSON record collected during the scan, including Telnet negotiation results and banner data.
Show JSON
{
"server-probe": {
"fingerprint": "4305c7e02be02e5d",
"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": [],
"scan-type": "quick"
},
"session_data": {
"banner_after_return": "\u001b[0;37;40m\r\r\n\r\r\n\u001b[0;31;40;1mUnknown user.\r\u001b[0;37;40m\r\n\r\r\nEnter number or name or 'NEW'\r\r\nNN: \u001b[s\u001b[0;37;44;1m \u001b[u\u001b[s\u001b[u\u001b[s\u001b[u\u001b[s",
"banner_before_return": "Client Address: 1984.ws (64.227.40.173)\r\r\n\r\r\n\r\r\nWWIV 5.9.0development\r\r\nCopyright (c) 1998-2023, WWIV Software Services.\r\r\nAll Rights Reserved.\r\r\n\u001b[s\u001b[999;999H\u001b[6n\u001b[u\u001b[6n\r\r\n\u001b(U\u001b[40m\u001b[2J\u001b[3;22H\u001b[0;1;34m.\u001b[4;72H.\u001b[5;4H\u00b7\u001b[11;C.\r\r\n\u001b[48C\u00b7\u001b[6;54H*\u001b[7;45H\u001b[A\r\r\n\u001b[44C\u001b[0;5;36m.\u001b[8;11H\u001b[0;1;34m\u00b7\u001b[11;21H\u001b[0;34m \u001b[D[1m.\u001b[13;10H\u001b[A\r\r\n\u001b[9C\u001b[0;31m\u0398\u001b[50C\u001b[5;36m.\u001b[14;55H\u001b[0;1;34m.\u001b[15;62H\u00b7\u001b[13C\u001b[0;35m\u2584\u2593\u2593\u2593\u001b[A\r\r\n\u001b[16;67H\u001b[1;34m\u00b7\u001b[6C\u001b[0;35m\u2584\u2593\u2593\u2593\u2593\u2593\u001b[17;5H\u001b[1;34m\u00b7\u001b[66C\u001b[0;35m\u2584\u2588\u2593\u2593\u2592\u2592\u2591\u2591\u001b[A\r\r\n\u001b[18H\u001b[1;34m\u00b7\u001b[12C.\u001b[57C\u001b[0;35m\u2588\u2588\u2593\u2592\u2592\u2591\u2591\u2591\u001b[19;35H\u001b[1;34m\u00b0\u001b[36C\u001b[0;35m\u2588\u2588\u2593\u2593\u2592\u001b[A\r\r\n\u001b[76C\u2592\u2591\u2591\u001b[20;55H\u001b[1;34m\u00b7\u001b[17C\u001b[0;35m\u2580\u2588\u2593\u2593\u2593\u2593\u2593\u001b[21;11H\u001b[1;34m\u00b7\u001b[63C\u001b[0;35m\u2580\u001b[A\r\r\n\u001b[75C\u2588\u2593\u2588\u2593\u001b[22;20H\u001b[31m\u00b0\u001b[20D\u001b[2;5H\u001b[1;36mThis\u001b[Cdata\u001b[Ctransmission\u001b[Cis\u001b[A\r\r\n\u001b[29C\u001b[Cbeing\u001b[Cbeamed\u001b[Cto\u001b[CEarth\u001b[Cvia\u001b[Ca\u001b[Cvery\u001b[Ctight\u001b[3;5Hmicrow\u001b[A\r\r\n\u001b[10Cave\u001b[Clink\u001b[Cfrom\u001b[CWestar\u001b[CIV\u001b[CTransponder\u001b[C7x.\u001b[CThe\u001b[Csource\u001b[A\r\r\n\u001b[60C\u001b[Cof\u001b[Cthe\u001b[4;5Htransmission\u001b[Cis\u001b[Cfrom\u001b[COutpost\u001b[CNo.2,\u001b[Clocat\u001b[A\r\r\n\u001b[44Ced\u001b[Cat\u001b[Cthe\u001b[CL5\u001b[Cpoint\u001b[Cjust\u001b[5;5Hinside\u001b[Cthe\u001b[Corbit\u001b[Cof\u001b[C\u001b[A\r\r\n\u001b[24Cthe\u001b[CMoon.\u001b[8;5H\u001b[5;34mYou\u001b[Care\u001b[Cconnected\u001b[Cto:\u001b[10;9H\u001b[0;1m\u00b7\u001b[A\r\r\n\u001b[9C\u001b[13C\u001b[0m\u250c\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\u2556\u001b[11;23H\u2502\u001b[9C\u001b[1;33m/\\l\u001b[A\r\r\n\u001b[35Cien's\u001b[C/\\bode! \u001b[8C\u001b[0m\u2551\u2593\u001b[6C*\u001b[12;23H\u2502\u001b[5C300/1200/2400\u001b[Cbps\u001b[2C\u001b[A\r\r\n\u001b[47C8/N/1\u001b[5C\u2551\u2592\u001b[13;5H.\u001b[17C\u2502\u001b[3CPhilippine\u001b[Cphone\u001b[Cno.\u001b[C58-73-55\u001b[A\r\r\n\u001b[55C\u001b[2C\u2551\u2591\u001b[14;12H\u00b7\u001b[10C\u2502\u001b[CInt'l\u001b[CBBS\u001b[Cphone\u001b[Cno.\u001b[C63-2-58-7355\u001b[C\u001b[A\r\r\n\u001b[57C\u2551\u2593\u001b[15;23H\u2502\u001b[6CNow\u001b[Copen\u001b[C24\u001b[CHours\u001b[CDaily\u001b[5C\u2551\u2592\u001b[16;23H\u2502\u001b[8C\u001b[A\r\r\n\u001b[31C\u001b[1;36mSysOp:\u001b[C\u001b[34mEric\u001b[CPareja\u001b[8C\u001b[0m\u2551\u2591\u001b[17;23H\u2502\u001b[5C\u001b[1;36mCo-\u001b[A\r\r\n\u001b[31CSysOp:\u001b[C\u001b[34m...............\u001b[4C\u001b[0m\u2551\u2593\u001b[18;3H\u00b7\u001b[19C\u2502\u001b[2CNewComer\u001b[A\r\r\n\u001b[33C\u001b[CTime\u001b[CLimit:\u001b[C30\u001b[Cminutes\u001b[C\u2551\u2592\u001b[19;14H\u00b7\u001b[8C\u2558\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u001b[A\r\r\n\u001b[40C\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255d\u2591\u001b[20;25H\u2591\u2592\u2593\u2591\u2592\u2593\u2591\u2592\u2593\u2591\u2592\u2593\u2591\u2592\u2593\u2591\u2592\u2593\u2591\u2592\u2593\u2591\u2592\u2593\u2591\u2592\u2593\u2591\u2592\u2593\u2591\u2592\u2593\u2591\u2592\u001b[5C.\u001b[A\r\r\n\u001b[21;9H\u00b7\u001b[43C\u001b[34m\u00b0\u001b[53D\u001b[0m\u001b[255D\r\r\n\r\r\nEnter number or name or 'NEW'\r\r\nNN: \u001b[s\u001b[0;37;44;1m \u001b[u\u001b[s\u001b[u\u001b[s",
"dsr_replies": 2,
"dsr_requests": 2,
"encoding": "cp437",
"option_states": {
"server_offered": {
"ECHO": true,
"SGA": true
},
"server_requested": {
"ECHO": false,
"LINEMODE": false
}
},
"scan_type": "quick",
"timing": {
"probe": 0.5031850337982178,
"total": 11.36203670501709
}
}
},
"sessions": [
{
"connected": "2026-03-07T04:22:09.588108+00:00",
"host": "139.59.222.14",
"ip": "139.59.222.14",
"port": 23
}
]
}
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 139.59.222.14 23
Show Logfile
DEBUG client.py:1193 Fingerprint client: host=139.59.222.14 port=23
INFO client_base.py:186 Connected to <Peer 139.59.222.14 23>
DEBUG stream_writer.py:3330 pending_option[WILL + MXP] = True
DEBUG stream_writer.py:1019 send IAC WILL MXP
DEBUG stream_writer.py:3330 pending_option[WILL + ATCP] = True
DEBUG stream_writer.py:1019 send IAC WILL ATCP
DEBUG stream_writer.py:3330 pending_option[WILL + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1019 send IAC WILL MCCP3_COMPRESS
DEBUG stream_writer.py:3330 pending_option[WILL + GMCP] = True
DEBUG stream_writer.py:1019 send IAC WILL GMCP
DEBUG stream_writer.py:3330 pending_option[WILL + AARDWOLF] = True
DEBUG stream_writer.py:1019 send IAC WILL AARDWOLF
DEBUG stream_writer.py:3330 pending_option[WILL + MSP] = True
DEBUG stream_writer.py:1019 send IAC WILL MSP
DEBUG stream_writer.py:3330 pending_option[WILL + MSDP] = True
DEBUG stream_writer.py:1019 send IAC WILL MSDP
DEBUG stream_writer.py:3330 pending_option[WILL + MSSP] = True
DEBUG stream_writer.py:1019 send IAC WILL MSSP
DEBUG stream_writer.py:3330 pending_option[WILL + ZMP] = True
DEBUG stream_writer.py:1019 send IAC WILL ZMP
DEBUG stream_writer.py:3330 pending_option[WILL + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1019 send IAC WILL MCCP2_COMPRESS
DEBUG stream_writer.py:3330 pending_option[DO + MXP] = True
DEBUG stream_writer.py:1019 send IAC DO MXP
DEBUG stream_writer.py:3330 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:1019 send IAC DO ATCP
DEBUG stream_writer.py:3330 pending_option[DO + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1019 send IAC DO MCCP3_COMPRESS
DEBUG stream_writer.py:3330 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:1019 send IAC DO GMCP
DEBUG stream_writer.py:3330 pending_option[DO + AARDWOLF] = True
DEBUG stream_writer.py:1019 send IAC DO AARDWOLF
DEBUG stream_writer.py:3330 pending_option[DO + MSP] = True
DEBUG stream_writer.py:1019 send IAC DO MSP
DEBUG stream_writer.py:3330 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:1019 send IAC DO MSDP
DEBUG stream_writer.py:3330 pending_option[DO + MSSP] = True
DEBUG stream_writer.py:1019 send IAC DO MSSP
DEBUG stream_writer.py:3330 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:1019 send IAC DO ZMP
DEBUG stream_writer.py:3330 pending_option[DO + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1019 send IAC DO MCCP2_COMPRESS
DEBUG stream_writer.py:768 recv IAC DONT ECHO
DEBUG stream_writer.py:1959 handle_dont(ECHO)
DEBUG stream_writer.py:3330 pending_option[WILL + ECHO] = False
DEBUG stream_writer.py:3330 local_option[ECHO] = False
DEBUG stream_writer.py:768 recv IAC WILL ECHO
DEBUG stream_writer.py:784 WILL ECHO unsolicited
DEBUG stream_writer.py:1994 handle_will(ECHO)
DEBUG stream_writer.py:3330 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:1019 send IAC DO ECHO
DEBUG stream_writer.py:3330 remote_option[ECHO] = True
DEBUG stream_writer.py:3330 pending_option[DO + ECHO] = False
DEBUG stream_writer.py:768 recv IAC WILL SGA
DEBUG stream_writer.py:784 WILL SGA unsolicited
DEBUG stream_writer.py:1994 handle_will(SGA)
DEBUG stream_writer.py:3330 pending_option[DO + SGA] = True
DEBUG stream_writer.py:1019 send IAC DO SGA
DEBUG stream_writer.py:3330 remote_option[SGA] = True
DEBUG stream_writer.py:3330 pending_option[DO + SGA] = False
DEBUG stream_writer.py:768 recv IAC DONT LINEMODE
DEBUG stream_writer.py:1959 handle_dont(LINEMODE)
DEBUG stream_writer.py:3330 pending_option[WILL + LINEMODE] = False
DEBUG stream_writer.py:3330 local_option[LINEMODE] = False
DEBUG stream_writer.py:768 recv IAC WILL SGA
DEBUG stream_writer.py:784 WILL SGA unsolicited
DEBUG stream_writer.py:1994 handle_will(SGA)
DEBUG client_base.py:499 negotiation failed after 4.00s.
DEBUG client_base.py:505 failed-reply: 'WILL MXP, WILL ATCP, WILL MCCP3_COMPRESS, WILL GMCP, WILL AARDWOLF, WILL MSP, WILL MSDP,
WILL MSSP, WILL ZMP, WILL MCCP2_COMPRESS, DO MXP, DO ATCP, DO MCCP3_COMPRESS, DO GMCP, DO AARDWOLF, DO MSP, DO MSDP, DO MSSP,
DO ZMP, DO MCCP2_COMPRESS'
DEBUG stream_writer.py:3330 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:1019 send IAC DO BINARY
DEBUG stream_writer.py:3330 pending_option[DO + STATUS] = True
DEBUG stream_writer.py:1019 send IAC DO STATUS
DEBUG stream_writer.py:3330 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:1019 send IAC DO CHARSET
DEBUG stream_writer.py:3330 pending_option[DO + EOR] = True
DEBUG stream_writer.py:1019 send IAC DO EOR
DEBUG stream_writer.py:3330 pending_option[DO + COM_PORT_OPTION] = True
DEBUG stream_writer.py:1019 send IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:993 skip DO MCCP2_COMPRESS; pending_option = True
DEBUG stream_writer.py:993 skip DO MCCP3_COMPRESS; pending_option = True
DEBUG stream_writer.py:993 skip DO GMCP; pending_option = True
DEBUG stream_writer.py:993 skip DO MSDP; pending_option = True
DEBUG stream_writer.py:993 skip DO MSSP; pending_option = True
DEBUG stream_writer.py:993 skip DO MSP; pending_option = True
DEBUG stream_writer.py:993 skip DO MXP; pending_option = True
DEBUG stream_writer.py:993 skip DO ZMP; pending_option = True
DEBUG stream_writer.py:993 skip DO AARDWOLF; pending_option = True
DEBUG stream_writer.py:993 skip DO ATCP; pending_option = True
INFO fingerprinting.py:755 connection for server fingerprint 4305c7e02be02e5d
INFO client_base.py:118 Connection closed to <Peer 139.59.222.14 23>