cvic.org:23
Connection Banner:
Server URLs
- cvic.org:23
- Website: cvic.org
Server Location: 🇹🇼 Taiwan (GeoIP)
Encoding
Effective encoding: big5 (with ambiguous width as wide)
Override: big5 (from bbslist.txt)
Scanner detected: big5
Telnet Fingerprint
This fingerprint is shared by 1 other server.
Options offered by server: BINARY, ECHO, SGA
Options requested from client: TTYPE
The complete JSON record collected during the scan, including Telnet negotiation results and banner data.
Show JSON
{
"server-probe": {
"fingerprint": "87d3b4ecfcf80bae",
"fingerprint-data": {
"offered-options": [
"BINARY",
"ECHO",
"SGA"
],
"probed-protocol": "server",
"refused-options": [
"AARDWOLF",
"ATCP",
"CHARSET",
"COM_PORT",
"EOR",
"GMCP",
"MCCP2",
"MCCP3",
"MSDP",
"MSP",
"MSSP",
"MXP",
"STATUS",
"ZMP"
],
"requested-options": [
"TTYPE"
],
"scan-type": "quick"
},
"session_data": {
"banner_after_return": "\r\n\u9019\u88e1\u6c92\u6709\u9019\u500b\u4eba\u5566\uff01\r\n\u8acb\u8f38\u5165\u4ee3\u865f\uff0c\u6216\u4ee5[guest]\u53c3\u89c0\uff0c\u4ee5[new]\u8a3b\u518a\uff1a",
"banner_before_return": "\r\n\u9023\u7dda\u4e2d...\r\n\u3010\u4eba\u6c11\u516c\u793e\u3011(cvic.org) FreeBSD-4.7 (\u7cfb\u7d71\u8ca0\u8f09 0.00 0.00 0.00) [ttys0]\r\n\n\n\n\n\n\n\n\n \u001b[30;47m \u001b[m\r\n \u001b[30;47m \u001b[m\r\n \u001b[30;47m \u6709\u4e86\u96fb\u8a71\uff0c\u4f60\u9084\u5beb\u4fe1\u55ce\u3002\u6a5f\u68b0\u4ee4\u4eba\u61f6\u60f0\u8d77\u4f86\u4e86\u3002\u6709\u4e86\u6587\u5b57\uff0c\u4eba\u985e\u4e0d \u001b[m\r\n \u001b[30;47m \u5fc5\u518d\u53bb\u8a18\u61b6\uff1b\u6709\u4e86\u66f8\u672c\uff0c\u4eba\u985e\u4ea6\u4e0d\u9858\u610f\u601d\u60f3\u3002\u4eba\uff0c\u5927\u6982\u4e5f\u50cf\u5b87\u5b99\u4e00 \u001b[m\r\n \u001b[30;47m \u822c\uff0c\u81a8\u8139\u4e4b\u5f8c\u5c31\u4e0d\u4e00\u6a23\u4e86\u3002\u5b87\u5b99\u4e2d\u7684\u661f\u96f2\uff0c\u5411\u5404\u65b9\u64f4\u6563\uff0c\u64f4\u6563\u7684\u7d50 \u001b[m\r\n \u001b[30;47m \u679c\uff0c\u662f\u589e\u52a0\u4e86\u661f\u96f2\u7684\u9ad4\u7a4d\uff0c\u800c\u6e1b\u5c11\u4e86\u661f\u96f2\u7684\u5bc6\u5ea6\u3002\u6211\u662f\u5728\u4ec0\u9ebc\u5730\u65b9 \u001b[m\r\n \u001b[30;47m \u770b\u4f86\u7684\uff0c\u4e00\u5b9a\u662f\u5b78\u6821\u88e1\u7684\u5716\u66f8\u9928\u3002\u5b87\u5b99\u65a5\u529b\u7684\u4f5c\u7528\uff0c\u6bd4\u842c\u6709\u5f15\u529b\u9084 \u001b[m\r\n \u001b[30;47m \u8981\u5927\uff0c\u6240\u4ee5\u624d\u4f7f\u7269\u8cea\u4e0d\u662f\u4e92\u76f8\u805a\u650f\uff0c\u53cd\u800c\u4e92\u76f8\u5206\u6563\u3002\u4f60\u770b\uff0c\u4eba\u8c48\u4e0d \u001b[m\r\n \u001b[30;47m \u662f\u4e00\u6a23\u3002\u5662\uff0c\u5ffd\u7136\u8a18\u8d77\u4e00\u9996\u6b4c\u4f86\u4e86\uff0c\u6211\u53ea\u6703\u54fc\u5169\u53e5\uff0c\u540d\u5b57\u597d\u50cf\u53eb\u300c \u001b[m\r\n \u001b[30;47m \u90fd\u5f88\u597d\u300d\uff0c\u662f\u9019\u6a23\u7684\uff1a \u001b[m\r\n \u001b[30;47m \u001b[m\r\n \u001b[30;47m \u90a3\u500b\u8001\u592a\u967d\u7167\u5728\u982d\u9802\u4e0a \u001b[m\r\n \u001b[30;47m \u5176\u4ed6\u90fd\u662f\u4e0d\u8981\u7dca\u7684\u5566 \u001b[m\r\n \u001b[30;47m \u001b[m\r\n \u001b[30;47m \u662f\u4e86\uff0c\u4eca\u5929\u5929\u6c23\u5f88\u597d\uff0c\u5f85\u6703\u5152\uff0c\u4f60\u53bb\u505a\u4f60\u9ad8\u8208\u505a\u7684\u4e8b\uff0c\u6211\u53bb\u505a\u6211\u9ad8 \u001b[m\r\n \u001b[30;47m \u8208\u505a\u7684\u4e8b\u3002 \u001b[m\r\n \u001b[30;47m \u2500\u2500 \u897f\u897f\u300a\u6211\u57ce\u300b \u001b[m\r\n \u001b[30;47m \u001b[m\r\n\u001b[m\r\n\u6b61\u8fce\u5149\u81e8\u3010\u001b[1;37;45m \u4eba\u6c11\u516c\u793e \u001b[0m\u3011(\u76ee\u524d\u7e3d\u5171\u6709 1 \u4eba\u4e0a\u7dda)\r\n\u001b[1;34m\u4eba\u6c11\u516c\u793e\u7684\u4fe1\u606f\uff1a \u001b[1;37m\u60a8\u53ef\u66fe\u77e5\u9053\uff1f\u001b[40;0m\r\n \u001b[m\u001b[0m \u001b[m\u001b[0m\r\n\u8acb\u8f38\u5165\u4ee3\u865f\uff0c\u6216\u4ee5[guest]\u53c3\u89c0\uff0c\u4ee5[new]\u8a3b\u518a\uff1a",
"dsr_replies": 0,
"dsr_requests": 0,
"encoding": "big5",
"option_states": {
"server_offered": {
"AARDWOLF": false,
"ATCP": false,
"ECHO": true,
"GMCP": false,
"MCCP2": false,
"MCCP3": false,
"MSDP": false,
"MSP": false,
"MSSP": false,
"MXP": false,
"SGA": true,
"ZMP": false
},
"server_requested": {
"AARDWOLF": false,
"ATCP": false,
"ECHO": false,
"GMCP": false,
"MCCP2": false,
"MCCP3": false,
"MSDP": false,
"MSP": false,
"MSSP": false,
"MXP": false,
"TTYPE": true,
"ZMP": false
}
},
"scan_type": "quick",
"timing": {
"probe": 0.5047762393951416,
"total": 11.255765438079834
}
}
},
"sessions": [
{
"connected": "2026-03-07T04:10:38.773902+00:00",
"host": "cvic.org",
"ip": "114.34.77.233",
"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 cvic.org 23
Show Logfile
DEBUG client.py:1193 Fingerprint client: host=cvic.org port=23
INFO client_base.py:186 Connected to <Peer 114.34.77.233 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 DO TTYPE
DEBUG stream_writer.py:1836 handle_do(TTYPE)
DEBUG stream_writer.py:3330 pending_option[WILL + TTYPE] = True
DEBUG stream_writer.py:1019 send IAC WILL TTYPE
DEBUG stream_writer.py:3330 pending_option[SB + TTYPE] = True
DEBUG stream_writer.py:3330 local_option[TTYPE] = True
DEBUG stream_writer.py:3330 pending_option[WILL + TTYPE] = False
DEBUG stream_writer.py:768 recv IAC DONT MXP
DEBUG stream_writer.py:1959 handle_dont(MXP)
DEBUG stream_writer.py:3330 pending_option[WILL + MXP] = False
DEBUG stream_writer.py:3330 local_option[MXP] = False
DEBUG stream_writer.py:768 recv IAC DONT ATCP
DEBUG stream_writer.py:1959 handle_dont(ATCP)
DEBUG stream_writer.py:3330 pending_option[WILL + ATCP] = False
DEBUG stream_writer.py:3330 local_option[ATCP] = False
DEBUG stream_writer.py:768 recv IAC DONT MCCP3_COMPRESS
DEBUG stream_writer.py:1959 handle_dont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3330 pending_option[WILL + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3330 local_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:768 recv IAC DONT GMCP
DEBUG stream_writer.py:1959 handle_dont(GMCP)
DEBUG stream_writer.py:3330 pending_option[WILL + GMCP] = False
DEBUG stream_writer.py:3330 local_option[GMCP] = False
DEBUG stream_writer.py:768 recv IAC DONT AARDWOLF
DEBUG stream_writer.py:1959 handle_dont(AARDWOLF)
DEBUG stream_writer.py:3330 pending_option[WILL + AARDWOLF] = False
DEBUG stream_writer.py:3330 local_option[AARDWOLF] = False
DEBUG stream_writer.py:768 recv IAC DONT MSP
DEBUG stream_writer.py:1959 handle_dont(MSP)
DEBUG stream_writer.py:3330 pending_option[WILL + MSP] = False
DEBUG stream_writer.py:3330 local_option[MSP] = False
DEBUG stream_writer.py:768 recv IAC DONT MSDP
DEBUG stream_writer.py:1959 handle_dont(MSDP)
DEBUG stream_writer.py:3330 pending_option[WILL + MSDP] = False
DEBUG stream_writer.py:3330 local_option[MSDP] = False
DEBUG stream_writer.py:768 recv IAC DONT MSSP
DEBUG stream_writer.py:1959 handle_dont(MSSP)
DEBUG stream_writer.py:3330 pending_option[WILL + MSSP] = False
DEBUG stream_writer.py:3330 local_option[MSSP] = False
DEBUG stream_writer.py:768 recv IAC DONT ZMP
DEBUG stream_writer.py:1959 handle_dont(ZMP)
DEBUG stream_writer.py:3330 pending_option[WILL + ZMP] = False
DEBUG stream_writer.py:3330 local_option[ZMP] = False
DEBUG stream_writer.py:768 recv IAC DONT MCCP2_COMPRESS
DEBUG stream_writer.py:1959 handle_dont(MCCP2_COMPRESS)
DEBUG stream_writer.py:3330 pending_option[WILL + MCCP2_COMPRESS] = False
DEBUG stream_writer.py:3330 local_option[MCCP2_COMPRESS] = False
DEBUG stream_writer.py:768 recv IAC WONT MXP
DEBUG stream_writer.py:2148 handle_wont(MXP)
DEBUG stream_writer.py:3330 remote_option[MXP] = False
DEBUG stream_writer.py:3330 pending_option[DO + MXP] = False
DEBUG stream_writer.py:768 recv IAC WONT ATCP
DEBUG stream_writer.py:2148 handle_wont(ATCP)
DEBUG stream_writer.py:3330 remote_option[ATCP] = False
DEBUG stream_writer.py:3330 pending_option[DO + ATCP] = False
DEBUG stream_writer.py:768 recv IAC WONT MCCP3_COMPRESS
DEBUG stream_writer.py:2148 handle_wont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3330 remote_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3330 pending_option[DO + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:768 recv IAC WONT GMCP
DEBUG stream_writer.py:2148 handle_wont(GMCP)
DEBUG stream_writer.py:3330 remote_option[GMCP] = False
DEBUG stream_writer.py:3330 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:768 recv IAC WONT AARDWOLF
DEBUG stream_writer.py:2148 handle_wont(AARDWOLF)
DEBUG stream_writer.py:3330 remote_option[AARDWOLF] = False
DEBUG stream_writer.py:3330 pending_option[DO + AARDWOLF] = False
DEBUG stream_writer.py:768 recv IAC WONT MSP
DEBUG stream_writer.py:2148 handle_wont(MSP)
DEBUG stream_writer.py:3330 remote_option[MSP] = False
DEBUG stream_writer.py:3330 pending_option[DO + MSP] = False
DEBUG stream_writer.py:768 recv IAC WONT MSDP
DEBUG stream_writer.py:2148 handle_wont(MSDP)
DEBUG stream_writer.py:3330 remote_option[MSDP] = False
DEBUG stream_writer.py:3330 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:768 recv IAC WONT MSSP
DEBUG stream_writer.py:2148 handle_wont(MSSP)
DEBUG stream_writer.py:3330 remote_option[MSSP] = False
DEBUG stream_writer.py:3330 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:768 recv IAC WONT ZMP
DEBUG stream_writer.py:2148 handle_wont(ZMP)
DEBUG stream_writer.py:3330 remote_option[ZMP] = False
DEBUG stream_writer.py:3330 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:768 recv IAC WONT MCCP2_COMPRESS
DEBUG stream_writer.py:2148 handle_wont(MCCP2_COMPRESS)
DEBUG stream_writer.py:3330 remote_option[MCCP2_COMPRESS] = False
DEBUG stream_writer.py:3330 pending_option[DO + MCCP2_COMPRESS] = False
DEBUG stream_writer.py:762 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:749 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:3330 pending_option[SB + TTYPE] = False
DEBUG stream_writer.py:2353 recv TTYPE SEND: b''
DEBUG stream_writer.py:2365 send IAC SB TTYPE IS b'xterm-256color' IAC SE
DEBUG client_base.py:496 negotiation complete after 0.81s.
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 DO ECHO
DEBUG stream_writer.py:1836 handle_do(ECHO)
DEBUG stream_writer.py:3330 local_option[ECHO] = False
DEBUG stream_writer.py:1019 send IAC WONT ECHO
DEBUG stream_writer.py:3330 local_option[ECHO] = True
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: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:768 recv IAC WILL BINARY
DEBUG stream_writer.py:1994 handle_will(BINARY)
DEBUG stream_writer.py:993 skip DO BINARY; pending_option = True
DEBUG stream_writer.py:3330 remote_option[BINARY] = True
DEBUG stream_writer.py:3330 pending_option[DO + BINARY] = False
DEBUG stream_writer.py:768 recv IAC WONT STATUS
DEBUG stream_writer.py:2148 handle_wont(STATUS)
DEBUG stream_writer.py:3330 remote_option[STATUS] = False
DEBUG stream_writer.py:3330 pending_option[DO + STATUS] = False
DEBUG stream_writer.py:768 recv IAC WONT CHARSET
DEBUG stream_writer.py:2148 handle_wont(CHARSET)
DEBUG stream_writer.py:3330 remote_option[CHARSET] = False
DEBUG stream_writer.py:3330 pending_option[DO + CHARSET] = False
DEBUG stream_writer.py:768 recv IAC WONT EOR
DEBUG stream_writer.py:2148 handle_wont(EOR)
DEBUG stream_writer.py:3330 remote_option[EOR] = False
DEBUG stream_writer.py:3330 pending_option[DO + EOR] = False
DEBUG stream_writer.py:768 recv IAC WONT COM_PORT_OPTION
DEBUG stream_writer.py:2148 handle_wont(COM_PORT_OPTION)
DEBUG stream_writer.py:3330 remote_option[COM_PORT_OPTION] = False
DEBUG stream_writer.py:3330 pending_option[DO + COM_PORT_OPTION] = False
INFO fingerprinting.py:746 new server fingerprint 87d3b4ecfcf80bae
INFO client_base.py:118 Connection closed to <Peer 114.34.77.233 23>