209.141.35.127:23

Connection Banner:

209.141.35.127:23

Encoding

  • Effective encoding: cp437

  • Scanner detected: ascii

Telnet Fingerprint

ff49fd3b5e85b7aa…

This fingerprint is unique to this server.

Options offered by server: ECHO, SGA

Options requested from client: AARDWOLF, ATCP, TTYPE

Data source: ff49fd3b5e85b7aa/5748b69888cdc2a5.json

The complete JSON record collected during the scan, including Telnet negotiation results and banner data.

{
  "server-probe": {
    "fingerprint": "ff49fd3b5e85b7aa",
    "fingerprint-data": {
      "offered-options": [
        "ECHO",
        "SGA"
      ],
      "probed-protocol": "server",
      "refused-options": [
        "AARDWOLF",
        "ATCP",
        "BINARY",
        "CHARSET",
        "COM_PORT",
        "EOR",
        "GMCP",
        "MSDP",
        "MSP",
        "MSSP",
        "MXP",
        "STATUS",
        "ZMP"
      ],
      "requested-options": [
        "AARDWOLF",
        "ATCP",
        "TTYPE"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "\r\n\ufffdo\ufffd\ufffd\ufffdS\ufffd\ufffd\ufffdo\ufffd\ufffd\ufffdH\ufffd\ufffd\ufffdI\r\n\ufffd\ufffd\ufffd\ufffd\ufffdJ\ufffdN\ufffd\ufffd\ufffdA\ufffd\ufffd\ufffdH[guest]\ufffd\ufffd\ufffd[\ufffdA\ufffdH[new]\ufffd\ufffd\ufffdU\ufffdG",
      "banner_before_return": "\r\nnetoworld.twbbs.org \ufffd\ufffd \ufffd\ufffd\ufffd\ufffd\ufffds\ufffd@\ufffd\ufffd \ufffd\ufffd 211.20.12.6\r\n\n\u001b[1;30;47m      \ufffdx\ufffdL     \ufffd|       \ufffdG   \u001b[0;36;47m\ufffde\ufffde\ufffde\ufffde\ufffde\ufffde\ufffde\ufffde\ufffde\u001b[1;30;47m   \ufffdy   \ufffdx \ufffd{    \ufffd\ufffd      \ufffdx\ufffdy  \u001b[m\r\n\u001b[1;30;47m\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd       \ufffdC      \u001b[0;36;47m\ufffd\ufffd\ufffd\ufffd              \ufffd\ufffd\ufffd\ufffd\u001b[1;30;47m   \ufffdL \ufffdx          \ufffdK   \ufffdx    \u001b[m\r\n\u001b[1;30;47m          \ufffd\ufffd    \ufffdL     \ufffd\ufffd  \u001b[0;36;47m\ufffdn \ufffd\ufffd\ufffdi\ufffdi  \ufffd\ufffd\ufffdi\ufffdi\ufffd\ufffd  \ufffdm\u001b[1;30;47m     \ufffdx     \ufffdG        \ufffdx  \ufffd\ufffd\u001b[m\r\n\u001b[1;30;47m       \ufffdC \ufffd\ufffd               \u001b[0;36;47m\ufffdn   \ufffdi\ufffdi\ufffd\ufffd\ufffd\ufffd  \ufffdi\ufffdi  \ufffdm\u001b[1;30;47m     \ufffdr\ufffdC   \ufffd\ufffd    \ufffdG  \ufffdx    \u001b[m\r\n\u001b[1;30;47m   \ufffd\ufffd     \ufffd\ufffd\ufffdw\ufffdw\ufffdw\ufffdw\ufffdw\ufffdt   \u001b[0;36;47m\ufffdn   \ufffdi\ufffdi\ufffd\ufffd    \ufffdi\ufffdi  \ufffdm\u001b[1;30;47m     \ufffd\ufffd               \ufffdx\ufffd\ufffd  \u001b[m\r\n\u001b[1;30;47m          \ufffd\ufffd    \ufffdG         \u001b[0;36;47m\ufffdn   \ufffdi\ufffdi      \ufffdi\ufffdi  \ufffdm\u001b[1;30;47m \ufffd\ufffd \ufffd{     \ufffdL \ufffdz\ufffdw\ufffdw\ufffds\ufffd}    \u001b[m\r\n\u001b[1;30;47m  \ufffdC  \ufffdL  \ufffd\ufffd               \u001b[0;36;47m\ufffdn   \ufffdi\ufffdi      \ufffdi\ufffdi  \ufffdm\u001b[1;30;47m    \ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd  \ufffdx \ufffdG   \u001b[m\r\n\u001b[1;30;47m          \ufffd\ufffd    \ufffd{         \u001b[0;36;47m\ufffdn   \ufffdi\ufffdi      \ufffdi\ufffdi\ufffd\ufffd\ufffdm\u001b[1;30;47m          \ufffdK    \ufffd\ufffd  \ufffdx      \u001b[m\r\n\u001b[1;30;47m          \ufffd\ufffd        \ufffdL     \u001b[0;36;47m\ufffdn   \ufffdi\ufffdi      \ufffdi\ufffdi\ufffd\ufffd   \ufffd\ufffd\u001b[1;30;47m             \ufffd\ufffd  \ufffdx    \ufffd{\u001b[m\r\n\u001b[1;30;47m  \ufffdy          \ufffd\ufffd           \u001b[0;36;47m\ufffdn   \ufffdi\ufffdi      \ufffdi\ufffd\ufffd   \ufffd\ufffd\ufffd\ufffd\u001b[1;30;47m           \ufffdG\ufffd\ufffd  \ufffd|\ufffdt \ufffd\ufffd \u001b[m\r\n\u001b[1;30;47m     \ufffdK     \ufffd\ufffd       \ufffd\ufffd    \u001b[0;36;47m\ufffd\ufffd\ufffd\ufffd                \ufffd\ufffd\ufffd\ufffd  \u001b[1;30;47m      \ufffd|     \ufffd\ufffd    \ufffdL    \u001b[m\r\n\u001b[1;30;47m\ufffdb\ufffdb\ufffdb\ufffdb\ufffdb\ufffd\ufffd   \ufffds           \u001b[0;36;47m \ufffd\ufffd\ufffdf\ufffdf\ufffdf\ufffdf\ufffdf\ufffdf\ufffdf\ufffdf\ufffd\ufffd    \u001b[1;30;47m\ufffdG       \ufffdC  \ufffd\ufffd\ufffdw\ufffdw\ufffdw\ufffdw\ufffdw\u001b[m\r\n\u001b[1;30;47m           \ufffd\ufffd\ufffd\ufffd\ufffd\ufffd    \ufffdC    \u001b[1;37m\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd     \u001b[1;30;47m\ufffd\ufffd        \ufffd\ufffd   \ufffd{     \u001b[m\r\n\u001b[1;30;47m   \ufffd\ufffd      \ufffd\ufffd  \ufffdx          \u001b[1;37m\ufffd\ufffd \u001b[0;33;47m\ufffd\ufffd  \ufffd\ufffd  \ufffds  \ufffd@  \ufffd\ufffd \u001b[1;30m\ufffd\ufffd          \ufffd\ufffd   \ufffd\ufffd     \ufffd\ufffd   \u001b[m\r\n\u001b[1;30;47m   \ufffdx  \ufffdG      \ufffdu\ufffdw\ufffdw\ufffdw\ufffdw\ufffd\ufffd\u001b[1;37m\ufffd\ufffd\ufffdC\u001b[1;30m\ufffdw\ufffdw\ufffdw\ufffdw\ufffdw\ufffdw\ufffdw\ufffdw\ufffdC\ufffd\ufffd \ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd          \u001b[m\r\n\u001b[1;30;47m\ufffd\ufffd \ufffdx    \ufffdz    \ufffdx\ufffd\ufffd        \u001b[1;37m\ufffd\ufffd\u001b[0;32;47m\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffdE\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u001b[1;30m\ufffd\ufffd    \ufffdy \ufffdx   \ufffdG   \ufffd\ufffd  \ufffdK\ufffdu\ufffdw\u001b[m\r\n\u001b[1;30;47m   \ufffd|\ufffd\ufffd\ufffdw\ufffdw\ufffdw\ufffdw\ufffd}   \ufffds     \u001b[1;37m\ufffd\ufffd\u001b[1;30m\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd       \ufffdx                  \u001b[m\r\n\u001b[m\r\n\ufffdw\ufffd\ufffd\ufffd\ufffd\ufffd{\ufffdi\u001b[1;37;45m \ufffd\ufffd\ufffd\ufffd\ufffds\ufffd@\ufffd\ufffd \u001b[0m\ufffdj(\ufffd\ufffd\ufffde\ufffd`\ufffd@\ufffd\ufffd 0 \ufffdH\ufffdW\ufffdu)\r\n\u001b[1;34m\ufffd\ufffd\ufffd\ufffd\ufffdj\ufffd\ufffd\ufffdK\ufffd\ufffd\ufffdH\ufffd\ufffd\ufffdG \u001b[1;37m\ufffdz\ufffdi\ufffd\ufffd\ufffd\ufffd\ufffdD\ufffdH\u001b[40;0m\r\n                   \ufffd\ufffd\ufffd\ufffd \u001b[1;36m\ufffdu\ufffdW \u001b[1;32m\ufffd\ufffd\ufffdU\u001b[0m \ufffd\ufffd\ufffdH\r\n\u001b[0m                   \ufffdb\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffdN\ufffd| \u001b[1;5;31m\ufffd\ufffd\ufffd\ufffd\u001b[0m \ufffd\ufffd~~~~~~  :>\r\n\u001b[0m\r\n\ufffd\ufffd\ufffd\ufffd\ufffdJ\ufffdN\ufffd\ufffd\ufffdA\ufffd\ufffd\ufffdH[guest]\ufffd\ufffd\ufffd[\ufffdA\ufffdH[new]\ufffd\ufffd\ufffdU\ufffdG",
      "encoding": "ascii",
      "option_states": {
        "server_offered": {
          "ECHO": true,
          "SGA": true
        },
        "server_requested": {
          "TTYPE": true
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.5037262439727783,
        "total": 5.311973810195923
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-02-09T19:33:32.709049+00:00",
      "host": "209.141.35.127",
      "ip": "209.141.35.127",
      "port": 23
    }
  ]
}

Connection Log

Debug-level log of the Telnet negotiation session, showing each IAC (Interpret As Command) exchange between client and server.

DEBUG client.py:863 Fingerprint client: host=209.141.35.127 port=23
INFO client_base.py:174 Connected to <Peer 209.141.35.127 23>
DEBUG stream_writer.py:706 recv IAC DO TTYPE
DEBUG stream_writer.py:1767 handle_do(TTYPE)
DEBUG stream_writer.py:3167 pending_option[WILL + TTYPE] = True
DEBUG stream_writer.py:947 send IAC WILL TTYPE
DEBUG stream_writer.py:3167 pending_option[SB + TTYPE] = True
DEBUG stream_writer.py:3167 local_option[TTYPE] = True
DEBUG stream_writer.py:3167 pending_option[WILL + TTYPE] = False
DEBUG stream_writer.py:698 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:685 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:3167 pending_option[SB + TTYPE] = False
DEBUG stream_writer.py:2234 recv TTYPE SEND: b''
DEBUG stream_writer.py:2247 send IAC SB TTYPE IS b'xterm-256color' IAC SE
DEBUG stream_writer.py:706 recv IAC WILL ECHO
DEBUG stream_writer.py:722 WILL ECHO unsolicited
DEBUG stream_writer.py:1897 handle_will(ECHO)
DEBUG stream_writer.py:3167 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:947 send IAC DO ECHO
DEBUG stream_writer.py:3167 remote_option[ECHO] = True
DEBUG stream_writer.py:3167 pending_option[DO + ECHO] = False
DEBUG stream_writer.py:706 recv IAC WILL SGA
DEBUG stream_writer.py:722 WILL SGA unsolicited
DEBUG stream_writer.py:1897 handle_will(SGA)
DEBUG stream_writer.py:3167 pending_option[DO + SGA] = True
DEBUG stream_writer.py:947 send IAC DO SGA
DEBUG stream_writer.py:3167 remote_option[SGA] = True
DEBUG stream_writer.py:3167 pending_option[DO + SGA] = False
DEBUG client_base.py:460 negotiation complete after 2.00s.
DEBUG stream_writer.py:3167 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:947 send IAC DO BINARY
DEBUG stream_writer.py:3167 pending_option[DO + STATUS] = True
DEBUG stream_writer.py:947 send IAC DO STATUS
DEBUG stream_writer.py:3167 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:947 send IAC DO CHARSET
DEBUG stream_writer.py:3167 pending_option[DO + EOR] = True
DEBUG stream_writer.py:947 send IAC DO EOR
DEBUG stream_writer.py:3167 pending_option[DO + COM_PORT_OPTION] = True
DEBUG stream_writer.py:947 send IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:3167 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:947 send IAC DO GMCP
DEBUG stream_writer.py:3167 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:947 send IAC DO MSDP
DEBUG stream_writer.py:3167 pending_option[DO + MSSP] = True
DEBUG stream_writer.py:947 send IAC DO MSSP
DEBUG stream_writer.py:3167 pending_option[DO + MSP] = True
DEBUG stream_writer.py:947 send IAC DO MSP
DEBUG stream_writer.py:3167 pending_option[DO + MXP] = True
DEBUG stream_writer.py:947 send IAC DO MXP
DEBUG stream_writer.py:3167 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:947 send IAC DO ZMP
DEBUG stream_writer.py:3167 pending_option[DO + AARDWOLF] = True
DEBUG stream_writer.py:947 send IAC DO AARDWOLF
DEBUG stream_writer.py:3167 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:947 send IAC DO ATCP
DEBUG stream_writer.py:706 recv IAC DO AARDWOLF
DEBUG stream_writer.py:1767 handle_do(AARDWOLF)
DEBUG stream_writer.py:3167 pending_option[WILL + AARDWOLF] = True
DEBUG stream_writer.py:947 send IAC WILL AARDWOLF
DEBUG stream_writer.py:3167 local_option[AARDWOLF] = True
DEBUG stream_writer.py:3167 pending_option[WILL + AARDWOLF] = False
DEBUG stream_writer.py:706 recv IAC DO ATCP
DEBUG stream_writer.py:1767 handle_do(ATCP)
DEBUG stream_writer.py:3167 pending_option[WILL + ATCP] = True
DEBUG stream_writer.py:947 send IAC WILL ATCP
DEBUG stream_writer.py:3167 local_option[ATCP] = True
DEBUG stream_writer.py:3167 pending_option[WILL + ATCP] = False
INFO fingerprinting.py:737 new server fingerprint ff49fd3b5e85b7aa
INFO client_base.py:105 Connection closed to <Peer 209.141.35.127 23>

Generated by telnetlib3-fingerprint

telnetlib3-fingerprint --loglevel=debug 209.141.35.127 23