Nominate our 2022 Qt Champions!

[SOLVED] Telnet client console SEND invalid command EDIT: Only Spanish Version

  • Hello,

    I've developed an application in QT C++ (server with listening sockets) waiting for clients to connect and send commands.

    It was developed and tested in Windows XP Professional Version 2002 SP3 English version and tested in Windows seven 64 bits using telnet client sending strings to server from command prompt using reserved word SEND without problems.

    Actually i am testing this app from another Windows XP Professional Version 2002 SP3 Spanish version machine and i'm having problems with sending strings.

    Telnet client connects correctly, receives data from server, but when i move to command prompt and try to send strings i receive and error.

    Microsoft Telnet> send MYSTRING
    Invalid command. type ?/help for help
    Microsoft Telnet> ?
    Commands may be abbreviated. Supported commands are:

    c - close close current connection
    d - display display operating parameters
    o - open hostname [port] connect to hostname (default port 23).
    q - quit exit telnet
    set - set set options (type 'set ?' for a list)
    sen - send send strings to server
    st - status print status information
    u - unset unset options (type 'unset ?' for a list)
    ?/h - help print help information
    Microsoft Telnet> d
    Escape Character is 'CTRL+}'
    Will auth(NTLM Authentication)
    Local echo off
    New line mode - Causes return key to send CR & LF
    Current mode: Console
    Will term type
    Preferred term type is ANSI

    Note: Above transcription is translated, i get this message in spanish

    I need to know if this problem, telnet not recognizing a reserved word is a configuration or security problem.
    Windows Firewall is deactivated.

    Thank you very much.

  • I'm not familiar with telnet so I don't know if it is significant.
    From the help I see that command is "sen"
    sen – send send strings to server

    And you are using "send".

  • sen and send are both valids, first column is abbreviation, second column is full command and third explanation.

    None of them works.


  • Interesting that the other commands work.
    For example you typed "help", "d" and it worked.
    What about "status" command. Does it work?

    You can verify that telnet client sends anything to your server using "wireshark":
    Maybe it is a response from your server that makes telnet client to complain.

    From what I found so far, telnet is a protocol that must be implemented on server and client side.
    Have you implemented a telnet server ?

    If not and you need some tool to verify that your server is responding on some commands I would suggest to use netcat.

    You can find one of implementations here "ncat": or just google netcat.

  • Hello andreyc,

    All command words works fine except 'send' in this windows xp sp3 distribution.

    I debugged my app and theres no command received from telnet client. From server side i set commands while client connects i set communication correctly and full duplex.

    What i can't explain to myself is why same os (different language only) works correct one and not other... configuration issues?

  • To clear situation on problem with Telnet Client:

    I develop an App in PC1 Windows XP 2002 SP3 English version. This app is a server in a network listening in port 6000. Waits for clients to connect (through Telnet client for example) over lan.

    The pc running my app has IP1 and its working.

    From PC2 with same os i connect using >telnet IP1 6000
    It connects and receives data from my app (server).
    Then i press 'ctrl+}' and get to Telnet prompt

    @Microsoft Telnet> send AnyString
    AnyString has been sent to server.@

    My app receives data correctly, process it and works fine.

    From PC3 using W7 and Ubuntu virtual machines, same procedure than PC2 and it works fine.

    From PC4 os Windows XP SP3 2002 Spanish i connect using >telnet IP1 6000
    It connects and receives data from my app (server).
    Then i press 'ctrl+}' and get to Telnet prompt

    @Microsoft Telnet> send AnyString
    Invalid command. type ?/help for help@

    Thats why i suppose Telnet client on XP can be "configured?"

  • Looks like windows telnet client has some issues. I don't remember that you can configure it except from its command line.
    You can try to compare the outputs of "status" and "display" commands from working and non-working clients and change some options using "set" command.

    Also you can try another network tool like netcat (see my previous post)

  • I don't know Spanish alphabet, Maybe my question is not relevant.
    Are there any letters that looks the same as in English alphabet but have different ASCII code.

  • Spanish characters are the same.

  • Status and Display are the same.

  • Copy of Ramón Sola's solution on another forum.

    La orden send es nueva en Windows XP, pues no existía en Windows 2000.

    He comprobado que se trata de un defecto de las versiones en español del cliente de Telnet en Windows XP y Windows Server 2003, un "exceso de traducción" por así decirlo.
    En una parte crucial del programa, la palabra send se transformó en 'Enviar' con mayúscula inicial.
    El intérprete de órdenes del cliente de Telnet convierte a minúsculas los primeros caracteres de la línea introducida antes de compararlos con las órdenes admitidas, de modo que ni siquiera 'enviar' cadena coincidirá con 'Enviar' y por tanto no se reconocerá como válida.

    Para corregir el problema puede usarse, por ejemplo, la antigua herramienta Resource Hacker:

    • Abrir Resource Hacker y cargar el archivo \Windows\System32\Telnet.exe, bien mediante el menú File, Open, o bien arrastrándolo hacia la ventana.
    • En el árbol de la parte izquierda, desplegar String Table, después el bloque 19 y seleccionar 3082, que es el código del idioma Español (España, alfabetización internacional).
    • En la parte derecha, la cadena Enviar traducida incorrectamente tiene como índice el 296. Se debe sustituir la palabra Enviar por send y hacer clic en Compile Script. Si la modificación respeta las reglas, el botón se desactiva sin mostrar confirmación o mensaje alguno.
    • Guardar los cambios con File, Save As, quizá también en System32. Sería preferible no reemplazar el archivo Telnet.exe de Windows sino darle un nuevo nombre y usarlo de este modo en adelante.

    It´s a translation problem in Windows XP. Modifying string saves problem.

  • Thank you for sharing the solution.

Log in to reply