146.59.43.83

146.59.43.83:23

Connection Banner:

Synchronet BBS for Linux Version 3.20 Telnet connection from: 143.198.61.53 Resolving hostname... _ _ Synchronet BBS for Linux Version 3.20 Copyright 2022 Rob Swindell +​-----+ +​--+ -+ --- +​-----+ +​----+ +​-----+ +- -+ +​-----+ +- -+ +​-----+ \|\| \|\| \|\| \| \|\| \|\|\| \|\|-​---+ \|\|-​--+ \|\| \|\| \|\| \| \|\| \|\|---\|\| \|\| \|\| \|+-- +​----++ +- +​--+ --- +- +- ++ +​-----+ +​-----+ +- -+ +​-----+ +​-----+ CLIENT CONN: Telnet ADDR: modem.xyz [143.198.61.53] TERM: 80x25 US-ASCII / DUMB SERVER NAME: DniproWave BBS ADDR: bbs.net.ua NODE: 3 (of 12) - Ubuntu 22.04.4 LTS x86_64 TIME: Tue Apr 07 2026 08:37:05 EEST ADMN: Max If you are a new user to the system, type "New" now. Otherwise, enter your user name or number now. NN: Enter User Name or 'New' Login: ro

Server URLs

Server Location: 🇵🇱 Poland (GeoIP)

BBS Software

Detected: Synchronet

Encoding

  • Effective encoding: utf-8

  • Override: utf-8 (from bbslist.txt)

  • Scanner detected: utf-8

Telnet Fingerprint

cdf52165b1ba8b95

This fingerprint is shared by 375 other servers.

Options offered by server: AARDWOLF, ATCP, ECHO, GMCP, MCCP2, MCCP3, MSDP, MSP, MSSP, MXP, SGA, ZMP

Options requested from client: NAWS, NEW_ENVIRON, TSPEED, TTYPE

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

Show JSON
{
  "server-probe": {
    "fingerprint": "cdf52165b1ba8b95",
    "fingerprint-data": {
      "offered-options": [
        "AARDWOLF",
        "ATCP",
        "ECHO",
        "GMCP",
        "MCCP2",
        "MCCP3",
        "MSDP",
        "MSP",
        "MSSP",
        "MXP",
        "SGA",
        "ZMP"
      ],
      "probed-protocol": "server",
      "refused-options": [
        "BINARY",
        "CHARSET",
        "COM_PORT",
        "EOR",
        "STATUS"
      ],
      "requested-options": [
        "NAWS",
        "NEW_ENVIRON",
        "TSPEED",
        "TTYPE"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "ro\b\b ",
      "banner_before_return": "\r\nSynchronet BBS for Linux  Version 3.20\r\nTelnet connection from: 143.198.61.53\r\nResolving hostname...\r\n\r\n\u001b[s\u001b[0c\u001b[255B\u001b[255C\b_\u001b[6n\u001b[u\u001b[!_\r\ufeff\u001b[6n\u001b[0m_\u001b[2J\u001b[H\f\r\r      Synchronet BBS for Linux  Version 3.20  Copyright 2022 Rob Swindell\r\n\r\n  +-----+ +--+ -+  ---  +-----+ +----+ +-----+ +-   -+ +-----+ +-   -+ +-----+\r\n  ||   || || | ||  |||  ||----+ ||---+ ||   || || | || ||---|| ||   || |+--\r\n  +----++ +- +--+  ---  +-      +-  ++ +-----+ +-----+ +-   -+ +-----+ +-----+\r\n\r\nCLIENT CONN: Telnet\r\n       ADDR: modem.xyz [143.198.61.53]\r\n       TERM: 80x25 US-ASCII / DUMB\r\nSERVER NAME: DniproWave BBS\r\n       ADDR: bbs.net.ua\r\n       NODE: 3 (of 12) - Ubuntu 22.04.4 LTS x86_64\r\n       TIME: Tue Apr 07 2026 08:37:05 EEST\r\n       ADMN: Max\r\n\r\nIf you are a new user to the system, type \"New\" now.\r\nOtherwise, enter your user name or number now.\r\n\r\nNN: \rEnter User Name or 'New'\r\nLogin: ",
      "dsr_replies": 2,
      "dsr_requests": 2,
      "encoding": "utf-8",
      "option_states": {
        "server_offered": {
          "AARDWOLF": true,
          "ATCP": true,
          "ECHO": true,
          "GMCP": true,
          "MCCP2": true,
          "MCCP3": true,
          "MSDP": true,
          "MSP": true,
          "MSSP": true,
          "MXP": true,
          "SGA": true,
          "ZMP": true
        },
        "server_requested": {
          "AARDWOLF": false,
          "ATCP": false,
          "GMCP": false,
          "MCCP2": false,
          "MCCP3": false,
          "MSDP": false,
          "MSP": false,
          "MSSP": false,
          "MXP": false,
          "NAWS": true,
          "NEW_ENVIRON": true,
          "SNDLOC": false,
          "TSPEED": true,
          "TTYPE": true,
          "ZMP": false
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.5054323673248291,
        "total": 15.977526426315308
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-03-07T04:09:30.622881+00:00",
      "host": "146.59.43.83",
      "ip": "146.59.43.83",
      "port": 23
    },
    {
      "connected": "2026-04-05T18:36:33.422540+00:00",
      "host": "146.59.43.83",
      "ip": "146.59.43.83",
      "port": 23
    },
    {
      "connected": "2026-04-07T05:37:16.235856+00:00",
      "host": "146.59.43.83",
      "ip": "146.59.43.83",
      "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 146.59.43.83 23
Show Logfile
DEBUG client.py:1200 Fingerprint client: host=146.59.43.83 port=23
INFO client_base.py:190 Connected to <Peer 146.59.43.83 23>
DEBUG stream_writer.py:3384 pending_option[WILL + ZMP] = True
DEBUG stream_writer.py:1024 send IAC WILL ZMP
DEBUG stream_writer.py:3384 pending_option[WILL + MSSP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSSP
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC WILL MCCP2_COMPRESS
DEBUG stream_writer.py:3384 pending_option[WILL + GMCP] = True
DEBUG stream_writer.py:1024 send IAC WILL GMCP
DEBUG stream_writer.py:3384 pending_option[WILL + MSP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSP
DEBUG stream_writer.py:3384 pending_option[WILL + AARDWOLF] = True
DEBUG stream_writer.py:1024 send IAC WILL AARDWOLF
DEBUG stream_writer.py:3384 pending_option[WILL + MXP] = True
DEBUG stream_writer.py:1024 send IAC WILL MXP
DEBUG stream_writer.py:3384 pending_option[WILL + ATCP] = True
DEBUG stream_writer.py:1024 send IAC WILL ATCP
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC WILL MCCP3_COMPRESS
DEBUG stream_writer.py:3384 pending_option[WILL + MSDP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSDP
DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:1024 send IAC DO ZMP
DEBUG stream_writer.py:3384 pending_option[DO + MSSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSSP
DEBUG stream_writer.py:3384 pending_option[DO + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC DO MCCP2_COMPRESS
DEBUG stream_writer.py:3384 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:1024 send IAC DO GMCP
DEBUG stream_writer.py:3384 pending_option[DO + MSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSP
DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = True
DEBUG stream_writer.py:1024 send IAC DO AARDWOLF
DEBUG stream_writer.py:3384 pending_option[DO + MXP] = True
DEBUG stream_writer.py:1024 send IAC DO MXP
DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:1024 send IAC DO ATCP
DEBUG stream_writer.py:3384 pending_option[DO + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC DO MCCP3_COMPRESS
DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:1024 send IAC DO MSDP
DEBUG stream_writer.py:773 recv IAC DONT ZMP
DEBUG stream_writer.py:2010 handle_dont(ZMP)
DEBUG stream_writer.py:3384 pending_option[WILL + ZMP] = False
DEBUG stream_writer.py:3384 local_option[ZMP] = False
DEBUG stream_writer.py:773 recv IAC DONT MSSP
DEBUG stream_writer.py:2010 handle_dont(MSSP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSSP] = False
DEBUG stream_writer.py:3384 local_option[MSSP] = False
DEBUG stream_writer.py:773 recv IAC DONT MCCP2_COMPRESS
DEBUG stream_writer.py:2010 handle_dont(MCCP2_COMPRESS)
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP2_COMPRESS] = False
DEBUG stream_writer.py:3384 local_option[MCCP2_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC DONT GMCP
DEBUG stream_writer.py:2010 handle_dont(GMCP)
DEBUG stream_writer.py:3384 pending_option[WILL + GMCP] = False
DEBUG stream_writer.py:3384 local_option[GMCP] = False
DEBUG stream_writer.py:773 recv IAC DONT MSP
DEBUG stream_writer.py:2010 handle_dont(MSP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSP] = False
DEBUG stream_writer.py:3384 local_option[MSP] = False
DEBUG stream_writer.py:773 recv IAC DONT AARDWOLF
DEBUG stream_writer.py:2010 handle_dont(AARDWOLF)
DEBUG stream_writer.py:3384 pending_option[WILL + AARDWOLF] = False
DEBUG stream_writer.py:3384 local_option[AARDWOLF] = False
DEBUG stream_writer.py:773 recv IAC DONT MXP
DEBUG stream_writer.py:2010 handle_dont(MXP)
DEBUG stream_writer.py:3384 pending_option[WILL + MXP] = False
DEBUG stream_writer.py:3384 local_option[MXP] = False
DEBUG stream_writer.py:773 recv IAC DONT ATCP
DEBUG stream_writer.py:2010 handle_dont(ATCP)
DEBUG stream_writer.py:3384 pending_option[WILL + ATCP] = False
DEBUG stream_writer.py:3384 local_option[ATCP] = False
DEBUG stream_writer.py:773 recv IAC DONT MCCP3_COMPRESS
DEBUG stream_writer.py:2010 handle_dont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3384 local_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC DONT MSDP
DEBUG stream_writer.py:2010 handle_dont(MSDP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSDP] = False
DEBUG stream_writer.py:3384 local_option[MSDP] = False
DEBUG stream_writer.py:773 recv IAC WILL ECHO
DEBUG stream_writer.py:789 WILL ECHO unsolicited
DEBUG stream_writer.py:2045 handle_will(ECHO)
DEBUG stream_writer.py:3384 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:1024 send IAC DO ECHO
DEBUG stream_writer.py:3384 remote_option[ECHO] = True
DEBUG stream_writer.py:3384 pending_option[DO + ECHO] = False
DEBUG stream_writer.py:773 recv IAC WILL SGA
DEBUG stream_writer.py:789 WILL SGA unsolicited
DEBUG stream_writer.py:2045 handle_will(SGA)
DEBUG stream_writer.py:3384 pending_option[DO + SGA] = True
DEBUG stream_writer.py:1024 send IAC DO SGA
DEBUG stream_writer.py:3384 remote_option[SGA] = True
DEBUG stream_writer.py:3384 pending_option[DO + SGA] = False
DEBUG stream_writer.py:773 recv IAC DO TTYPE
DEBUG stream_writer.py:1887 handle_do(TTYPE)
DEBUG stream_writer.py:3384 pending_option[WILL + TTYPE] = True
DEBUG stream_writer.py:1024 send IAC WILL TTYPE
DEBUG stream_writer.py:3384 pending_option[SB + TTYPE] = True
DEBUG stream_writer.py:3384 local_option[TTYPE] = True
DEBUG stream_writer.py:3384 pending_option[WILL + TTYPE] = False
DEBUG stream_writer.py:773 recv IAC DO TSPEED
DEBUG stream_writer.py:1887 handle_do(TSPEED)
DEBUG stream_writer.py:3384 pending_option[WILL + TSPEED] = True
DEBUG stream_writer.py:1024 send IAC WILL TSPEED
DEBUG stream_writer.py:3384 pending_option[SB + TSPEED] = True
DEBUG stream_writer.py:3384 local_option[TSPEED] = True
DEBUG stream_writer.py:3384 pending_option[WILL + TSPEED] = False
DEBUG stream_writer.py:773 recv IAC DO SNDLOC
DEBUG stream_writer.py:1887 handle_do(SNDLOC)
DEBUG stream_writer.py:1995 DO SNDLOC not supported.
DEBUG stream_writer.py:3384 local_option[SNDLOC] = False
DEBUG stream_writer.py:1024 send IAC WONT SNDLOC
DEBUG stream_writer.py:773 recv IAC DO NAWS
DEBUG stream_writer.py:1887 handle_do(NAWS)
DEBUG stream_writer.py:3384 pending_option[WILL + NAWS] = True
DEBUG stream_writer.py:1024 send IAC WILL NAWS
DEBUG stream_writer.py:2507 send IAC SB NAWS (rows=25, cols=80) IAC SE
DEBUG stream_writer.py:3384 local_option[NAWS] = True
DEBUG stream_writer.py:3384 pending_option[WILL + NAWS] = False
DEBUG stream_writer.py:773 recv IAC DO NEW_ENVIRON
DEBUG stream_writer.py:1887 handle_do(NEW_ENVIRON)
DEBUG stream_writer.py:3384 pending_option[WILL + NEW_ENVIRON] = True
DEBUG stream_writer.py:1024 send IAC WILL NEW_ENVIRON
DEBUG stream_writer.py:3384 pending_option[SB + NEW_ENVIRON] = True
DEBUG stream_writer.py:3384 local_option[NEW_ENVIRON] = True
DEBUG stream_writer.py:3384 pending_option[WILL + NEW_ENVIRON] = False
DEBUG stream_writer.py:773 recv IAC WILL ZMP
DEBUG stream_writer.py:2045 handle_will(ZMP)
DEBUG stream_writer.py:998 skip DO ZMP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[ZMP] = True
DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:773 recv IAC WILL MSSP
DEBUG stream_writer.py:2045 handle_will(MSSP)
DEBUG stream_writer.py:998 skip DO MSSP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[MSSP] = True
DEBUG stream_writer.py:3384 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:773 recv IAC WILL MCCP2_COMPRESS
DEBUG stream_writer.py:2045 handle_will(MCCP2_COMPRESS)
DEBUG stream_writer.py:998 skip DO MCCP2_COMPRESS; pending_option = True
DEBUG stream_writer.py:3384 remote_option[MCCP2_COMPRESS] = True
DEBUG stream_writer.py:3384 pending_option[DO + MCCP2_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC WILL GMCP
DEBUG stream_writer.py:2045 handle_will(GMCP)
DEBUG stream_writer.py:998 skip DO GMCP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[GMCP] = True
DEBUG stream_writer.py:1072 send IAC SB GMCP Core.Hello IAC SE
DEBUG stream_writer.py:1072 send IAC SB GMCP Core.Supports.Set IAC SE
INFO client.py:201 GMCP handshake: Core.Hello + Core.Supports.Set ['Char 1', 'Char.Vitals 1', 'Char.Items 1', 'Room 1', 'Room.Info
    1', 'Comm 1', 'Comm.Channel 1', 'Group 1']
DEBUG stream_writer.py:3384 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:773 recv IAC WILL MSP
DEBUG stream_writer.py:2045 handle_will(MSP)
DEBUG stream_writer.py:998 skip DO MSP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[MSP] = True
DEBUG stream_writer.py:3384 pending_option[DO + MSP] = False
DEBUG stream_writer.py:773 recv IAC WILL AARDWOLF
DEBUG stream_writer.py:2045 handle_will(AARDWOLF)
DEBUG stream_writer.py:998 skip DO AARDWOLF; pending_option = True
DEBUG stream_writer.py:3384 remote_option[AARDWOLF] = True
DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = False
DEBUG stream_writer.py:773 recv IAC WILL MXP
DEBUG stream_writer.py:2045 handle_will(MXP)
DEBUG stream_writer.py:998 skip DO MXP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[MXP] = True
DEBUG stream_writer.py:3384 pending_option[DO + MXP] = False
DEBUG stream_writer.py:773 recv IAC WILL ATCP
DEBUG stream_writer.py:2045 handle_will(ATCP)
DEBUG stream_writer.py:998 skip DO ATCP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[ATCP] = True
DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = False
DEBUG stream_writer.py:773 recv IAC WILL MCCP3_COMPRESS
DEBUG stream_writer.py:2045 handle_will(MCCP3_COMPRESS)
DEBUG stream_writer.py:998 skip DO MCCP3_COMPRESS; pending_option = True
DEBUG stream_writer.py:3384 remote_option[MCCP3_COMPRESS] = True
DEBUG stream_writer.py:2110 MCCP3: client compression activated
DEBUG stream_writer.py:3384 pending_option[DO + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC WILL MSDP
DEBUG stream_writer.py:2045 handle_will(MSDP)
DEBUG stream_writer.py:998 skip DO MSDP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[MSDP] = True
DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = False
DEBUG client_base.py:510 MCCP3 compression started (client→server)
DEBUG stream_writer.py:773 recv IAC DONT SNDLOC
DEBUG stream_writer.py:2010 handle_dont(SNDLOC)
DEBUG stream_writer.py:3384 pending_option[WILL + SNDLOC] = False
DEBUG stream_writer.py:767 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:754 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:3384 pending_option[SB + TTYPE] = False
DEBUG stream_writer.py:2404 recv TTYPE SEND: b''
DEBUG stream_writer.py:2416 send IAC SB TTYPE IS b'xterm-256color' IAC SE
DEBUG stream_writer.py:767 begin sub-negotiation SB TSPEED
DEBUG stream_writer.py:754 sub-negotiation cmd TSPEED SE completion byte
DEBUG stream_writer.py:3384 pending_option[SB + TSPEED] = False
DEBUG stream_writer.py:2345 recv TSPEED SEND: b''
DEBUG stream_writer.py:2373 send: IAC SB TSPEED IS b'38400',b'38400' IAC SE
DEBUG client_base.py:307 DSR detected early in data_received, sending CPR
DEBUG client_base.py:307 DSR detected early in data_received, sending CPR
DEBUG client_base.py:534 negotiation failed after 4.00s.
DEBUG client_base.py:540 failed-reply: 'SB NEW_ENVIRON'
DEBUG stream_writer.py:3384 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:1024 send IAC DO BINARY
DEBUG stream_writer.py:3384 pending_option[DO + STATUS] = True
DEBUG stream_writer.py:1024 send IAC DO STATUS
DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:1024 send IAC DO CHARSET
DEBUG stream_writer.py:3384 pending_option[DO + EOR] = True
DEBUG stream_writer.py:1024 send IAC DO EOR
DEBUG stream_writer.py:3384 pending_option[DO + COM_PORT_OPTION] = True
DEBUG stream_writer.py:1024 send IAC DO COM_PORT_OPTION
DEBUG fingerprinting.py:849 connection for server fingerprint cdf52165b1ba8b95
INFO client_base.py:122 Connection closed to <Peer 146.59.43.83 23>

ip83.ip-146-59-43.eu:513

Connection Banner:

Synchronet BBS for Linux Version 3.20 RLogin connection from: 143.198.61.53 Resolving hostname... _ ∩╗┐_ Synchronet BBS for Linux Version 3.20 Copyright 2022 Rob Swindell ┌╦═══╦┐ ┌╦═╗ ╦┐ ╤╦╤ ┌╦═══╦┐ ┌╦═══┐ ┌╦═══╦┐ ┌╦╦┐ ┌╦═══╦┐ ┌╦╦┐ ┌╦═══╦┐ │║║│ │║ ║ ║│ │║│ │╠═══╩┘ │╠══╦┘ │║║│ │║ ║ ║│ │║═══║│ │║║│ ├╬══ └╩═══╜╛ └╩ ╚═╩┘ ╧╩╧ └╩└╩ ╚┘ └╩═══╩┘ └╩═╩═╩┘ └╩╩┘ └╩═══╩┘ └╩═══╩┘ CLIENT CONN: RLogin ADDR: modem.xyz [143.198.61.53] TERM: 80x24 CP437 / ANSI SERVER NAME: DniproWave BBS ADDR: bbs.net.ua NODE: 1 (of 12) - Ubuntu 22.04.4 LTS x86_64 TIME: Fri Apr 10 2026 03:32:52 EEST ADMN: Max If you are a new user to the system, type "New" now. Otherwise, enter your user name or number now. NN: Enter User Name or 'New' Login:

Server URLs

Server Location: 🇵🇱 Poland (GeoIP)

BBS Software

Detected: Synchronet

Encoding

  • Effective encoding: cp437

  • Override: cp437 (from bbslist.txt)

  • Scanner detected: cp437

Telnet Fingerprint

fcc77c9fc888e2f2

This fingerprint is shared by 33 other servers.

Options offered by server: CHARSET

Options requested from client: CHARSET

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

Show JSON
{
  "server-probe": {
    "fingerprint": "fcc77c9fc888e2f2",
    "fingerprint-data": {
      "offered-options": [
        "CHARSET"
      ],
      "probed-protocol": "server",
      "refused-options": [
        "AARDWOLF",
        "ATCP",
        "BINARY",
        "COM_PORT",
        "ECHO",
        "EOR",
        "GMCP",
        "MCCP2",
        "MCCP3",
        "MSDP",
        "MSP",
        "MSSP",
        "MXP",
        "SGA",
        "STATUS",
        "ZMP"
      ],
      "requested-options": [
        "CHARSET"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "\r\n\r\nNN: \r\u001b[0m\u001b[1m\u001b[36mEnter \u001b[37mUser Name\u001b[36m or '\u001b[33mNew\u001b[36m'\r\nLogin: \u001b[37m",
      "banner_before_return": "\u0000\r\nSynchronet BBS for Linux  Version 3.20\r\nRLogin connection from: 143.198.61.53\r\nResolving hostname...\r\n\r\n\u001b[s\u001b[0c\u001b[255B\u001b[255C\b_\u001b[6n\u001b[u\u001b[!_\r\u2229\u2557\u2510\u001b[6n\u001b[0m_\u001b[2J\u001b[H\f\r\r      Synchronet BBS for Linux  Version 3.20  Copyright 2022 Rob Swindell\r\n\r\n  \u250c\u2566\u2550\u001b[1m\u2550\u2550\u2566\u2510 \u001b[0m\u250c\u2566\u2550\u001b[1m\u2557 \u2566\u2510  \u001b[0m\u2564\u001b[1m\u2566\u2564  \u001b[0m\u250c\u2566\u2550\u001b[1m\u2550\u2550\u2566\u2510 \u001b[0m\u250c\u2566\u2550\u001b[1m\u2550\u2550\u2510 \u001b[0m\u250c\u2566\u2550\u001b[1m\u2550\u2550\u2566\u2510 \u001b[0m\u250c\u2566\u001b[3C\u001b[1m\u2566\u2510 \u001b[0m\u250c\u2566\u2550\u001b[1m\u2550\u2550\u2566\u2510 \u001b[0m\u250c\u2566\u001b[3C\u001b[1m\u2566\u2510 \u001b[0m\u250c\u2566\u2550\u001b[1m\u2550\u2550\u2566\u2510\r\n\u001b[0m  \u001b[36m\u2502\u2551\u001b[0m\u001b[3C\u001b[1m\u001b[36m\u2551\u2502 \u001b[0m\u001b[36m\u2502\u2551 \u001b[1m\u2551 \u2551\u2502  \u001b[0m\u001b[36m\u2502\u001b[1m\u2551\u2502  \u001b[0m\u001b[36m\u2502\u2560\u2550\u001b[1m\u2550\u2550\u2569\u2518 \u001b[0m\u001b[36m\u2502\u2560\u2550\u001b[1m\u2550\u2566\u2518 \u001b[0m\u001b[36m\u2502\u2551\u001b[0m\u001b[3C\u001b[1m\u001b[36m\u2551\u2502 \u001b[0m\u001b[36m\u2502\u2551 \u001b[1m\u2551 \u2551\u2502 \u001b[0m\u001b[36m\u2502\u2551\u2550\u001b[1m\u2550\u2550\u2551\u2502 \u001b[0m\u001b[36m\u2502\u2551\u001b[0m\u001b[1m\u001b[36m\u001b[3C\u2551\u2502 \u001b[0m\u001b[36m\u251c\u256c\u2550\u001b[1m\u2550\r\n\u001b[0m  \u001b[34m\u2514\u2569\u2550\u001b[1m\u2550\u2550\u255c\u255b \u001b[0m\u001b[34m\u2514\u2569 \u001b[1m\u255a\u2550\u2569\u2518  \u001b[0m\u001b[34m\u2567\u001b[1m\u2569\u2567  \u001b[0m\u001b[34m\u2514\u2569\u001b[0m\u001b[6C\u001b[34m\u2514\u2569  \u001b[1m\u255a\u2518 \u001b[0m\u001b[34m\u2514\u2569\u2550\u001b[1m\u2550\u2550\u2569\u2518 \u001b[0m\u001b[34m\u2514\u2569\u2550\u2569\u001b[1m\u2550\u2569\u2518 \u001b[0m\u001b[34m\u2514\u2569\u001b[0m\u001b[3C\u001b[1m\u001b[34m\u2569\u2518 \u001b[0m\u001b[34m\u2514\u2569\u2550\u2550\u001b[1m\u2550\u2569\u2518 \u001b[0m\u001b[34m\u2514\u2569\u2550\u001b[1m\u2550\u2550\u2569\u2518\r\n\u001b[0m\r\n\u001b[1mCLIENT \u001b[0m\u001b[36mCONN: \u001b[1mRLogin\r\n\u001b[0m\u001b[1m       \u001b[0m\u001b[36mADDR: \u001b[1mmodem.xyz [143.198.61.53]\r\n\u001b[0m\u001b[1m       \u001b[0m\u001b[36mTERM: \u001b[1m80x24 CP437 / ANSI\r\n\u001b[0m\u001b[1mSERVER \u001b[0m\u001b[36mNAME: \u001b[1m\u001b[33mDniproWave BBS\r\n\u001b[0m\u001b[1m       \u001b[0m\u001b[36mADDR: \u001b[1mbbs.net.ua\r\n\u001b[0m\u001b[1m       \u001b[0m\u001b[36mNODE: \u001b[1m1 \u001b[0m\u001b[36m(of \u001b[1m12\u001b[0m\u001b[36m) - \u001b[1mUbuntu 22.04.4 LTS x86_64\r\n\u001b[0m\u001b[1m       \u001b[0m\u001b[36mTIME: \u001b[1mFri Apr 10 2026 03:32:52 EEST\r\n\u001b[0m\u001b[1m       \u001b[0m\u001b[36mADMN: \u001b[1mMax\r\n\r\n\u001b[34mIf you are a new user to the system, type \u001b[36m\"New\"\u001b[34m now.\r\nOtherwise, enter your user name or number now.\r\n\u001b[0m\r\nNN: \r\u001b[1m\u001b[36mEnter \u001b[37mUser Name\u001b[36m or '\u001b[33mNew\u001b[36m'\r\nLogin: \u001b[37m",
      "dsr_replies": 2,
      "dsr_requests": 2,
      "encoding": "cp437",
      "option_states": {
        "server_offered": {},
        "server_requested": {}
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.6379263401031494,
        "total": 11.634720802307129
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-04-05T19:00:39.612433+00:00",
      "host": "ip83.ip-146-59-43.eu",
      "ip": "146.59.43.83",
      "port": 513
    },
    {
      "connected": "2026-04-08T17:08:00.038660+00:00",
      "host": "ip83.ip-146-59-43.eu",
      "ip": "146.59.43.83",
      "port": 513
    },
    {
      "connected": "2026-04-10T00:33:03.664097+00:00",
      "host": "ip83.ip-146-59-43.eu",
      "ip": "146.59.43.83",
      "port": 513
    }
  ]
}

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 ip83.ip-146-59-43.eu 513
Show Logfile
DEBUG client.py:1193 Fingerprint client: host=ip83.ip-146-59-43.eu port=513
INFO client_base.py:188 Connected to <Peer 146.59.43.83 513>
DEBUG stream_writer.py:3384 pending_option[WILL + ZMP] = True
DEBUG stream_writer.py:1024 send IAC WILL ZMP
DEBUG stream_writer.py:3384 pending_option[WILL + AARDWOLF] = True
DEBUG stream_writer.py:1024 send IAC WILL AARDWOLF
DEBUG stream_writer.py:3384 pending_option[WILL + MSDP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSDP
DEBUG stream_writer.py:3384 pending_option[WILL + GMCP] = True
DEBUG stream_writer.py:1024 send IAC WILL GMCP
DEBUG stream_writer.py:3384 pending_option[WILL + MXP] = True
DEBUG stream_writer.py:1024 send IAC WILL MXP
DEBUG stream_writer.py:3384 pending_option[WILL + ATCP] = True
DEBUG stream_writer.py:1024 send IAC WILL ATCP
DEBUG stream_writer.py:3384 pending_option[WILL + MSSP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSSP
DEBUG stream_writer.py:3384 pending_option[WILL + MSP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSP
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC WILL MCCP2_COMPRESS
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC WILL MCCP3_COMPRESS
DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:1024 send IAC DO ZMP
DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = True
DEBUG stream_writer.py:1024 send IAC DO AARDWOLF
DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:1024 send IAC DO MSDP
DEBUG stream_writer.py:3384 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:1024 send IAC DO GMCP
DEBUG stream_writer.py:3384 pending_option[DO + MXP] = True
DEBUG stream_writer.py:1024 send IAC DO MXP
DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:1024 send IAC DO ATCP
DEBUG stream_writer.py:3384 pending_option[DO + MSSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSSP
DEBUG stream_writer.py:3384 pending_option[DO + MSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSP
DEBUG stream_writer.py:3384 pending_option[DO + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC DO MCCP2_COMPRESS
DEBUG stream_writer.py:3384 pending_option[DO + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC DO MCCP3_COMPRESS
DEBUG client_base.py:513 negotiation failed after 4.00s.
DEBUG client_base.py:519 failed-reply: 'WILL ZMP, WILL AARDWOLF, WILL MSDP, WILL GMCP, WILL MXP, WILL ATCP, WILL MSSP, WILL MSP,
    WILL MCCP2_COMPRESS, WILL MCCP3_COMPRESS, DO ZMP, DO AARDWOLF, DO MSDP, DO GMCP, DO MXP, DO ATCP, DO MSSP, DO MSP, DO
    MCCP2_COMPRESS, DO MCCP3_COMPRESS'
DEBUG server_fingerprinting.py:989 DA request -> b'\x1b[?1;2c'
DEBUG stream_writer.py:3384 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:1024 send IAC DO BINARY
DEBUG stream_writer.py:3384 pending_option[DO + SGA] = True
DEBUG stream_writer.py:1024 send IAC DO SGA
DEBUG stream_writer.py:3384 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:1024 send IAC DO ECHO
DEBUG stream_writer.py:3384 pending_option[DO + STATUS] = True
DEBUG stream_writer.py:1024 send IAC DO STATUS
DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:1024 send IAC DO CHARSET
DEBUG stream_writer.py:3384 pending_option[DO + EOR] = True
DEBUG stream_writer.py:1024 send IAC DO EOR
DEBUG stream_writer.py:3384 pending_option[DO + COM_PORT_OPTION] = True
DEBUG stream_writer.py:1024 send IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:998 skip DO MCCP2_COMPRESS; pending_option = True
DEBUG stream_writer.py:998 skip DO MCCP3_COMPRESS; pending_option = True
DEBUG stream_writer.py:998 skip DO GMCP; pending_option = True
DEBUG stream_writer.py:998 skip DO MSDP; pending_option = True
DEBUG stream_writer.py:998 skip DO MSSP; pending_option = True
DEBUG stream_writer.py:998 skip DO MSP; pending_option = True
DEBUG stream_writer.py:998 skip DO MXP; pending_option = True
DEBUG stream_writer.py:998 skip DO ZMP; pending_option = True
DEBUG stream_writer.py:998 skip DO AARDWOLF; pending_option = True
DEBUG stream_writer.py:998 skip DO ATCP; pending_option = True
DEBUG stream_writer.py:773 recv IAC DO b'\xfd'
DEBUG stream_writer.py:1887 handle_do(DO)
DEBUG stream_writer.py:1995 DO DO not supported.
DEBUG stream_writer.py:3384 local_option[DO] = False
DEBUG stream_writer.py:1024 send IAC WONT DO
DEBUG stream_writer.py:773 recv IAC DO b'\xfd'
DEBUG stream_writer.py:1887 handle_do(DO)
DEBUG stream_writer.py:1995 DO DO not supported.
DEBUG stream_writer.py:1024 send IAC WONT DO
DEBUG stream_writer.py:773 recv IAC DO CHARSET
DEBUG stream_writer.py:1887 handle_do(CHARSET)
DEBUG stream_writer.py:3384 pending_option[WILL + CHARSET] = True
DEBUG stream_writer.py:1024 send IAC WILL CHARSET
DEBUG stream_writer.py:3384 local_option[CHARSET] = True
DEBUG stream_writer.py:3384 pending_option[WILL + CHARSET] = False
DEBUG stream_writer.py:773 recv IAC DO b'\x1b'
DEBUG stream_writer.py:1887 handle_do(b'\x1b')
DEBUG stream_writer.py:1995 DO b'\x1b' not supported.
DEBUG stream_writer.py:3384 local_option[b'\x1b'] = False
DEBUG stream_writer.py:1024 send IAC WONT b'\x1b'
DEBUG stream_writer.py:773 recv IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:1887 handle_do(COM_PORT_OPTION)
DEBUG stream_writer.py:1995 DO COM_PORT_OPTION not supported.
DEBUG stream_writer.py:3384 local_option[COM_PORT_OPTION] = False
DEBUG stream_writer.py:1024 send IAC WONT COM_PORT_OPTION
DEBUG stream_writer.py:773 recv IAC WONT b'\xfd'
DEBUG stream_writer.py:2199 handle_wont(DO)
DEBUG stream_writer.py:3384 remote_option[DO] = False
DEBUG stream_writer.py:3384 pending_option[DO + DO] = False
DEBUG stream_writer.py:773 recv IAC WONT b'\xfd'
DEBUG stream_writer.py:2199 handle_wont(DO)
DEBUG stream_writer.py:773 recv IAC WILL CHARSET
DEBUG stream_writer.py:2045 handle_will(CHARSET)
DEBUG stream_writer.py:998 skip DO CHARSET; pending_option = True
DEBUG stream_writer.py:3384 remote_option[CHARSET] = True
DEBUG client.py:168 Both sides support CHARSET, ready for server to initiate REQUEST
DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = False
DEBUG stream_writer.py:773 recv IAC WONT RCTE
DEBUG stream_writer.py:2199 handle_wont(RCTE)
DEBUG stream_writer.py:3384 remote_option[RCTE] = False
DEBUG stream_writer.py:3384 pending_option[DO + RCTE] = False
DEBUG stream_writer.py:773 recv IAC WONT COM_PORT_OPTION
DEBUG stream_writer.py:2199 handle_wont(COM_PORT_OPTION)
DEBUG stream_writer.py:3384 remote_option[COM_PORT_OPTION] = False
DEBUG stream_writer.py:3384 pending_option[DO + COM_PORT_OPTION] = False
DEBUG fingerprinting.py:844 connection for server fingerprint fcc77c9fc888e2f2
INFO client_base.py:120 Connection closed to <Peer 146.59.43.83 513>