125.228.186.144
風雲再起 (125.228.186.144:8000)
Connection Banner:
Server URLs
- Telnet: telnet://125.228.186.144:8000
- Website: http://windcloud.qov.tw]
Server Info
Players online: 86 [1]
Uptime: 0 days
Server Location: 🇹🇼 Taiwan (GeoIP)
Encoding: big5
This server uses a legacy encoding:
telnetlib3-client --encoding big5 --force-binary 125.228.186.144 8000
Protocol Support
MUD-specific protocols detected via MSSP flags or Telnet negotiation.
MSSP: Yes (MSSP)
GMCP: Negotiated
MSDP: No
MCCP: No
MCCP2: No
MXP: Negotiated
MSP: No
MCP: No
ZMP: Negotiated
Telnet Fingerprint
This fingerprint is shared by 16 other servers.
Options offered by server: GMCP, MSSP, ZMP
Options requested from client: MXP, NAWS, NEW_ENVIRON, TTYPE
The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata.
Show JSON
{
"server-probe": {
"fingerprint": "909f753421a0f55b",
"fingerprint-data": {
"offered-options": [
"GMCP",
"MSSP",
"ZMP"
],
"probed-protocol": "server",
"refused-options": [
"AARDWOLF",
"ATCP",
"BINARY",
"CHARSET",
"COM_PORT",
"ECHO",
"EOR",
"MSDP",
"MSP",
"MXP",
"SGA",
"STATUS"
],
"requested-options": [
"MXP",
"NAWS",
"NEW_ENVIRON",
"TTYPE"
],
"scan-type": "quick"
},
"session_data": {
"banner_after_return": "\r\n\u5c0d\u4e0d\u8d77\uff0c\u60a8\u7684\u82f1\u6587\u4ee3\u865f\u5fc5\u9808\u662f 3 \u5230 10 \u500b\u82f1\u6587\u5b57\u6bcd\u3002\r\n\r\n\u8acb\u8f38\u5165\u60a8\u7684\u82f1\u6587\u4ee3\u865f\uff1a",
"banner_before_return": " ===============================================================================\r\n \u25ce\u256d\udcf9\u714d\u4e10\u4e10\u4e10\u4e10\u7247\u714d\udca3 \u2550\u2550\u2550\u2550\udcf9\u714d\u4e10\u4e10\u4e10\udca4 \u2550\u2550\u2550\u2550\udcf9\u714d\u4e10\u4e10\u4e10\udca4 \udcf9\udcf8 \u256d\u2550\u2550\u2550\u256e \u25ce\r\n \u25ce \udcf9\u9f70~\u2550\udcf9\u714d\u4e10\udca3\udcf9\udcf8 \u256d\u2550\u2550\u2550\udcf9\u5c63\u4e10\u4e10\u4e10\udca1 \u256d\u2550\u2550\udcf9\u5c63\u4e10\u4e10\udca1 \u2550\udcf9\u5c63\udca4 \udcf9\udcf8 \udcf9\udcf8 \u25ce\r\n \u25ce \udcf9\u9f70~\u2550\udcf9\u5c63\u4e10\u2197\udcf8 \udcf9\u9f70\u2570\u4e10\u2197\u9f70~\u2550\u256f\udcf9\udcf8 \udcf9\u9049\u4e10\u7247\u5c63\u4e10\u7247\udce2 \u2550\udcf9\u5c63\udca4 \udcf9\udcf8 \udcf9\udcf8 \u25ce\r\n \u25ce \udcf9\u77d9\udcf8 \udcf9\udcf8 \udcf9\u77d9\udcf8 \u2550\u2550\u2550\u2550\u2550\u2550 \u2550\udcf9\u5c63\u4e10\u7247\u929a\u4e10\u7247\u5c63\udca4 \udcf9\u77d9\u9049\udca4 \udcf9\u9049\u4e10\u4e10\u4e10\udca3 \u25ce\r\n \u25ce \udcf9\u9f70\u2570\u7247\u5c63\u4e10\udca3\udcf9\udcf8 \u2550\udcf9\u714d\u4e10\u4e10\u4e10\u4e10\u4e10\udca4 \udcf9\udcf8 \udcf9\udcf8 \udcf9\u50d3\u929a\udca1 \u2570\u2550\u2550\u2550\u256f \u25ce\r\n \u25ce\u2570\u256f\u2550\u2550\udcf9\u929a\u7247\u6f73\u2570\udca3 \u2570\u2550\u2550\u2550\u2550\udcf9\udce2 \u2570 \u256f \u256f \u2570\u2550\u2550\u2550\u2550\u2550\u256f\u25ce\r\n ===============================================================================\r\n\r\n\r\n \u3010\u672c\u7ad9\u521d\u6b21\u958b\u7ad9\u65bc \u4e8c\u96f6\u96f6\u4e00\u5e74\u56db\u6708\u5341\u4e8c\u65e5\u3011\r\n \u3010\u672c\u7ad9\u4fee\u6539\u81eaFS Lib\uff0c\u539f\u59cb\u67b6\u69cb\u70baES2 Lib\u3011\r\n \u3010\u611f\u8b1dAnnihilator\u5c0d\u53f0\u7063\uff2d\uff35\uff24\u754c\u7684\u8ca2\u737b\u3011\r\n\r\n\r\n \u25a1 \u672c\u7ad9\u7684\uff37\uff25\uff22\u904a\u6232\u5927\u5168(\u7531 Shadow \u63d0\u4f9b)\uff1a[http://windcloud.qov.tw]\r\n\r\n\r\n\r\n\u001b[1;36m\u98a8\u96f2\u518d\u8d77\u001b[1;37m\u76ee\u524d\u6240\u5141\u8a31\u9023\u7dda\u7684\u7b49\u7d1a\u70ba\uff1a\u001b[1;36m\u300e\u001b[1;32m (player)\u001b[1;36m \u300f\u001b[1;37m\u3002\r\n\u001b[m\u001b[1;36m\u98a8\u96f2\u518d\u8d77\u001b[1;37m\u76ee\u524d\u5df2\u7d93\u9023\u7e8c\u57f7\u884c\u4e86\u300c\u001b[1;33m\u4e00\u5c0f\u6642\u4e5d\u5206\u4e94\u5341\u4e03\u79d2\u9418\u001b[1;37m\u300d\u3002\r\n\u001b[m\u001b[1;36m\u98a8\u96f2\u518d\u8d77\u001b[1;37m\u76ee\u524d\u5171\u6709 \u001b[1;36m85\u001b[1;37m \u4f4d\u73a9\u5bb6\u5728\u7dda\u4e0a\uff0c\u4e26\u4e14\u5c1a\u6709 \u001b[1;36m1\u001b[1;37m \u4f4d\u4f7f\u7528\u8005\u6b63\u5617\u8a66\u9023\u7dda\u4e2d\u3002\r\n\u001b[1;36m\u98a8\u96f2\u518d\u8d77\u001b[1;37m\u76ee\u524d\u70ba\u6b62\u6700\u9ad8\u7684\u7dda\u4e0a\u4eba\u6578\u70ba \u001b[1;33m185\u001b[1;37m \u4f4d\u73a9\u5bb6\uff0c\u4eca\u65e5\u5171\u6709 \u001b[1;33m70\u001b[1;37m \u4f4d\u73a9\u5bb6\u4e0a\u7dda\u904a\u6232\u3002\r\n\u001b[1;37m\u4e2d\u539f\u6a19\u6e96\u6642\u9593\u70ba\u001b[1;32m[ Sun Feb 15 01:09:58 ]\u001b[1;37m\uff0c\u60a8\u7684IP\u70ba\u001b[1;36m[ 64.227.40.173 ]\u001b[1;37m\uff0c\u6b61\u8fce\u60a8\u7684\u5230\u4f86\uff01\r\n\u001b[m\u8acb\u8f38\u5165\u60a8\u7684\u82f1\u6587\u4ee3\u865f(\u5982\u8981\u53c3\u89c0\u8acb\u8f38\u5165[\u001b[1;35mguest\u001b[m])\uff1a",
"dsr_replies": 0,
"dsr_requests": 0,
"encoding": "big5",
"mssp": {
"NAME": "\u98a8\u96f2\u518d\u8d77",
"PLAYERS": "86",
"UPTIME": "1771084801"
},
"option_states": {
"environ_requested": [
{
"name": "*",
"type": "VAR"
},
{
"name": "*",
"type": "USERVAR"
}
],
"server_offered": {
"GMCP": true,
"MSSP": true,
"ZMP": true
},
"server_requested": {
"MXP": true,
"NAWS": true,
"NEW_ENVIRON": true,
"TTYPE": true
}
},
"scan_type": "quick",
"timing": {
"probe": 0.5428950786590576,
"total": 5.31494140625
}
}
},
"sessions": [
{
"connected": "2026-02-14T17:10:03.485051+00:00",
"host": "125.228.186.144",
"ip": "125.228.186.144",
"port": 8000
}
]
}
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 125.228.186.144 8000
Show Logfile
DEBUG client.py:965 Fingerprint client: host=125.228.186.144 port=8000
INFO client_base.py:175 Connected to <Peer 125.228.186.144 8000>
DEBUG client_base.py:492 negotiation complete after 0.00s.
DEBUG stream_writer.py:707 recv IAC DO TTYPE
DEBUG stream_writer.py:1770 handle_do(TTYPE)
DEBUG stream_writer.py:3174 pending_option[WILL + TTYPE] = True
DEBUG stream_writer.py:950 send IAC WILL TTYPE
DEBUG stream_writer.py:3174 pending_option[SB + TTYPE] = True
DEBUG stream_writer.py:3174 local_option[TTYPE] = True
DEBUG stream_writer.py:3174 pending_option[WILL + TTYPE] = False
DEBUG stream_writer.py:707 recv IAC DO NAWS
DEBUG stream_writer.py:1770 handle_do(NAWS)
DEBUG stream_writer.py:3174 pending_option[WILL + NAWS] = True
DEBUG stream_writer.py:950 send IAC WILL NAWS
DEBUG stream_writer.py:2346 send IAC SB NAWS (rows=25, cols=80) IAC SE
DEBUG stream_writer.py:3174 local_option[NAWS] = True
DEBUG stream_writer.py:3174 pending_option[WILL + NAWS] = False
DEBUG stream_writer.py:707 recv IAC DO MXP
DEBUG stream_writer.py:1770 handle_do(MXP)
DEBUG stream_writer.py:3174 pending_option[WILL + MXP] = True
DEBUG stream_writer.py:950 send IAC WILL MXP
DEBUG stream_writer.py:3174 pending_option[SB + MXP] = True
DEBUG stream_writer.py:3174 local_option[MXP] = True
DEBUG stream_writer.py:3174 pending_option[WILL + MXP] = False
DEBUG stream_writer.py:707 recv IAC WILL MSSP
DEBUG stream_writer.py:723 WILL MSSP unsolicited
DEBUG stream_writer.py:1900 handle_will(MSSP)
DEBUG stream_writer.py:3174 pending_option[DO + MSSP] = True
DEBUG stream_writer.py:950 send IAC DO MSSP
DEBUG stream_writer.py:3174 remote_option[MSSP] = True
DEBUG stream_writer.py:3174 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:707 recv IAC WILL ZMP
DEBUG stream_writer.py:723 WILL ZMP unsolicited
DEBUG stream_writer.py:1900 handle_will(ZMP)
DEBUG stream_writer.py:3174 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:950 send IAC DO ZMP
DEBUG stream_writer.py:3174 remote_option[ZMP] = True
DEBUG stream_writer.py:3174 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:707 recv IAC DO NEW_ENVIRON
DEBUG stream_writer.py:1770 handle_do(NEW_ENVIRON)
DEBUG stream_writer.py:3174 pending_option[WILL + NEW_ENVIRON] = True
DEBUG stream_writer.py:950 send IAC WILL NEW_ENVIRON
DEBUG stream_writer.py:3174 pending_option[SB + NEW_ENVIRON] = True
DEBUG stream_writer.py:3174 local_option[NEW_ENVIRON] = True
DEBUG stream_writer.py:3174 pending_option[WILL + NEW_ENVIRON] = False
DEBUG stream_writer.py:707 recv IAC WILL GMCP
DEBUG stream_writer.py:723 WILL GMCP unsolicited
DEBUG stream_writer.py:1900 handle_will(GMCP)
DEBUG stream_writer.py:3174 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:950 send IAC DO GMCP
DEBUG stream_writer.py:3174 remote_option[GMCP] = True
DEBUG stream_writer.py:3174 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:699 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:686 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:3174 pending_option[SB + TTYPE] = False
DEBUG stream_writer.py:2241 recv TTYPE SEND: b''
DEBUG stream_writer.py:2254 send IAC SB TTYPE IS b'xterm-256color' IAC SE
DEBUG stream_writer.py:699 begin sub-negotiation SB MSSP
DEBUG stream_writer.py:686 sub-negotiation cmd MSSP SE completion byte
DEBUG stream_writer.py:2065 [SB + MSSP] unsolicited
DEBUG stream_writer.py:1673 MSSP: {'NAME': '風雲再起', 'PLAYERS': '86', 'UPTIME': '1771084801'}
DEBUG stream_writer.py:699 begin sub-negotiation SB NEW_ENVIRON
DEBUG stream_writer.py:686 sub-negotiation cmd NEW_ENVIRON SE completion byte
DEBUG stream_writer.py:3174 pending_option[SB + NEW_ENVIRON] = False
DEBUG stream_writer.py:2289 recv NEW_ENVIRON SEND (all)
DEBUG stream_writer.py:2312 env send: LANG='C', TERM='xterm-256color', LINES=25, COLUMNS=80, COLORTERM=''
DEBUG stream_writer.py:1323 IAC GA: Go-Ahead (unhandled).
DEBUG stream_writer.py:3174 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:950 send IAC DO BINARY
DEBUG stream_writer.py:3174 pending_option[DO + SGA] = True
DEBUG stream_writer.py:950 send IAC DO SGA
DEBUG stream_writer.py:3174 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:950 send IAC DO ECHO
DEBUG stream_writer.py:3174 pending_option[DO + STATUS] = True
DEBUG stream_writer.py:950 send IAC DO STATUS
DEBUG stream_writer.py:3174 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:950 send IAC DO CHARSET
DEBUG stream_writer.py:3174 pending_option[DO + EOR] = True
DEBUG stream_writer.py:950 send IAC DO EOR
DEBUG stream_writer.py:3174 pending_option[DO + COM_PORT_OPTION] = True
DEBUG stream_writer.py:950 send IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:3174 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:950 send IAC DO MSDP
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = True
DEBUG stream_writer.py:950 send IAC DO MSP
DEBUG stream_writer.py:3174 pending_option[DO + MXP] = True
DEBUG stream_writer.py:950 send IAC DO MXP
DEBUG stream_writer.py:3174 pending_option[DO + AARDWOLF] = True
DEBUG stream_writer.py:950 send IAC DO AARDWOLF
DEBUG stream_writer.py:3174 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:950 send IAC DO ATCP
DEBUG stream_writer.py:707 recv IAC WONT BINARY
DEBUG stream_writer.py:2025 handle_wont(BINARY)
DEBUG stream_writer.py:3174 remote_option[BINARY] = False
DEBUG stream_writer.py:3174 pending_option[DO + BINARY] = False
DEBUG stream_writer.py:707 recv IAC WONT SGA
DEBUG stream_writer.py:2025 handle_wont(SGA)
DEBUG stream_writer.py:3174 remote_option[SGA] = False
DEBUG stream_writer.py:3174 pending_option[DO + SGA] = False
DEBUG stream_writer.py:707 recv IAC WONT STATUS
DEBUG stream_writer.py:2025 handle_wont(STATUS)
DEBUG stream_writer.py:3174 remote_option[STATUS] = False
DEBUG stream_writer.py:3174 pending_option[DO + STATUS] = False
DEBUG stream_writer.py:707 recv IAC WONT CHARSET
DEBUG stream_writer.py:2025 handle_wont(CHARSET)
DEBUG stream_writer.py:3174 remote_option[CHARSET] = False
DEBUG stream_writer.py:3174 pending_option[DO + CHARSET] = False
DEBUG stream_writer.py:707 recv IAC WONT EOR
DEBUG stream_writer.py:2025 handle_wont(EOR)
DEBUG stream_writer.py:3174 remote_option[EOR] = False
DEBUG stream_writer.py:3174 pending_option[DO + EOR] = False
DEBUG stream_writer.py:707 recv IAC WONT COM_PORT_OPTION
DEBUG stream_writer.py:2025 handle_wont(COM_PORT_OPTION)
DEBUG stream_writer.py:3174 remote_option[COM_PORT_OPTION] = False
DEBUG stream_writer.py:3174 pending_option[DO + COM_PORT_OPTION] = False
DEBUG stream_writer.py:707 recv IAC WONT MSDP
DEBUG stream_writer.py:2025 handle_wont(MSDP)
DEBUG stream_writer.py:3174 remote_option[MSDP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:707 recv IAC WONT MSP
DEBUG stream_writer.py:2025 handle_wont(MSP)
DEBUG stream_writer.py:3174 remote_option[MSP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = False
DEBUG stream_writer.py:707 recv IAC WONT MXP
DEBUG stream_writer.py:2025 handle_wont(MXP)
DEBUG stream_writer.py:3174 remote_option[MXP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MXP] = False
DEBUG stream_writer.py:707 recv IAC WONT AARDWOLF
DEBUG stream_writer.py:2025 handle_wont(AARDWOLF)
DEBUG stream_writer.py:3174 remote_option[AARDWOLF] = False
DEBUG stream_writer.py:3174 pending_option[DO + AARDWOLF] = False
INFO fingerprinting.py:746 connection for server fingerprint 909f753421a0f55b
INFO client_base.py:106 Connection closed to <Peer 125.228.186.144 8000>
小貓的世界 (catworld.muds.me:5555)
Connection Banner:
Server URLs
- Telnet: telnet://catworld.muds.me:5555
- Website: https://catworld.muds.tw/forum/
Server Info
Players online: 139 [2]
Uptime: 3 days
Server Location: 🇹🇼 Taiwan (GeoIP)
Encoding: big5
This server uses a legacy encoding:
telnetlib3-client --encoding big5 --force-binary catworld.muds.me 5555
Protocol Support
MUD-specific protocols detected via MSSP flags or Telnet negotiation.
MSSP: Yes (MSSP)
GMCP: Negotiated
MSDP: No
MCCP: No
MCCP2: No
MXP: Negotiated
MSP: No
MCP: No
ZMP: Negotiated
Telnet Fingerprint
This fingerprint is shared by 16 other servers.
Options offered by server: GMCP, MSSP, ZMP
Options requested from client: MXP, NAWS, NEW_ENVIRON, TTYPE
The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata.
Show JSON
{
"server-probe": {
"fingerprint": "909f753421a0f55b",
"fingerprint-data": {
"offered-options": [
"GMCP",
"MSSP",
"ZMP"
],
"probed-protocol": "server",
"refused-options": [
"AARDWOLF",
"ATCP",
"BINARY",
"CHARSET",
"COM_PORT",
"ECHO",
"EOR",
"MSDP",
"MSP",
"MXP",
"SGA",
"STATUS"
],
"requested-options": [
"MXP",
"NAWS",
"NEW_ENVIRON",
"TTYPE"
],
"scan-type": "quick"
},
"session_data": {
"banner_after_return": "\r\n\r\n\u001b[1;4;37;44m\u3010\u5c0f\u8c93\u7684\u4e16\u754c \u7d42\u7aef\u6a5f\u898f\u5b9a\u3011 \u001b[0;37;40m\r\n\u25a1 \u5728\u672c MUD \u56b4\u683c\u7981\u6b62\u7d42\u7aef\u6a5f\u6709\u4e0b\u5217\u884c\u70ba\uff1a\r\n 1. [\u89f8\u767c\u884c\u70ba]\uff1a\u4e5f\u5c31\u662f\u5c0d\u67d0\u7a2e\u5b57\u4e32\u6709\u81ea\u52d5\u53cd\u6620\u7684\u7d42\u7aef\u6a5f\u3002\r\n 2. [\u6a5f\u5668\u4eba\u884c\u70ba]\uff1a\u4e0d\u53ef\u4f7f\u7528 Timer \u53ca\u81ea\u52d5\u5316\u7df4\u529f\u6216\u8cfa\u9322\u3002\r\n\u001b[4m\u25a1 \u5982\u679c\u60a8\u7121\u6cd5\u63a5\u53d7\u4ee5\u4e0a\u7684\u898f\u5b9a\uff0c\u8acb\u7acb\u523b\u96e2\u958b\u672c MUD\u3002 \u001b[2;37;0m\r\n\r\n\u8acb\u8f38\u5165 agree \u8a8d\u540c\u672cMUD\u7684 client_rules\uff1a",
"banner_before_return": " \u5c0f \u8c93 \u7684 \u4e16 \u754c\r\n \u001b[1;37m\uff34 H E \uff23 A T \uff37 O R L D\u001b[2;37;0m\r\n - FluffOS v2.27 -\r\n <\u5efa\u7acb\u67b6\u69cb Aug 20, 1997>\r\n <\u672c\u7cfb\u7d71\u627f\u8972\u6771\u65b9\u6545\u4e8bII \u7279\u6b64\u611f\u8b1d>\r\n\r\n\u001b[1;31m \u2571\\ /\u2572\r\n\u001b[1;31m \u2502 \u2572\uff3f\uff3f\uff3f\uff3f\uff3f\u2571 \u2502\r\n\u001b[2;33m \u2502\u2571\u2594 \u25e5\u2588\u2588\u25e4\u2572\u2502\r\n\u001b[2;33m \u2571 \u2572\r\n\u001b[2;33m \u2502 /\u2594\\ /\u2594\\ \u2502\r\n\u001b[1;33m \u2502 \u2502 \u25cf \u25cf \u2502 \u2502\r\n\u001b[1;33m \u2500\u253c \\\uff3f/ \\\uff3f/ \u253c\u2500\r\n\u001b[1;32m \u2572\uff3f \u25cf \uff3f\u2571\r\n\u001b[1;32m \u2594\u2594\u2572\uff3f \uff0e \uff3f\u2571\u2594\u2594\r\n\u001b[1;34m \u250c\u2500\u25e4\u2594>>\u2605<<\u25e5\u25e4\u2572\r\n\u001b[1;34m \uff08 \ufe33 /\ufe40\ufe40\\\u25e2\u2588\r\n\u001b[1;35m \uff08____\ufe33 \u2502\u2571 \u2502.\uff0e. \u2588\u25e4\r\n\u001b[1;35m \\\ufe3f\ufe3f/ \ufe3a\ufe3a\ufe3a\u2572\u25cf\u2571\r\n\u001b[2;37;0m\r\n \u8a0e\u8ad6\u5340 https://catworld.muds.tw/forum/\r\n FB \u7c89\u7d72\u9801 https://www.facebook.com/catworld.muds.tw/\r\n\r\n\u001b[1;36m\u5c0f\u8c93\u7684\u4e16\u754c\u001b[2;37;0m\u5df2\u7d93\u57f7\u884c\u4e86\u4e09\u5929\u4e00\u5c0f\u6642\u5341\u4e09\u5206\u4e8c\u5341\u4e94\u79d2\u3002\r\n\u76ee\u524d\u6709 1 \u4f4d\u5deb\u5e2b\u3001136 \u4f4d\u73a9\u5bb6\u5728\u7dda\u4e0a\uff0c1 \u4f4d\u5617\u8a66\u9023\u7dda\u4e2d\u3002\r\n\u60a8\u7684\u82f1\u6587\u540d\u5b57\uff1a",
"dsr_replies": 0,
"dsr_requests": 0,
"encoding": "big5",
"mssp": {
"NAME": "\u00e5\u00b0\u008f\u00e8\u00b2\u0093\u00e7\u009a\u0084\u00e4\u00b8\u0096\u00e7\u0095\u008c",
"PLAYERS": "139",
"UPTIME": "1770825601"
},
"option_states": {
"environ_requested": [
{
"name": "*",
"type": "VAR"
},
{
"name": "*",
"type": "USERVAR"
}
],
"server_offered": {
"GMCP": true,
"MSSP": true,
"ZMP": true
},
"server_requested": {
"MXP": true,
"NAWS": true,
"NEW_ENVIRON": true,
"TTYPE": true
}
},
"scan_type": "quick",
"timing": {
"probe": 0.536839485168457,
"total": 5.31127405166626
}
}
},
"sessions": [
{
"connected": "2026-02-14T17:13:31.720911+00:00",
"host": "catworld.muds.me",
"ip": "125.228.186.144",
"port": 5555
}
]
}
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 catworld.muds.me 5555
Show Logfile
DEBUG client.py:965 Fingerprint client: host=catworld.muds.me port=5555
INFO client_base.py:175 Connected to <Peer 125.228.186.144 5555>
DEBUG client_base.py:492 negotiation complete after 0.00s.
DEBUG stream_writer.py:707 recv IAC DO TTYPE
DEBUG stream_writer.py:1770 handle_do(TTYPE)
DEBUG stream_writer.py:3174 pending_option[WILL + TTYPE] = True
DEBUG stream_writer.py:950 send IAC WILL TTYPE
DEBUG stream_writer.py:3174 pending_option[SB + TTYPE] = True
DEBUG stream_writer.py:3174 local_option[TTYPE] = True
DEBUG stream_writer.py:3174 pending_option[WILL + TTYPE] = False
DEBUG stream_writer.py:707 recv IAC DO NAWS
DEBUG stream_writer.py:1770 handle_do(NAWS)
DEBUG stream_writer.py:3174 pending_option[WILL + NAWS] = True
DEBUG stream_writer.py:950 send IAC WILL NAWS
DEBUG stream_writer.py:2346 send IAC SB NAWS (rows=25, cols=80) IAC SE
DEBUG stream_writer.py:3174 local_option[NAWS] = True
DEBUG stream_writer.py:3174 pending_option[WILL + NAWS] = False
DEBUG stream_writer.py:707 recv IAC DO MXP
DEBUG stream_writer.py:1770 handle_do(MXP)
DEBUG stream_writer.py:3174 pending_option[WILL + MXP] = True
DEBUG stream_writer.py:950 send IAC WILL MXP
DEBUG stream_writer.py:3174 pending_option[SB + MXP] = True
DEBUG stream_writer.py:3174 local_option[MXP] = True
DEBUG stream_writer.py:3174 pending_option[WILL + MXP] = False
DEBUG stream_writer.py:707 recv IAC WILL MSSP
DEBUG stream_writer.py:723 WILL MSSP unsolicited
DEBUG stream_writer.py:1900 handle_will(MSSP)
DEBUG stream_writer.py:3174 pending_option[DO + MSSP] = True
DEBUG stream_writer.py:950 send IAC DO MSSP
DEBUG stream_writer.py:3174 remote_option[MSSP] = True
DEBUG stream_writer.py:3174 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:707 recv IAC WILL ZMP
DEBUG stream_writer.py:723 WILL ZMP unsolicited
DEBUG stream_writer.py:1900 handle_will(ZMP)
DEBUG stream_writer.py:3174 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:950 send IAC DO ZMP
DEBUG stream_writer.py:3174 remote_option[ZMP] = True
DEBUG stream_writer.py:3174 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:707 recv IAC DO NEW_ENVIRON
DEBUG stream_writer.py:1770 handle_do(NEW_ENVIRON)
DEBUG stream_writer.py:3174 pending_option[WILL + NEW_ENVIRON] = True
DEBUG stream_writer.py:950 send IAC WILL NEW_ENVIRON
DEBUG stream_writer.py:3174 pending_option[SB + NEW_ENVIRON] = True
DEBUG stream_writer.py:3174 local_option[NEW_ENVIRON] = True
DEBUG stream_writer.py:3174 pending_option[WILL + NEW_ENVIRON] = False
DEBUG stream_writer.py:707 recv IAC WILL GMCP
DEBUG stream_writer.py:723 WILL GMCP unsolicited
DEBUG stream_writer.py:1900 handle_will(GMCP)
DEBUG stream_writer.py:3174 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:950 send IAC DO GMCP
DEBUG stream_writer.py:3174 remote_option[GMCP] = True
DEBUG stream_writer.py:3174 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:699 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:686 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:3174 pending_option[SB + TTYPE] = False
DEBUG stream_writer.py:2241 recv TTYPE SEND: b''
DEBUG stream_writer.py:2254 send IAC SB TTYPE IS b'xterm-256color' IAC SE
DEBUG stream_writer.py:699 begin sub-negotiation SB MSSP
DEBUG stream_writer.py:686 sub-negotiation cmd MSSP SE completion byte
DEBUG stream_writer.py:2065 [SB + MSSP] unsolicited
DEBUG stream_writer.py:1673 MSSP: {'NAME': 'å°\x8fè²\x93ç\x9a\x84ä¸\x96ç\x95\x8c', 'PLAYERS': '139', 'UPTIME': '1770825601'}
DEBUG stream_writer.py:699 begin sub-negotiation SB NEW_ENVIRON
DEBUG stream_writer.py:686 sub-negotiation cmd NEW_ENVIRON SE completion byte
DEBUG stream_writer.py:3174 pending_option[SB + NEW_ENVIRON] = False
DEBUG stream_writer.py:2289 recv NEW_ENVIRON SEND (all)
DEBUG stream_writer.py:2312 env send: LANG='C', TERM='xterm-256color', LINES=25, COLUMNS=80, COLORTERM=''
DEBUG stream_writer.py:1323 IAC GA: Go-Ahead (unhandled).
DEBUG stream_writer.py:3174 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:950 send IAC DO BINARY
DEBUG stream_writer.py:3174 pending_option[DO + SGA] = True
DEBUG stream_writer.py:950 send IAC DO SGA
DEBUG stream_writer.py:3174 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:950 send IAC DO ECHO
DEBUG stream_writer.py:3174 pending_option[DO + STATUS] = True
DEBUG stream_writer.py:950 send IAC DO STATUS
DEBUG stream_writer.py:3174 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:950 send IAC DO CHARSET
DEBUG stream_writer.py:3174 pending_option[DO + EOR] = True
DEBUG stream_writer.py:950 send IAC DO EOR
DEBUG stream_writer.py:3174 pending_option[DO + COM_PORT_OPTION] = True
DEBUG stream_writer.py:950 send IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:3174 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:950 send IAC DO MSDP
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = True
DEBUG stream_writer.py:950 send IAC DO MSP
DEBUG stream_writer.py:3174 pending_option[DO + MXP] = True
DEBUG stream_writer.py:950 send IAC DO MXP
DEBUG stream_writer.py:3174 pending_option[DO + AARDWOLF] = True
DEBUG stream_writer.py:950 send IAC DO AARDWOLF
DEBUG stream_writer.py:3174 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:950 send IAC DO ATCP
DEBUG stream_writer.py:707 recv IAC WONT BINARY
DEBUG stream_writer.py:2025 handle_wont(BINARY)
DEBUG stream_writer.py:3174 remote_option[BINARY] = False
DEBUG stream_writer.py:3174 pending_option[DO + BINARY] = False
DEBUG stream_writer.py:707 recv IAC WONT SGA
DEBUG stream_writer.py:2025 handle_wont(SGA)
DEBUG stream_writer.py:3174 remote_option[SGA] = False
DEBUG stream_writer.py:3174 pending_option[DO + SGA] = False
DEBUG stream_writer.py:707 recv IAC WONT STATUS
DEBUG stream_writer.py:2025 handle_wont(STATUS)
DEBUG stream_writer.py:3174 remote_option[STATUS] = False
DEBUG stream_writer.py:3174 pending_option[DO + STATUS] = False
DEBUG stream_writer.py:707 recv IAC WONT CHARSET
DEBUG stream_writer.py:2025 handle_wont(CHARSET)
DEBUG stream_writer.py:3174 remote_option[CHARSET] = False
DEBUG stream_writer.py:3174 pending_option[DO + CHARSET] = False
DEBUG stream_writer.py:707 recv IAC WONT EOR
DEBUG stream_writer.py:2025 handle_wont(EOR)
DEBUG stream_writer.py:3174 remote_option[EOR] = False
DEBUG stream_writer.py:3174 pending_option[DO + EOR] = False
DEBUG stream_writer.py:707 recv IAC WONT COM_PORT_OPTION
DEBUG stream_writer.py:2025 handle_wont(COM_PORT_OPTION)
DEBUG stream_writer.py:3174 remote_option[COM_PORT_OPTION] = False
DEBUG stream_writer.py:3174 pending_option[DO + COM_PORT_OPTION] = False
DEBUG stream_writer.py:707 recv IAC WONT MSDP
DEBUG stream_writer.py:2025 handle_wont(MSDP)
DEBUG stream_writer.py:3174 remote_option[MSDP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:707 recv IAC WONT MSP
DEBUG stream_writer.py:2025 handle_wont(MSP)
DEBUG stream_writer.py:3174 remote_option[MSP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = False
DEBUG stream_writer.py:707 recv IAC WONT MXP
DEBUG stream_writer.py:2025 handle_wont(MXP)
DEBUG stream_writer.py:3174 remote_option[MXP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MXP] = False
INFO fingerprinting.py:746 connection for server fingerprint 909f753421a0f55b
INFO client_base.py:106 Connection closed to <Peer 125.228.186.144 5555>
Doom of Lost Kingdoms (失落的國度) (catworld.muds.tw:4000)
Connection Banner:
Server URLs
- Telnet: telnet://catworld.muds.tw:4000
Server Info
Players online: 43 [3]
Uptime: 0 days
Server Location: 🇹🇼 Taiwan (GeoIP)
Encoding: big5
This server uses a legacy encoding:
telnetlib3-client --encoding big5 --force-binary catworld.muds.tw 4000
Protocol Support
MUD-specific protocols detected via MSSP flags or Telnet negotiation.
MSSP: Yes (MSSP)
GMCP: Negotiated
MSDP: No
MCCP: No
MCCP2: No
MXP: Negotiated
MSP: No
MCP: No
ZMP: Negotiated
Telnet Fingerprint
This fingerprint is shared by 16 other servers.
Options offered by server: GMCP, MSSP, ZMP
Options requested from client: MXP, NAWS, NEW_ENVIRON, TTYPE
The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata.
Show JSON
{
"server-probe": {
"fingerprint": "909f753421a0f55b",
"fingerprint-data": {
"offered-options": [
"GMCP",
"MSSP",
"ZMP"
],
"probed-protocol": "server",
"refused-options": [
"AARDWOLF",
"ATCP",
"BINARY",
"CHARSET",
"COM_PORT",
"ECHO",
"EOR",
"MSDP",
"MSP",
"MXP",
"SGA",
"STATUS"
],
"requested-options": [
"MXP",
"NAWS",
"NEW_ENVIRON",
"TTYPE"
],
"scan-type": "quick"
},
"session_data": {
"banner_after_return": "\r\n\u62b1\u6b49, \u4f60\u5fc5\u9808\u8ce6\u8207\u4f60\u6240\u626e\u6f14\u89d2\u8272\u4e00\u500b\u540d\u5b57\u3002\r\n\r\n\u5728\u904a\u6232\u4e2d\u4f60(\u59b3)\u60f3\u9644\u4e88\u4f60(\u59b3)\u7684\u4eba\u7269\u4ec0\u9ebc\u540d\u5b57? (\u8acb\u8f38\u5165\u82f1\u6587\u540d\u5b57) : ",
"banner_before_return": "\u001b[H\u001b[2J \u2581\u2582\u2583\u2584\u2585\u2586\u2587\u2588 \u6b61 \u8fce \u4f86 \u5230 \u2588\u2587\u2586\u2585\u2584\u2583\u2582\u2581\r\n\r\n\r\n \u250c\u2500\u2500\u2500\u2500\u256e\u256d\u2500\u2500\u2500\u256e\u256d\u2500\u2500\u2500\u256e\u256d\u2500\u2500\u2500\u2500\u256e\r\n \u2502 \u250c\u2500\u256e \u2502\u2502 \u256d\u256e \u2502\u2502 \u256d\u256e \u2502\u2502\u256d\u256e\u256d\u256e\u2502\r\n \u2502 \u2502 \u2502 \u2502\u2502 \u2502\u2502 \u2502\u2502 \u2502\u2502 \u2502\u2502\u2502\u2502\u2502\u2502\u2502\r\n \u2502 \u2502 \u2502 \u2502\u2502 \u2502\u2502 \u2502\u2502 \u2502\u2502 \u2502\u2502\u2502\u2502\u2502\u2502\u2502\r\n \u2502 \u2514\u2500\u256f \u2502\u2502 \u2570\u256f \u2502\u2502 \u2570\u256f \u2502\u2502\u2502\u2502\u2502\u2502\u2502 of The Lost Kingdoms\r\n \u2514\u2500\u2500\u2500\u2500\u256f\u2570\u2500\u2500\u2500\u256f\u2570\u2500\u2500\u2500\u256f\u2570\u256f\u2570\u256f\u2570\u256f\r\n\r\n [\u001b[33;1m\u842c\u80fd\u7684\u795e\u001b[0m] : \u5091\u897f, \u51f1\u65af \r\n [\u8d85\u7d1a\u5deb\u5e2b] : \u5922\u60f3\u5bb6, \u8840\u5f71, \u7a46\u514b, \u9e97\u5361, \r\n \u963f\u65af\u695a, \u9152\u7cbe, \u72c2\u4eba, \u8c6c\u81c9.\r\n\r\nDoom of Lost Kingdoms (\u5931\u843d\u7684\u570b\u5ea6) \u6b63\u57f7\u884c Doom \u7a0b\u5f0f\u5eab 3.0 \u5728 FluffOS v2.27.2\r\n\u001b[1;5mYou should run Chinese system first!! \u001b[0m\r\n\r\n\u73fe\u6709\u73a9\u5bb6 : Freeze, Xd, Life, Qk, Cais, Alicefa, Arnold, Doha, Xianghua,\r\nPoki, Howtwo, Snailthree, Bbc, Horohoro, Letmego, Wudi, Hollywood,\r\nKazzilla, Raditz, Edea, Chopper, Versace, Slik, Whompfive, Js, Echo, Fendi,\r\nCopyeye, Gameboy, Animax, Omega, Knigh, Dragondevil, Joo, Romantic, Show,\r\nIori, Baki, Kuba, Burning, Rock\u3002\r\n\u73fe\u5728\u5171\u6709 41 \u4f4d\u73a9\u5bb6\u6b63\u5728\u5931\u843d\u7684\u570b\u5ea6\u4e2d\u596e\u9b25. (\u4e0a\u9650 500 \u540d\u73a9\u5bb6).\r\n\r\nDoom of Lost Kingdoms (\u5931\u843d\u7684\u570b\u5ea6) \u5df2\u7d93\u555f\u52d5\u4e86 1 \u5c0f\u6642 11 \u5206\u9418 39 \u79d2.\r\n\r\n\u5728\u904a\u6232\u4e2d\u4f60(\u59b3)\u60f3\u9644\u4e88\u4f60(\u59b3)\u7684\u4eba\u7269\u4ec0\u9ebc\u540d\u5b57? (\u8acb\u8f38\u5165\u82f1\u6587\u540d\u5b57) : ",
"dsr_replies": 0,
"dsr_requests": 0,
"encoding": "big5",
"mssp": {
"NAME": "Doom of Lost Kingdoms (\u00e5\u00a4\u00b1\u00e8\u0090\u00bd\u00e7\u009a\u0084\u00e5\u009c\u008b\u00e5\u00ba\u00a6)",
"PLAYERS": "43",
"UPTIME": "1771084801"
},
"option_states": {
"environ_requested": [
{
"name": "*",
"type": "VAR"
},
{
"name": "*",
"type": "USERVAR"
}
],
"server_offered": {
"GMCP": true,
"MSSP": true,
"ZMP": true
},
"server_requested": {
"MXP": true,
"NAWS": true,
"NEW_ENVIRON": true,
"TTYPE": true
}
},
"scan_type": "quick",
"timing": {
"probe": 0.5373060703277588,
"total": 5.313801527023315
}
}
},
"sessions": [
{
"connected": "2026-02-14T17:11:46.399303+00:00",
"host": "catworld.muds.tw",
"ip": "125.228.186.144",
"port": 4000
}
]
}
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 catworld.muds.tw 4000
Show Logfile
DEBUG client.py:965 Fingerprint client: host=catworld.muds.tw port=4000
INFO client_base.py:175 Connected to <Peer 125.228.186.144 4000>
DEBUG client_base.py:492 negotiation complete after 0.00s.
DEBUG stream_writer.py:707 recv IAC DO TTYPE
DEBUG stream_writer.py:1770 handle_do(TTYPE)
DEBUG stream_writer.py:3174 pending_option[WILL + TTYPE] = True
DEBUG stream_writer.py:950 send IAC WILL TTYPE
DEBUG stream_writer.py:3174 pending_option[SB + TTYPE] = True
DEBUG stream_writer.py:3174 local_option[TTYPE] = True
DEBUG stream_writer.py:3174 pending_option[WILL + TTYPE] = False
DEBUG stream_writer.py:707 recv IAC DO NAWS
DEBUG stream_writer.py:1770 handle_do(NAWS)
DEBUG stream_writer.py:3174 pending_option[WILL + NAWS] = True
DEBUG stream_writer.py:950 send IAC WILL NAWS
DEBUG stream_writer.py:2346 send IAC SB NAWS (rows=25, cols=80) IAC SE
DEBUG stream_writer.py:3174 local_option[NAWS] = True
DEBUG stream_writer.py:3174 pending_option[WILL + NAWS] = False
DEBUG stream_writer.py:707 recv IAC DO MXP
DEBUG stream_writer.py:1770 handle_do(MXP)
DEBUG stream_writer.py:3174 pending_option[WILL + MXP] = True
DEBUG stream_writer.py:950 send IAC WILL MXP
DEBUG stream_writer.py:3174 pending_option[SB + MXP] = True
DEBUG stream_writer.py:3174 local_option[MXP] = True
DEBUG stream_writer.py:3174 pending_option[WILL + MXP] = False
DEBUG stream_writer.py:707 recv IAC WILL MSSP
DEBUG stream_writer.py:723 WILL MSSP unsolicited
DEBUG stream_writer.py:1900 handle_will(MSSP)
DEBUG stream_writer.py:3174 pending_option[DO + MSSP] = True
DEBUG stream_writer.py:950 send IAC DO MSSP
DEBUG stream_writer.py:3174 remote_option[MSSP] = True
DEBUG stream_writer.py:3174 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:707 recv IAC WILL ZMP
DEBUG stream_writer.py:723 WILL ZMP unsolicited
DEBUG stream_writer.py:1900 handle_will(ZMP)
DEBUG stream_writer.py:3174 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:950 send IAC DO ZMP
DEBUG stream_writer.py:3174 remote_option[ZMP] = True
DEBUG stream_writer.py:3174 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:707 recv IAC DO NEW_ENVIRON
DEBUG stream_writer.py:1770 handle_do(NEW_ENVIRON)
DEBUG stream_writer.py:3174 pending_option[WILL + NEW_ENVIRON] = True
DEBUG stream_writer.py:950 send IAC WILL NEW_ENVIRON
DEBUG stream_writer.py:3174 pending_option[SB + NEW_ENVIRON] = True
DEBUG stream_writer.py:3174 local_option[NEW_ENVIRON] = True
DEBUG stream_writer.py:3174 pending_option[WILL + NEW_ENVIRON] = False
DEBUG stream_writer.py:707 recv IAC WILL GMCP
DEBUG stream_writer.py:723 WILL GMCP unsolicited
DEBUG stream_writer.py:1900 handle_will(GMCP)
DEBUG stream_writer.py:3174 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:950 send IAC DO GMCP
DEBUG stream_writer.py:3174 remote_option[GMCP] = True
DEBUG stream_writer.py:3174 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:699 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:686 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:3174 pending_option[SB + TTYPE] = False
DEBUG stream_writer.py:2241 recv TTYPE SEND: b''
DEBUG stream_writer.py:2254 send IAC SB TTYPE IS b'xterm-256color' IAC SE
DEBUG stream_writer.py:699 begin sub-negotiation SB MSSP
DEBUG stream_writer.py:686 sub-negotiation cmd MSSP SE completion byte
DEBUG stream_writer.py:2065 [SB + MSSP] unsolicited
DEBUG stream_writer.py:1673 MSSP: {'NAME': 'Doom of Lost Kingdoms (失è\x90½ç\x9a\x84å\x9c\x8b度)', 'PLAYERS': '43', 'UPTIME':
'1771084801'}
DEBUG stream_writer.py:699 begin sub-negotiation SB NEW_ENVIRON
DEBUG stream_writer.py:686 sub-negotiation cmd NEW_ENVIRON SE completion byte
DEBUG stream_writer.py:3174 pending_option[SB + NEW_ENVIRON] = False
DEBUG stream_writer.py:2289 recv NEW_ENVIRON SEND (all)
DEBUG stream_writer.py:2312 env send: LANG='C', TERM='xterm-256color', LINES=25, COLUMNS=80, COLORTERM=''
DEBUG stream_writer.py:1323 IAC GA: Go-Ahead (unhandled).
DEBUG stream_writer.py:3174 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:950 send IAC DO BINARY
DEBUG stream_writer.py:3174 pending_option[DO + SGA] = True
DEBUG stream_writer.py:950 send IAC DO SGA
DEBUG stream_writer.py:3174 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:950 send IAC DO ECHO
DEBUG stream_writer.py:3174 pending_option[DO + STATUS] = True
DEBUG stream_writer.py:950 send IAC DO STATUS
DEBUG stream_writer.py:3174 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:950 send IAC DO CHARSET
DEBUG stream_writer.py:3174 pending_option[DO + EOR] = True
DEBUG stream_writer.py:950 send IAC DO EOR
DEBUG stream_writer.py:3174 pending_option[DO + COM_PORT_OPTION] = True
DEBUG stream_writer.py:950 send IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:3174 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:950 send IAC DO MSDP
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = True
DEBUG stream_writer.py:950 send IAC DO MSP
DEBUG stream_writer.py:3174 pending_option[DO + MXP] = True
DEBUG stream_writer.py:950 send IAC DO MXP
DEBUG stream_writer.py:3174 pending_option[DO + AARDWOLF] = True
DEBUG stream_writer.py:950 send IAC DO AARDWOLF
DEBUG stream_writer.py:3174 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:950 send IAC DO ATCP
DEBUG stream_writer.py:707 recv IAC WONT BINARY
DEBUG stream_writer.py:2025 handle_wont(BINARY)
DEBUG stream_writer.py:3174 remote_option[BINARY] = False
DEBUG stream_writer.py:3174 pending_option[DO + BINARY] = False
DEBUG stream_writer.py:707 recv IAC WONT SGA
DEBUG stream_writer.py:2025 handle_wont(SGA)
DEBUG stream_writer.py:3174 remote_option[SGA] = False
DEBUG stream_writer.py:3174 pending_option[DO + SGA] = False
DEBUG stream_writer.py:707 recv IAC WONT STATUS
DEBUG stream_writer.py:2025 handle_wont(STATUS)
DEBUG stream_writer.py:3174 remote_option[STATUS] = False
DEBUG stream_writer.py:3174 pending_option[DO + STATUS] = False
DEBUG stream_writer.py:707 recv IAC WONT CHARSET
DEBUG stream_writer.py:2025 handle_wont(CHARSET)
DEBUG stream_writer.py:3174 remote_option[CHARSET] = False
DEBUG stream_writer.py:3174 pending_option[DO + CHARSET] = False
DEBUG stream_writer.py:707 recv IAC WONT EOR
DEBUG stream_writer.py:2025 handle_wont(EOR)
DEBUG stream_writer.py:3174 remote_option[EOR] = False
DEBUG stream_writer.py:3174 pending_option[DO + EOR] = False
DEBUG stream_writer.py:707 recv IAC WONT COM_PORT_OPTION
DEBUG stream_writer.py:2025 handle_wont(COM_PORT_OPTION)
DEBUG stream_writer.py:3174 remote_option[COM_PORT_OPTION] = False
DEBUG stream_writer.py:3174 pending_option[DO + COM_PORT_OPTION] = False
DEBUG stream_writer.py:707 recv IAC WONT MSDP
DEBUG stream_writer.py:2025 handle_wont(MSDP)
DEBUG stream_writer.py:3174 remote_option[MSDP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:707 recv IAC WONT MSP
DEBUG stream_writer.py:2025 handle_wont(MSP)
DEBUG stream_writer.py:3174 remote_option[MSP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = False
DEBUG stream_writer.py:707 recv IAC WONT MXP
DEBUG stream_writer.py:2025 handle_wont(MXP)
DEBUG stream_writer.py:3174 remote_option[MXP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MXP] = False
INFO fingerprinting.py:746 connection for server fingerprint 909f753421a0f55b
INFO client_base.py:106 Connection closed to <Peer 125.228.186.144 4000>
Doom of Lost Kingdoms (失落的國度) (doom.twmuds.com:4000)
Connection Banner:
Server URLs
- Telnet: telnet://doom.twmuds.com:4000
Server Info
Players online: 43 [4]
Uptime: 0 days
Server Location: 🇹🇼 Taiwan (GeoIP)
Encoding: big5
This server uses a legacy encoding:
telnetlib3-client --encoding big5 --force-binary doom.twmuds.com 4000
Protocol Support
MUD-specific protocols detected via MSSP flags or Telnet negotiation.
MSSP: Yes (MSSP)
GMCP: Negotiated
MSDP: No
MCCP: No
MCCP2: No
MXP: Negotiated
MSP: No
MCP: No
ZMP: Negotiated
Telnet Fingerprint
This fingerprint is shared by 16 other servers.
Options offered by server: GMCP, MSSP, ZMP
Options requested from client: MXP, NAWS, NEW_ENVIRON, TTYPE
The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata.
Show JSON
{
"server-probe": {
"fingerprint": "909f753421a0f55b",
"fingerprint-data": {
"offered-options": [
"GMCP",
"MSSP",
"ZMP"
],
"probed-protocol": "server",
"refused-options": [
"AARDWOLF",
"ATCP",
"BINARY",
"CHARSET",
"COM_PORT",
"ECHO",
"EOR",
"MSDP",
"MSP",
"MXP",
"SGA",
"STATUS"
],
"requested-options": [
"MXP",
"NAWS",
"NEW_ENVIRON",
"TTYPE"
],
"scan-type": "quick"
},
"session_data": {
"banner_after_return": "\r\n\u62b1\u6b49, \u4f60\u5fc5\u9808\u8ce6\u8207\u4f60\u6240\u626e\u6f14\u89d2\u8272\u4e00\u500b\u540d\u5b57\u3002\r\n\r\n\u5728\u904a\u6232\u4e2d\u4f60(\u59b3)\u60f3\u9644\u4e88\u4f60(\u59b3)\u7684\u4eba\u7269\u4ec0\u9ebc\u540d\u5b57? (\u8acb\u8f38\u5165\u82f1\u6587\u540d\u5b57) : ",
"banner_before_return": "\u001b[H\u001b[2J \u2581\u2582\u2583\u2584\u2585\u2586\u2587\u2588 \u6b61 \u8fce \u4f86 \u5230 \u2588\u2587\u2586\u2585\u2584\u2583\u2582\u2581\r\n\r\n\r\n \u250c\u2500\u2500\u2500\u2500\u256e\u256d\u2500\u2500\u2500\u256e\u256d\u2500\u2500\u2500\u256e\u256d\u2500\u2500\u2500\u2500\u256e\r\n \u2502 \u250c\u2500\u256e \u2502\u2502 \u256d\u256e \u2502\u2502 \u256d\u256e \u2502\u2502\u256d\u256e\u256d\u256e\u2502\r\n \u2502 \u2502 \u2502 \u2502\u2502 \u2502\u2502 \u2502\u2502 \u2502\u2502 \u2502\u2502\u2502\u2502\u2502\u2502\u2502\r\n \u2502 \u2502 \u2502 \u2502\u2502 \u2502\u2502 \u2502\u2502 \u2502\u2502 \u2502\u2502\u2502\u2502\u2502\u2502\u2502\r\n \u2502 \u2514\u2500\u256f \u2502\u2502 \u2570\u256f \u2502\u2502 \u2570\u256f \u2502\u2502\u2502\u2502\u2502\u2502\u2502 of The Lost Kingdoms\r\n \u2514\u2500\u2500\u2500\u2500\u256f\u2570\u2500\u2500\u2500\u256f\u2570\u2500\u2500\u2500\u256f\u2570\u256f\u2570\u256f\u2570\u256f\r\n\r\n [\u001b[33;1m\u842c\u80fd\u7684\u795e\u001b[0m] : \u5091\u897f, \u51f1\u65af \r\n [\u8d85\u7d1a\u5deb\u5e2b] : \u5922\u60f3\u5bb6, \u8840\u5f71, \u7a46\u514b, \u9e97\u5361, \r\n \u963f\u65af\u695a, \u9152\u7cbe, \u72c2\u4eba, \u8c6c\u81c9.\r\n\r\nDoom of Lost Kingdoms (\u5931\u843d\u7684\u570b\u5ea6) \u6b63\u57f7\u884c Doom \u7a0b\u5f0f\u5eab 3.0 \u5728 FluffOS v2.27.2\r\n\u001b[1;5mYou should run Chinese system first!! \u001b[0m\r\n\r\n\u73fe\u6709\u73a9\u5bb6 : Freeze, Xd, Life, Qk, Cais, Alicefa, Arnold, Doha, Xianghua,\r\nPoki, Howtwo, Snailthree, Bbc, Horohoro, Letmego, Wudi, Hollywood,\r\nKazzilla, Raditz, Edea, Chopper, Versace, Slik, Whompfive, Js, Echo, Fendi,\r\nCopyeye, Gameboy, Animax, Omega, Knigh, Dragondevil, Joo, Romantic, Show,\r\nIori, Baki, Kuba, Burning, Rock\u3002\r\n\u73fe\u5728\u5171\u6709 41 \u4f4d\u73a9\u5bb6\u6b63\u5728\u5931\u843d\u7684\u570b\u5ea6\u4e2d\u596e\u9b25. (\u4e0a\u9650 500 \u540d\u73a9\u5bb6).\r\n\r\nDoom of Lost Kingdoms (\u5931\u843d\u7684\u570b\u5ea6) \u5df2\u7d93\u555f\u52d5\u4e86 1 \u5c0f\u6642 12 \u5206\u9418 19 \u79d2.\r\n\r\n\u5728\u904a\u6232\u4e2d\u4f60(\u59b3)\u60f3\u9644\u4e88\u4f60(\u59b3)\u7684\u4eba\u7269\u4ec0\u9ebc\u540d\u5b57? (\u8acb\u8f38\u5165\u82f1\u6587\u540d\u5b57) : ",
"dsr_replies": 0,
"dsr_requests": 0,
"encoding": "big5",
"mssp": {
"NAME": "Doom of Lost Kingdoms (\u00e5\u00a4\u00b1\u00e8\u0090\u00bd\u00e7\u009a\u0084\u00e5\u009c\u008b\u00e5\u00ba\u00a6)",
"PLAYERS": "43",
"UPTIME": "1771084801"
},
"option_states": {
"environ_requested": [
{
"name": "*",
"type": "VAR"
},
{
"name": "*",
"type": "USERVAR"
}
],
"server_offered": {
"GMCP": true,
"MSSP": true,
"ZMP": true
},
"server_requested": {
"MXP": true,
"NAWS": true,
"NEW_ENVIRON": true,
"TTYPE": true
}
},
"scan_type": "quick",
"timing": {
"probe": 0.5109732151031494,
"total": 5.2705793380737305
}
}
},
"sessions": [
{
"connected": "2026-02-14T17:12:26.371998+00:00",
"host": "doom.twmuds.com",
"ip": "125.228.186.144",
"port": 4000
}
]
}
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 doom.twmuds.com 4000
Show Logfile
DEBUG client.py:965 Fingerprint client: host=doom.twmuds.com port=4000
INFO client_base.py:175 Connected to <Peer 125.228.186.144 4000>
DEBUG client_base.py:492 negotiation complete after 0.00s.
DEBUG stream_writer.py:707 recv IAC DO TTYPE
DEBUG stream_writer.py:1770 handle_do(TTYPE)
DEBUG stream_writer.py:3174 pending_option[WILL + TTYPE] = True
DEBUG stream_writer.py:950 send IAC WILL TTYPE
DEBUG stream_writer.py:3174 pending_option[SB + TTYPE] = True
DEBUG stream_writer.py:3174 local_option[TTYPE] = True
DEBUG stream_writer.py:3174 pending_option[WILL + TTYPE] = False
DEBUG stream_writer.py:707 recv IAC DO NAWS
DEBUG stream_writer.py:1770 handle_do(NAWS)
DEBUG stream_writer.py:3174 pending_option[WILL + NAWS] = True
DEBUG stream_writer.py:950 send IAC WILL NAWS
DEBUG stream_writer.py:2346 send IAC SB NAWS (rows=25, cols=80) IAC SE
DEBUG stream_writer.py:3174 local_option[NAWS] = True
DEBUG stream_writer.py:3174 pending_option[WILL + NAWS] = False
DEBUG stream_writer.py:707 recv IAC DO MXP
DEBUG stream_writer.py:1770 handle_do(MXP)
DEBUG stream_writer.py:3174 pending_option[WILL + MXP] = True
DEBUG stream_writer.py:950 send IAC WILL MXP
DEBUG stream_writer.py:3174 pending_option[SB + MXP] = True
DEBUG stream_writer.py:3174 local_option[MXP] = True
DEBUG stream_writer.py:3174 pending_option[WILL + MXP] = False
DEBUG stream_writer.py:707 recv IAC WILL MSSP
DEBUG stream_writer.py:723 WILL MSSP unsolicited
DEBUG stream_writer.py:1900 handle_will(MSSP)
DEBUG stream_writer.py:3174 pending_option[DO + MSSP] = True
DEBUG stream_writer.py:950 send IAC DO MSSP
DEBUG stream_writer.py:3174 remote_option[MSSP] = True
DEBUG stream_writer.py:3174 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:707 recv IAC WILL ZMP
DEBUG stream_writer.py:723 WILL ZMP unsolicited
DEBUG stream_writer.py:1900 handle_will(ZMP)
DEBUG stream_writer.py:3174 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:950 send IAC DO ZMP
DEBUG stream_writer.py:3174 remote_option[ZMP] = True
DEBUG stream_writer.py:3174 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:707 recv IAC DO NEW_ENVIRON
DEBUG stream_writer.py:1770 handle_do(NEW_ENVIRON)
DEBUG stream_writer.py:3174 pending_option[WILL + NEW_ENVIRON] = True
DEBUG stream_writer.py:950 send IAC WILL NEW_ENVIRON
DEBUG stream_writer.py:3174 pending_option[SB + NEW_ENVIRON] = True
DEBUG stream_writer.py:3174 local_option[NEW_ENVIRON] = True
DEBUG stream_writer.py:3174 pending_option[WILL + NEW_ENVIRON] = False
DEBUG stream_writer.py:707 recv IAC WILL GMCP
DEBUG stream_writer.py:723 WILL GMCP unsolicited
DEBUG stream_writer.py:1900 handle_will(GMCP)
DEBUG stream_writer.py:3174 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:950 send IAC DO GMCP
DEBUG stream_writer.py:3174 remote_option[GMCP] = True
DEBUG stream_writer.py:3174 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:699 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:686 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:3174 pending_option[SB + TTYPE] = False
DEBUG stream_writer.py:2241 recv TTYPE SEND: b''
DEBUG stream_writer.py:2254 send IAC SB TTYPE IS b'xterm-256color' IAC SE
DEBUG stream_writer.py:699 begin sub-negotiation SB MSSP
DEBUG stream_writer.py:686 sub-negotiation cmd MSSP SE completion byte
DEBUG stream_writer.py:2065 [SB + MSSP] unsolicited
DEBUG stream_writer.py:1673 MSSP: {'NAME': 'Doom of Lost Kingdoms (失è\x90½ç\x9a\x84å\x9c\x8b度)', 'PLAYERS': '43', 'UPTIME':
'1771084801'}
DEBUG stream_writer.py:699 begin sub-negotiation SB NEW_ENVIRON
DEBUG stream_writer.py:686 sub-negotiation cmd NEW_ENVIRON SE completion byte
DEBUG stream_writer.py:3174 pending_option[SB + NEW_ENVIRON] = False
DEBUG stream_writer.py:2289 recv NEW_ENVIRON SEND (all)
DEBUG stream_writer.py:2312 env send: LANG='C', TERM='xterm-256color', LINES=25, COLUMNS=80, COLORTERM=''
DEBUG stream_writer.py:1323 IAC GA: Go-Ahead (unhandled).
DEBUG stream_writer.py:3174 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:950 send IAC DO BINARY
DEBUG stream_writer.py:3174 pending_option[DO + SGA] = True
DEBUG stream_writer.py:950 send IAC DO SGA
DEBUG stream_writer.py:3174 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:950 send IAC DO ECHO
DEBUG stream_writer.py:3174 pending_option[DO + STATUS] = True
DEBUG stream_writer.py:950 send IAC DO STATUS
DEBUG stream_writer.py:3174 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:950 send IAC DO CHARSET
DEBUG stream_writer.py:3174 pending_option[DO + EOR] = True
DEBUG stream_writer.py:950 send IAC DO EOR
DEBUG stream_writer.py:3174 pending_option[DO + COM_PORT_OPTION] = True
DEBUG stream_writer.py:950 send IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:3174 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:950 send IAC DO MSDP
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = True
DEBUG stream_writer.py:950 send IAC DO MSP
DEBUG stream_writer.py:3174 pending_option[DO + MXP] = True
DEBUG stream_writer.py:950 send IAC DO MXP
DEBUG stream_writer.py:3174 pending_option[DO + AARDWOLF] = True
DEBUG stream_writer.py:950 send IAC DO AARDWOLF
DEBUG stream_writer.py:3174 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:950 send IAC DO ATCP
DEBUG stream_writer.py:707 recv IAC WONT BINARY
DEBUG stream_writer.py:2025 handle_wont(BINARY)
DEBUG stream_writer.py:3174 remote_option[BINARY] = False
DEBUG stream_writer.py:3174 pending_option[DO + BINARY] = False
DEBUG stream_writer.py:707 recv IAC WONT SGA
DEBUG stream_writer.py:2025 handle_wont(SGA)
DEBUG stream_writer.py:3174 remote_option[SGA] = False
DEBUG stream_writer.py:3174 pending_option[DO + SGA] = False
DEBUG stream_writer.py:707 recv IAC WONT STATUS
DEBUG stream_writer.py:2025 handle_wont(STATUS)
DEBUG stream_writer.py:3174 remote_option[STATUS] = False
DEBUG stream_writer.py:3174 pending_option[DO + STATUS] = False
DEBUG stream_writer.py:707 recv IAC WONT CHARSET
DEBUG stream_writer.py:2025 handle_wont(CHARSET)
DEBUG stream_writer.py:3174 remote_option[CHARSET] = False
DEBUG stream_writer.py:3174 pending_option[DO + CHARSET] = False
DEBUG stream_writer.py:707 recv IAC WONT EOR
DEBUG stream_writer.py:2025 handle_wont(EOR)
DEBUG stream_writer.py:3174 remote_option[EOR] = False
DEBUG stream_writer.py:3174 pending_option[DO + EOR] = False
DEBUG stream_writer.py:707 recv IAC WONT COM_PORT_OPTION
DEBUG stream_writer.py:2025 handle_wont(COM_PORT_OPTION)
DEBUG stream_writer.py:3174 remote_option[COM_PORT_OPTION] = False
DEBUG stream_writer.py:3174 pending_option[DO + COM_PORT_OPTION] = False
DEBUG stream_writer.py:707 recv IAC WONT MSDP
DEBUG stream_writer.py:2025 handle_wont(MSDP)
DEBUG stream_writer.py:3174 remote_option[MSDP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:707 recv IAC WONT MSP
DEBUG stream_writer.py:2025 handle_wont(MSP)
DEBUG stream_writer.py:3174 remote_option[MSP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = False
DEBUG stream_writer.py:707 recv IAC WONT MXP
DEBUG stream_writer.py:2025 handle_wont(MXP)
DEBUG stream_writer.py:3174 remote_option[MXP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MXP] = False
INFO fingerprinting.py:746 connection for server fingerprint 909f753421a0f55b
INFO client_base.py:106 Connection closed to <Peer 125.228.186.144 4000>