Menu Close

NET Console

  • Serial TCP bridge with HMAC-SHA256 challenge-response authentication
  • Port 2323
  • Single client, plaintext data, no TLS overhead
  • Uses mbedtls/md.h (already included in ESP-IDF)
  • No additional libraries, no Flash overhead
  • RAM usage during an active session: ~0 KB
    (compared to 36 KB for TLS I/O buffers).
  • Author: Ralf Altenbrand (DH1FR), May 2026

The NET Console is supported by ESP32-based Node hardware.

Communication port 2323 is enabled on the configured Wi-Fi connection that is being used as a web service or gateway.

Commands for controlling the firmware

  • Activation
    • –netconsole on/off
  • Status Check
    • –netconsole
  • Set a password
    • –passwd xxxxx(max. 14 characters)
  • Delete password
    • –passwd none 

 

To access the NET Console port (2323), you need a Linux, Windows, or Mac Telnet client.

  • Windows
    • PUTTY
      • Host name aa9xxx-99.local (or MeshCom node IP address)
      • Session Other: Telnet
      • Category: Check the "Terminal (Implicit CR in every LF)" box
    • TELNET client not suitable for Windows because CR is not appended to LF in the output
  • Linux
    • TELNET
      • telnet 192.168.100.24 2323
      • telnet aa9xxx-99.local 2323
  • MAC
    The Telnet command is no longer installed by default on modern Macs because Telnet uses unencrypted communication. The easiest way to make the client available on your Mac again is to install it using the Homebrew package manager.

    • telnet [hostname/IP address] [port number]
      • telnet 192.168.100.24 2323
      • telnet aa9xxx-99.local 2323

Accessing NETConsole via connect without a password:

root@MESHCOM:~# telnet oe1kbc-24.local 2323
Trying 192.168.100.24…
Connected to oe1kbc-24.local.
Escape character is ‚^]‘.
OK
MeshCom Console
Type –help for commands
–info (Commands are entered as on a serial console)

<<<Info wird angezeigt>>>

The NETConsole after connecting with the set password:

root@MESHCOM:~# telnet oe1kbc-55.local 2323
Trying 192.168.100.246…
Connected to oe1kbc-55.local.
Escape character is ‚^]‘.
NONCE: 3e62d1be9d352ffcbd2edcc5cfa07b36
passwort<cr>
OK
MeshCom Console
Type –help for commands
–info
(Befehle werden wie voa Serielle-Console eingegeben)

<<<Info wird angezeigt>>>

Closing the TELNET window logs you out of the MeshCom node.

Only one active session with a MeshCom node is possible at a time.


For password-based login, an option with an encrypted password is also available

  • Protocol:
    • <- „NONCE: <32 hex chars>\r\n“
    • -> „<64 hex HMAC-SHA256(password, nonce)>\r\n“
    • <- „OK\r\n<banner>“  or  „FAIL\r\n“ + disconnect
  • Python helper (hmac_connect.py):
    • import sys, socket, hmac, hashlib
    • s = socket.create_connection((sys.argv[1], 2323))
    • nonce = bytes.fromhex(s.makefile().readline().split()[1].strip())
    • resp = hmac.new(sys.argv[2].encode(), nonce, hashlib.sha256).hexdigest()
    • s.sendall((resp + chr(10)).encode()); print(s.makefile().readline())