51.161.5.210 (mud.theghostbox.com)
The Ghost EmpireMUD (mud.theghostbox.com:4000)
Connection Banner:
Server URLs
- Telnet: telnet://mud.theghostbox.com:4000
- Website: http://empiremud.net
Server Info
Codebase: EmpireMUD 2.0 beta 5.200
Genre: Fantasy
Gameplay: Adventure, Hack and Slash, Player versus Player, Player versus Environment, Roleplaying, Simulation
Players online: 3 [1]
Uptime: 0 days
Created: 2015
Status: Live
Server Location: 🇨🇦 Canada (GeoIP)
Language: English
Protocol Support
MUD-specific protocols detected via MSSP flags or Telnet negotiation.
MSSP: Yes (MSSP)
GMCP: No
MSDP: Yes (MSSP)
MCCP: No
MCCP2: No
MXP: Yes (MSSP)
MSP: Yes (MSSP)
MCP: No
ZMP: No
Telnet Fingerprint
This fingerprint is shared by 54 other servers.
Options requested from client: ATCP, CHARSET, MXP, NAWS, TTYPE
The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata.
Show JSON
{
"server-probe": {
"fingerprint": "2d1d3bcf28abae7b",
"fingerprint-data": {
"offered-options": [],
"probed-protocol": "server",
"refused-options": [],
"requested-options": [
"ATCP",
"CHARSET",
"MXP",
"NAWS",
"TTYPE"
],
"scan-type": "quick"
},
"session_data": {
"banner_after_return": "",
"banner_before_return": "\r\n \u001b[1;33m|\r\n \\ | /\r\n \\ | / \u001b[0mExplore.\r\n \u001b[1;33m\\###/ \u001b[0mBuild.\r\n \u001b[1;33m------#####------ \u001b[0mDominate.\r\n \u001b[1;33m#\u001b[0;33m/ \\\u001b[1;33m# \u001b[1;31mEmpire.\r\n \u001b[0;33m/%. \\\r\n /%%| \\\r\n /%%%. . \\\r\n /%%%%| \\\r\n /%%%%%. \\\r\n /%%%%%%| . \\\r\n /%%%%%%%. \" \\ / \\ \u001b[0m E M P I R E M U D\r\n \u001b[0;33m/%%%%%%%%| ' \" \\ /%. \\ \u001b[0m 2.0 beta 5\r\n \u001b[0;33m/%%%%%%%%%. . \\| \\\r\n /%%%%%%%%%%| |====| \\ \\ \u001b[0mhttp://empiremud.net\r\n \u001b[0;33m/%%%%%khufu%. \" |||| ' . \\ \\\u001b[0m\r\n \r\nEnter your character name:\r\n> \u001b[7z",
"dsr_replies": 0,
"dsr_requests": 0,
"encoding": "UTF-8",
"mssp": {
"ADULT MATERIAL": "0",
"ANSI": "1",
"AREAS": "111",
"ATCP": "1",
"CLASSES": "1",
"CODEBASE": "EmpireMUD 2.0 beta 5.200",
"CONTACT": "",
"CRAWL DELAY": "-1",
"CREATED": "2015",
"DBSIZE": "10783",
"EQUIPMENT SYSTEM": "Level and Skill",
"EXTRA DESCRIPTIONS": "5343",
"FAMILY": "DikuMUD",
"GAMEPLAY": "Adventure, Hack and Slash, Player versus Player, Player versus Environment, Roleplaying, Simulation",
"GAMESYSTEM": "Custom",
"GENRE": "Fantasy",
"GMCP": "0",
"HELPFILES": "1940",
"HIRING BUILDERS": "0",
"HIRING CODERS": "0",
"HOSTNAME": "",
"ICON": "",
"INTERMUD": "",
"IP": "",
"LANGUAGE": "English",
"LEVELS": "400",
"LOCATION": "",
"MCCP": "0",
"MCP": "0",
"MINIMUM AGE": "",
"MOBILES": "1361",
"MSDP": "1",
"MSP": "1",
"MUDPROGS": "0",
"MUDTRIGS": "1613",
"MULTICLASSING": "1",
"MULTIPLAYING": "No",
"MXP": "1",
"NAME": "The Ghost EmpireMUD",
"NEWBIE FRIENDLY": "1",
"OBJECTS": "3015",
"PAY FOR PERKS": "0",
"PAY TO PLAY": "0",
"PLAYER CITIES": "1",
"PLAYER CLANS": "1",
"PLAYER CRAFTING": "1",
"PLAYER GUILDS": "1",
"PLAYERKILLING": "Restricted",
"PLAYERS": "3",
"PORT": "4000",
"PUEBLO": "0",
"QUEST SYSTEM": "Integrated",
"RACES": "0",
"RESETS": "0",
"ROLEPLAYING": "Encouraged",
"ROOMS": "5981",
"SKILLS": "309",
"SSL": "0",
"STATUS": "Live",
"SUBGENRE": "Medieval Fantasy",
"TRAINING SYSTEM": "Skill",
"UPTIME": "1771035721",
"UTF-8": "1",
"VT100": "0",
"WEBSITE": "",
"WORLD ORIGINALITY": "All Original",
"XTERM 256 COLORS": "1",
"ZMP": "0"
},
"mxp": [
"activated"
],
"option_states": {
"server_offered": {
"MSDP": true,
"MSP": true,
"MSSP": true
},
"server_requested": {
"ATCP": true,
"CHARSET": true,
"MXP": true,
"NAWS": true,
"TTYPE": true
}
},
"scan_type": "quick",
"timing": {
"probe": 0.0,
"total": 2.5895941257476807
}
}
},
"sessions": [
{
"connected": "2026-02-14T17:10:08.128162+00:00",
"host": "mud.theghostbox.com",
"ip": "51.161.5.210",
"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 mud.theghostbox.com 4000
Show Logfile
DEBUG client.py:965 Fingerprint client: host=mud.theghostbox.com port=4000
INFO client_base.py:175 Connected to <Peer 51.161.5.210 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:1323 IAC GA: Go-Ahead (unhandled).
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: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 CHARSET
DEBUG stream_writer.py:1770 handle_do(CHARSET)
DEBUG stream_writer.py:3174 pending_option[WILL + CHARSET] = True
DEBUG stream_writer.py:950 send IAC WILL CHARSET
DEBUG stream_writer.py:3174 local_option[CHARSET] = True
DEBUG stream_writer.py:3174 pending_option[WILL + CHARSET] = False
DEBUG stream_writer.py:707 recv IAC WILL MSDP
DEBUG stream_writer.py:723 WILL MSDP unsolicited
DEBUG stream_writer.py:1900 handle_will(MSDP)
DEBUG stream_writer.py:3174 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:950 send IAC DO MSDP
DEBUG stream_writer.py:3174 remote_option[MSDP] = True
DEBUG stream_writer.py:3174 pending_option[DO + MSDP] = 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 DO ATCP
DEBUG stream_writer.py:1770 handle_do(ATCP)
DEBUG stream_writer.py:3174 pending_option[WILL + ATCP] = True
DEBUG stream_writer.py:950 send IAC WILL ATCP
DEBUG stream_writer.py:3174 local_option[ATCP] = True
DEBUG stream_writer.py:3174 pending_option[WILL + ATCP] = False
DEBUG stream_writer.py:707 recv IAC WILL MSP
DEBUG stream_writer.py:723 WILL MSP unsolicited
DEBUG stream_writer.py:1900 handle_will(MSP)
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = True
DEBUG stream_writer.py:950 send IAC DO MSP
DEBUG stream_writer.py:3174 remote_option[MSP] = True
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = 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:699 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:686 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:2065 [SB + TTYPE] unsolicited
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 CHARSET
DEBUG stream_writer.py:686 sub-negotiation cmd CHARSET SE completion byte
DEBUG stream_writer.py:2065 [SB + CHARSET] unsolicited
DEBUG client.py:304 encoding negotiated: UTF-8
DEBUG stream_writer.py:2149 send IAC SB CHARSET ACCEPTED UTF-8 IAC SE
DEBUG stream_writer.py:699 begin sub-negotiation SB MSDP
DEBUG stream_writer.py:686 sub-negotiation cmd MSDP SE completion byte
DEBUG stream_writer.py:2065 [SB + MSDP] unsolicited
DEBUG stream_writer.py:1669 MSDP: {'SERVER_ID': 'The Ghost EmpireMUD'}
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': 'The Ghost EmpireMUD', 'PLAYERS': '3', 'UPTIME': '1771035721', 'CRAWL DELAY': '-1',
'HOSTNAME': '', 'PORT': '4000', 'CODEBASE': 'EmpireMUD 2.0 beta 5.200', 'CONTACT': '', 'CREATED': '2015', 'ICON': '', 'IP':
'', 'LANGUAGE': 'English', 'LOCATION': '', 'MINIMUM AGE': '', 'WEBSITE': '', 'FAMILY': 'DikuMUD', 'GENRE': 'Fantasy',
'GAMEPLAY': 'Adventure, Hack and Slash, Player versus Player, Player versus Environment, Roleplaying, Simulation', 'STATUS':
'Live', 'GAMESYSTEM': 'Custom', 'INTERMUD': '', 'SUBGENRE': 'Medieval Fantasy', 'AREAS': '111', 'HELPFILES': '1940',
'MOBILES': '1361', 'OBJECTS': '3015', 'ROOMS': '5981', 'CLASSES': '1', 'LEVELS': '400', 'RACES': '0', 'SKILLS': '309', 'ANSI':
'1', 'GMCP': '0', 'MCCP': '0', 'MCP': '0', 'MSDP': '1', 'MSP': '1', 'MXP': '1', 'PUEBLO': '0', 'UTF-8': '1', 'VT100': '0',
'XTERM 256 COLORS': '1', 'PAY TO PLAY': '0', 'PAY FOR PERKS': '0', 'HIRING BUILDERS': '0', 'HIRING CODERS': '0', 'DBSIZE':
'10783', 'EXTRA DESCRIPTIONS': '5343', 'MUDPROGS': '0', 'MUDTRIGS': '1613', 'RESETS': '0', 'ADULT MATERIAL': '0',
'MULTICLASSING': '1', 'NEWBIE FRIENDLY': '1', 'PLAYER CITIES': '1', 'PLAYER CLANS': '1', 'PLAYER CRAFTING': '1', 'PLAYER
GUILDS': '1', 'EQUIPMENT SYSTEM': 'Level and Skill', 'MULTIPLAYING': 'No', 'PLAYERKILLING': 'Restricted', 'QUEST SYSTEM':
'Integrated', 'ROLEPLAYING': 'Encouraged', 'TRAINING SYSTEM': 'Skill', 'WORLD ORIGINALITY': 'All Original', 'ATCP': '1',
'SSL': '0', 'ZMP': '0'}
DEBUG stream_writer.py:699 begin sub-negotiation SB MXP
DEBUG stream_writer.py:686 sub-negotiation cmd MXP SE completion byte
DEBUG stream_writer.py:3174 pending_option[SB + MXP] = False
DEBUG stream_writer.py:1682 MXP: b''
DEBUG client_base.py:89 EOF from server, closing.
INFO client_base.py:106 Connection closed to <Peer 51.161.5.210 4000>
INFO fingerprinting.py:746 connection for server fingerprint 2d1d3bcf28abae7b
tbaMUD (mud.theghostbox.com:4001)
Connection Banner:
Server URLs
Server Info
Players online: 0 [2]
Uptime: 72 days
Server Location: 🇨🇦 Canada (GeoIP)
Protocol Support
MUD-specific protocols detected via MSSP flags or Telnet negotiation.
MSSP: Yes (MSSP)
GMCP: No
MSDP: Negotiated
MCCP: No
MCCP2: No
MXP: Negotiated
MSP: Negotiated
MCP: No
ZMP: No
Telnet Fingerprint
This fingerprint is shared by 54 other servers.
Options requested from client: ATCP, CHARSET, MXP, NAWS, TTYPE
The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata.
Show JSON
{
"server-probe": {
"fingerprint": "2d1d3bcf28abae7b",
"fingerprint-data": {
"offered-options": [],
"probed-protocol": "server",
"refused-options": [],
"requested-options": [
"ATCP",
"CHARSET",
"MXP",
"NAWS",
"TTYPE"
],
"scan-type": "quick"
},
"session_data": {
"banner_after_return": "",
"banner_before_return": "\r\nAttempting to Detect Client, Please Wait...\r\n\u001b[7z\r\n\u001b[H\u001b[J\u001b[38;5;214m[\u001b[38;5;208mClient\u001b[38;5;214m] \u001b[38;5;145mxterm-256color\u001b[0;00m | \u001b[38;5;214m[\u001b[38;5;208mColors\u001b[38;5;214m] \u001b[38;5;145m256\u001b[0;00m | \u001b[38;5;214m[\u001b[38;5;208mMXP\u001b[38;5;214m] \u001b[38;5;145mYes\u001b[0;00m | \u001b[38;5;214m[\u001b[38;5;208mMSDP\u001b[38;5;214m] \u001b[38;5;145mYes\u001b[0;00m | \u001b[38;5;214m[\u001b[38;5;208mATCP\u001b[38;5;214m] \u001b[38;5;145mNo\u001b[0;00m\r\n\r\n T B A M U D\r\n 2 0 2 1 \r\n\r\n Based on CircleMUD by Jeremy Elson and DikuMUD by Hans-Henrik Staerfeldt,\r\n Katja Nyboe, Tom Madsen, Michael Seifert, and Sebastian Hammer\r\n\r\nBy what name do you wish to be known? ",
"dsr_replies": 0,
"dsr_requests": 0,
"encoding": "UTF-8",
"mssp": {
"CRAWL DELAY": "-1",
"NAME": "tbaMUD",
"PLAYERS": "0",
"UPTIME": "1764812682"
},
"mxp": [
"activated"
],
"option_states": {
"server_offered": {
"MSDP": true,
"MSP": true,
"MSSP": true
},
"server_requested": {
"ATCP": true,
"CHARSET": true,
"MXP": true,
"NAWS": true,
"TTYPE": true
}
},
"scan_type": "quick",
"timing": {
"probe": 0.0,
"total": 3.7789852619171143
}
}
},
"sessions": [
{
"connected": "2026-02-14T17:11:25.586269+00:00",
"host": "mud.theghostbox.com",
"ip": "51.161.5.210",
"port": 4001
}
]
}
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 mud.theghostbox.com 4001
Show Logfile
DEBUG client.py:965 Fingerprint client: host=mud.theghostbox.com port=4001
INFO client_base.py:175 Connected to <Peer 51.161.5.210 4001>
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: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: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 CHARSET
DEBUG stream_writer.py:1770 handle_do(CHARSET)
DEBUG stream_writer.py:3174 pending_option[WILL + CHARSET] = True
DEBUG stream_writer.py:950 send IAC WILL CHARSET
DEBUG stream_writer.py:3174 local_option[CHARSET] = True
DEBUG stream_writer.py:3174 pending_option[WILL + CHARSET] = False
DEBUG stream_writer.py:707 recv IAC WILL MSDP
DEBUG stream_writer.py:723 WILL MSDP unsolicited
DEBUG stream_writer.py:1900 handle_will(MSDP)
DEBUG stream_writer.py:3174 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:950 send IAC DO MSDP
DEBUG stream_writer.py:3174 remote_option[MSDP] = True
DEBUG stream_writer.py:3174 pending_option[DO + MSDP] = 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 DO ATCP
DEBUG stream_writer.py:1770 handle_do(ATCP)
DEBUG stream_writer.py:3174 pending_option[WILL + ATCP] = True
DEBUG stream_writer.py:950 send IAC WILL ATCP
DEBUG stream_writer.py:3174 local_option[ATCP] = True
DEBUG stream_writer.py:3174 pending_option[WILL + ATCP] = False
DEBUG stream_writer.py:707 recv IAC WILL MSP
DEBUG stream_writer.py:723 WILL MSP unsolicited
DEBUG stream_writer.py:1900 handle_will(MSP)
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = True
DEBUG stream_writer.py:950 send IAC DO MSP
DEBUG stream_writer.py:3174 remote_option[MSP] = True
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = 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:699 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:686 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:2065 [SB + TTYPE] unsolicited
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 CHARSET
DEBUG stream_writer.py:686 sub-negotiation cmd CHARSET SE completion byte
DEBUG stream_writer.py:2065 [SB + CHARSET] unsolicited
DEBUG client.py:304 encoding negotiated: UTF-8
DEBUG stream_writer.py:2149 send IAC SB CHARSET ACCEPTED UTF-8 IAC SE
DEBUG stream_writer.py:699 begin sub-negotiation SB MSDP
DEBUG stream_writer.py:686 sub-negotiation cmd MSDP SE completion byte
DEBUG stream_writer.py:2065 [SB + MSDP] unsolicited
DEBUG stream_writer.py:1669 MSDP: {'SERVER_ID': 'tbaMUD'}
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': 'tbaMUD', 'PLAYERS': '0', 'UPTIME': '1764812682', 'CRAWL DELAY': '-1'}
DEBUG stream_writer.py:699 begin sub-negotiation SB MXP
DEBUG stream_writer.py:686 sub-negotiation cmd MXP SE completion byte
DEBUG stream_writer.py:3174 pending_option[SB + MXP] = False
DEBUG stream_writer.py:1682 MXP: b''
DEBUG client_base.py:89 EOF from server, closing.
INFO client_base.py:106 Connection closed to <Peer 51.161.5.210 4001>
INFO fingerprinting.py:746 connection for server fingerprint 2d1d3bcf28abae7b