|
Programa de Interconexión con Telnet
-
- Descripción
-
- Archivo
setup.ini
-
- Partes del programa y su funcionamiento
Ejecución
sin servidor independiente
Descripción
Con esta aplicación podemos manejar una sesión telnet desde el terminal.

El programa permite abrir una sesión telnet diferente para
cada terminal; como la pantalla de la consola telnet es mucho mayor que
la pantalla del terminal es necesario especificar los campos que
deseamos que aparezcan en el terminal, los campos de input, los campos
llave (para detectar en que pantalla nos encontramos), etc... Por ello,
para poder utilizar un programa telnet determinado es necesario, en
primer lugar, proceder a su configuración; lo cual se puede hacer
también con este programa.
Archivo setup.ini
Este archivo se carga siempre que se inicia el programa, en él
tenemos las lineas siguientes :
File=C:\login
SerialPort=1
BaudRate=38400
ScreenSizeH=20
IP=192.168.1.40
Port=23
RTimer=200
ScreenNoDetectedTime=3000
AutoLoadFile=1
AutoWirelessON=1
En el campo "File" indicamos el nombre del archivo que
tendremos de manera predeterminada al iniciar el programa.
En el campo "SerialPort" indicamos el puerto serie al que está
conectada la antena; si SerialPort fuera 0
entonces se busca automáticamente un puerto con la base conectada.
En el campo "BaudRate" indicamos la velocidad de transferencia
del puerto, que debe ser de 9600, 19200 o
38400.
En el campo "ScreenSizeH" indicamos el numero de caracteres en
horizontal que puede mostrar el terminal que vayamos a utilizar.
En los campos "IP" y "Port" indicamos la dirección IP y el puerto
predeterminado al iniciar el programa.
En el campo "RTimer" indicamos el período en milisegundos para la
comprobación de recepción de datos desde el servidor Telnet.
En el campo "ScreenNoDetectedTime" especificamos el tiempo que debe
pasar para que una pantalla desconocida se reconozca como tal y se
muestre un mensaje en el terminal.
En el campo "AutoLoadFile" indicamos si queremos cargar automáticamente
el archivo del campo "File" al iniciar el programa.
En el campo "AutoWirelessON" indicamos si queremos activar
automáticamente la antena al iniciar el programa.
Este archivo se puede editar con cualquier editor de texto.
Partes del programa y su funcionamiento
- La aplicación consta de tres
ventanas:

En esta ventana se
puede ver la consola de telnet y se configuran los principales aspectos
de la conexión :
-
En el apartado "File" se pueden salvar o cargar archivos de
configuración, estos archivos están en formato "texto" y pueden ser
editados con cualquier editor si se desea.
- En el apartado
"Connection" se indica la IP, el puerto y el período de recepción de la
conexión, además de permitir una conexión manual (normalmente la
conexión es automática haciendo RESET en el terminal).
- En el apartado
"Status" se puede seleccionar uno de los tres posibles estados de
funcionamiento:
-
Modo "Telnet" : En este
modo podemos usar la aplicación como si fuera un cliente Telnet normal,
sin conexión con el terminal; este modo se utiliza para añadir
pantallas a la configuración.
-
Modo "Edit Screens" : En
este modo podemos seleccionar las pantallas guardadas y en ellas crear,
editar y borrar campos.
-
Modo "Detect Screens" : Sólo cuando este modo y el
modo Wireless ON están activados se produce la comunicación con los
terminales; este modo posibilita la detección y envío de pantallas al
terminal correspondiente; en el combobox adjunto podemos ver los
terminales detectados y seleccionándolos podemos ver el estado de su
conexión.
- En el apartado
"Wireless" podemos activar o desactivar la antena de comunicaciones.

Esta ventana sirve
para crear, borrar y establecer los atributos de cada pantalla, en ella
tenemos los siguientes apartados:
-
"Screen" : en este apartado tenemos un combobox en el que podemos
seleccionar la pantalla que queremos editar o borrar.
- "AutoInput" : en este apartado podemos indicar el carácter o la
cadena de caracteres que serán enviados al servidor Telnet en el
momento de detectar la pantalla, también se puede incluir caracteres en
código ASCII metiendo el código entre llaves (Ej: "n{13}" serian las
teclas "n + return"). Las pantallas que tengan "AutoInput" no serán
enviadas al terminal ya que su uso principal es el de saltarse
pantallas innecesarias; por ejemplo para hacer "login" automático,
abrir programas automáticamente o saltarse preguntas de confirmación.
- "Screen Format" : en este apartado definimos el formato del texto de
la pantalla en el terminal usando el siguiente código:
Línea
1 --> (Letra grande) + 1
Línea 2 --> (Letra grande) + 2
Línea 3 --> (Letra grande) + 4
Línea 4 --> (Letra grande) + 8
Por ejemplo para una pantalla que
tenga todo con letra pequeña el número sería el 0, en cambio para una
pantalla con la primera y la cuarta línea con letra grande sería el
número 9 (1+8).
- "On Escape" : en este apartado
podemos indicar el carácter o la cadena de caracteres que serán
enviados al servidor Telnet cuando en la presente pantalla sea pulsada
la tecla "Esc" en el terminal; se puede incluir caracteres en código
ASCII metiendo el código entre llaves (Ej: "{3}" serian las teclas
"control + c").
- "Function Keys" : en este apartado especificamos el texto de las
teclas de función y el carácter o la cadena de caracteres que serán
enviados al servidor Telnet cuando en la presente pantalla sea pulsada
la tecla de función correspondiente en el terminal; se puede incluir
caracteres en código ASCII metiendo el código entre llaves.
- "New" : en este apartado
podemos añadir pantallas a la configuración; sólo funciona en modo
"Telnet" copiando el estado actual de la pantalla para trabajar
posteriormente con él.

Esta ventana sirve
para editar o borrar los campos creados en cada pantalla; para crearlos
debemos de estar en el modo "Edit Screens"; haciendo click y
arrastrando el ratón en la pantalla principal crearemos un campo con el
tamaño deseado; también se puede eliminar un campo rápidamente pulsando
el botón derecho sobre él. En esta pantalla se nos mostrará siempre las
propiedades del campo seleccionado en ese momento (sólo en el modo
"Edit Screens"). Tiene los siguientes apartados :
- "Field Properties"
: Aquí definimos la posición y el tamaño del campo en la ventana
principal.
- "Is Key" y "Key text" : Aquí definimos si el campo es un campo llave
y su texto. Los campos llave se utilizan para la auto detección de
pantallas, sabremos que estamos en una determinada pantalla si el texto
de todos sus campos llave coincide con lo que tenemos en la pantalla.
- "Show", "Text to Show" y "Get Text from Screen" : Aquí definiremos si
el campo va a ser visible en la pantalla del terminal y el texto que se
va a mostrar; si marcamos la opción "Get Text from Screen" el texto a
mostrar no será fijo, sino que se obtendrá en tiempo real de la
pantalla de Telnet.
- "NewLine After Field" y "NewLine Before Field" : Marcando estas
opciones saltaremos de línea antes y/o después del campo actual en el
terminal.
- "Auto NewLine" : Marcando esta opción se saltará de línea
automáticamente en el terminal al llegar al final de línea; es útil
para mostrar cadenas largas de texto.
- "Truncated Size" : Sirve para hacer más pequeño el tamaño del texto
abreviando, automáticamente, la cadena a mostrar. Si esta a 0 se deja
con el tamaño original.
- "Title Line" : Marcando esta opción el texto se mostrara centrado y
en blanco con fondo negro.
- "Normal Font" y "Large Font" : Sirve para mostrar el texto con texto
normal o texto muy grande en una sola línea.
- "Input" : Marcando esta opción estableceremos el campo como un campo
de "Input" en el terminal; si la opción "show" estuviera también
activada se mostrara el texto correspondiente como texto predeterminado
en el campo de "Input".
- "Barcode ON" : Sirve para activar el lector láser en los campos de
"Input".
-
"Cursor(Text/Prefix)" : Sirve para posicionar el cursor directamente en
la línea de edición en los campos de "Input".
- "Menu Option" : Marcando esta opción el campo se muestra en el
terminal como si fuera una opción de menú a elegir, para su
funcionamiento correcto es indispensable rellenar el campo "Send After
Input".
- "Send Bef.Input" :
En este campo se indica la cadena de caracteres a ser enviados al
servidor Telnet antes de enviar el "Input" del terminal; se utiliza con
las opciones "Input" y "Menu Option". También se puede incluir
caracteres en código ASCII metiendo el código entre llaves (Ej:
"{9}{9}" en un campo con "Input" activado, sería enviar lo escrito en
el terminal en ese campo con dos teclas de tabulación al inicio).
- "Send Aft.Input" : En este campo se indica la cadena de caracteres a
ser enviados al servidor Telnet después de enviar el "Input" del
terminal; se utiliza con las opciones "Input" y "Menu Option". También
se puede incluir caracteres en código ASCII metiendo el código entre
llaves (Ej: "{13}" en un campo con "Input" activado, sería enviar lo
escrito en el terminal en ese campo con la tecla de return al final).
Cada tipo de campo tiene un color
específico; los campos normales serán mostrados en azul, los campos
llave serán mostrados en rojo y los campos de input como "Input" y
"Menu Option" serán mostrados en verde.
En caso de que queramos enviar al
servidor teclas de cursor, se hará de la siguiente manera:
-
{u} : UP
-
{d} : DOWN
-
{l} : LEFT
-
{r} : RIGHT
Ejecución sin servidor independiente
Si se desea se puede utilizar el programa en Windows sin
necesidad de servidor, para ello hay que instalar un emulador de Linux
en Windows que se puede descargar aquí www.cygwin.com
Una vez instalado hay que configurarlo para que funcione como un
servidor Telnet siguiendo estos pasos:
-
Ejecutar "iu-config" en el
Cygwin.
-
Ejecutar "mkpasswd -l > /etc/passwd" en el
Cygwin. Esto crea el fichero "passwd" que es similar en formato y
funciones al fichero "passwd" de Linux. Puede añadir el parámetro -d
para dar acceso a usuarios de dominio.
-
Edite /etc/passwd y borre todo
menos las cuentas que desee que tengan permiso de acceso.
-
Ejecute los siguientes
comandos:
cygrunsrv -I inetd -d
"CYGWIN inetd" -p /usr/sbin/inetd -a -d -e CYGWIN=ntsec
cygrunsrv -S inetd
-
Ahora ya tiene
configurado el servidor Telnet.
Una vez echo esto puede utilizar su máquina en Windows como
cliente y servidor simultáneamente, utilizando la dirección IP
127.0.0.1 para la conexión.
|