locked
Telnet client console SEND invalid command RRS feed

  • Pregunta

  • Hello,

    I've developed an application in C++ (server with open 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.

    jueves, 22 de mayo de 2014 12:30

Respuestas

  • Una pregunta. ¿Por qué el mensaje está en inglés si el foro es de lengua española?

    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:

    1. Abrir Resource Hacker y cargar el archivo \Windows\System32\Telnet.exe, bien mediante el menú File, Open, o bien arrastrándolo hacia la ventana.
    2. 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).
    3. 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.
    4. 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.

    No puedo garantizar a priori que mis respuestas sean exactas y acordes a los problemas descritos, pero por lo menos yo no las voy marcando como propuestas o definitivas sin saber si han sido útiles o no. Sobre todo no me gusta que lo hagan los moderadores. Tampoco vinculado a Microsoft.



    • Editado Ramón Sola viernes, 23 de mayo de 2014 17:37
    • Marcado como respuesta meze1 viernes, 23 de mayo de 2014 18:26
    viernes, 23 de mayo de 2014 17:35

Todas las respuestas

  • Una pregunta. ¿Por qué el mensaje está en inglés si el foro es de lengua española?

    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:

    1. Abrir Resource Hacker y cargar el archivo \Windows\System32\Telnet.exe, bien mediante el menú File, Open, o bien arrastrándolo hacia la ventana.
    2. 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).
    3. 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.
    4. 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.

    No puedo garantizar a priori que mis respuestas sean exactas y acordes a los problemas descritos, pero por lo menos yo no las voy marcando como propuestas o definitivas sin saber si han sido útiles o no. Sobre todo no me gusta que lo hagan los moderadores. Tampoco vinculado a Microsoft.



    • Editado Ramón Sola viernes, 23 de mayo de 2014 17:37
    • Marcado como respuesta meze1 viernes, 23 de mayo de 2014 18:26
    viernes, 23 de mayo de 2014 17:35
  • Hola Ramón

    Antes que nada gracias por la respuesta, ha sido ese el inconveniente. No conocía esta herramienta. Es realmente útil.

    Había probado con la palabra enviar (en lugar de send), pero no funcionaba, era por el problema de la mayúscula.

    Ahora mismo lo publico en los demás foros para que vaya quedando rastro de la respuesta.

    PD: el post quedo en inglés porque lo había publicado en otro foro en inglés...

    viernes, 23 de mayo de 2014 18:31