Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Tutoriales / Guía de Administración de Redes con Linux - Realización de la Llamada con chat

Guía de Administración de Redes con Linux - Realización de la Llamada con chat

 ****- (23 opiniones)
GNU Free Documentation License Tutorial de Olaf Kirch y Terry Dawson - 14 de Febrero de 2006
Temas Relacionados: Administración de redes
62. Realización de la Llamada con chat
Uno de los problemas que puede haberle dado el ejemplo anterior es que tenía que establecer la conexión manualmente antes de poder ejecutar pppd. Al contrario que dip, pppd no tiene su propio lenguaje de scripts para llamar al sistema remoto y entrar en él, sino que confía en otro programa externo para que haga esto. El comando que tiene que ser ejecutado puede dársele pppd con la opción connect en la línea de órdenes. El pppd redirigirá la entrada y salida estándar de órdenes a la línea serie.

El paquete pppd incluye un programa muy simple llamado chat que es capaz de automatizar secuencias de registro simples. Hablaremos sobre este programa con detalle.

Si su secuencia de registro es compleja, necesitará algo más potente que chat. Una alternativa útil que debería considerar es expect, escrito por Don Libes. Tiene un lenguaje basado en Tcl, y fue diseñado exactamente para este tipo de aplicación. Aquellos de vosotros cuyas secuencias de registro requieran, por ejemplo, autentificación por reto/respuesta con generación de claves encontraréis expect lo suficientemente potente para ocuparse de la tarea. Puesto que hay tantas posibles variaciones de este tema, no describiremos como desarrollar un guión de expect apropiado en este libro. Es suficiente decir, que usted llama a su guión expect especificando su nombre con la opción connect de pppd. También es importante señalar que cuando el guión está ejecutándose, la entrada y la salida estándar estarán desviadas al módem, y no a la terminal que invocó al pppd. Si usted necesita interactuar como usuario, usted deberá hacerlo mediante un terminal virtual compartido, o mediante otros medios.

La orden chat le permite especificar un script del estilo de los de UUCP. Básicamente, un script de chat consiste en una secuencia alterna de cadenas que esperamos recibir del sistema remoto y las respuestas que hemos de enviar. Las llamaremos respectivamente, cadenas esperadas y cadenas enviadas. Este es un extracto de un típico script de chat:

|| ogin: b1ff ssword: s3|<r1t ||

Este script le indica a chat que espere a que el sistema remoto le envíe el mensaje de petición de usuario y entonces le devuelve el nombre del usuario b1ff. Sólo esperamos por ogin: para que no importe si el mensaje de registro empiece por l mayúscula o minúscula, o si llega con basura. La siguiente cadena es una cadena esperada que hace que chat espere al mensaje de petición de contraseña y le envíe nuestra contraseña como respuesta.

Esto es básicamente lo que hacen los scripts de chat. Un script completo para llamar a un servidor PPP debería, además, incluir las órdenes apropiados para el módem. Suponga que su módem entiende los comandos Hayes, y que el número de teléfono del servidor es el 318714. En ese caso, la línea completa de chat para que pudiésemos establecer una conexión con c3po sería:

|| $ chat -v ATZ OK ATDT318714 CONNECT ogin: ppp word: GaGariN ||

Por definición, la primera cadena que damos a chat tiene que ser una cadena esperada, pero como el módem no dirá nada hasta que hablemos con él, hacemos que chat la ignore especificando una cadena vacía. Continuamos enviando ATZ, la orden de inicialización para los módems compatibles Hayes, y esperamos a que nos responda con (OK). La siguiente cadena envía a chat la orden de marcado junto con el número de teléfono, y espera a que aparezca el mensaje CONNECT como respuesta. Esto está seguido de otra cadena vacía otra vez, porque ahora no queremos enviar nada, sino esperar a que aparezca el mensaje de petición de registro. El resto del script de chat funciona exactamente como antes. Esta descripción probablemente parezca algo confusa, pero veremos en un momento que hay una forma de hacer los scrips chat mucho más fáciles de entender.

La opción –v hace que chat capture todas las actividades hacia la facilidad local2 del demonio syslog. [1]

El escribir el script de chat directamente en la línea de órdenes implica un cierto riesgo, pues los usuarios pueden ver la línea de órdenes de un proceso con la orden ps. Puede evitar esto colocando el script del chat en un fichero, por ejemplo llamado dial-c3po. Entonces, podrá hacer al chat leer el script del fichero en vez de la línea de comando utilizando la opción –f, seguida por el nombre del fichero.Esto supondrá el beneficio añadido de hacer nuestra secuencia de chat expect más fácil de entender. Al modificar nuestro ejempo, nuestro fichero dial-c3po tendrá ahora un aspecto como éste:

|| ATZ OK ATDT318714 CONNECT ogin: ppp word: GaGariN ||

Cuando usamos un script de chat de esta manera, la cadena que esperamos recibir está en la izquierda y la respuesta que devolveremos está en la derecha. Presentándolas así son mucho más fáciles de leer y entender.

Por lo tanto la invocación completa al pppd tendrá ahora un aspecto como éste:

|| # pppd connect "chat -f dial-c3po" /dev/ttyS3 38400 -detach \ crtscts módem defaultroute ||

Además de la opción connect que se refiere al script de llamada, hemos añadido dos opciones más a la línea de órdenes: –detach, que le indica al pppd que no se separe de la consola y se convierta en un proceso en segundo plano. La palabra modem activa algunas acciones específicas para módem sobre el dispositivo serie, como colgar la línea antes y después de la llamada. Si no utiliza esta opción, pppd no se preocupará de la línea DCD del puerto, y por lo tanto no podrá detectar si el extremo remoto cuelga de forma imprevista.

Los ejemplos anteriores eran bastante simples; chat permite el uso de scripts mucho más complejos. Una característica muy útil es la capacidad de especificar cadenas frente a las cuales parar chat con un error. Unas cadenas típicas para parar pueden ser mensajes como BUSY o NO CARRIER, que son los que su módem produce cuando el número al que llama comunica o cuando la línea no tiene tono. Para hacer que chat las reconozca inmediatamente en vez de esperar, puede introducirlas al principio del script utilizando la opción ABORT:

|| $ chat -v ABORT BUSY ABORT 'NO CARRIER' ATZ OK ... ||

Igualmente, puede variar el valor del tiempo de espera para algunas partes de los scripts de chat insertando opciones TIMEOUT.

Algunas veces, también querrá disponer de algún tipo de ejecución condicional de algunas partes del script de chat. Por ejemplo, cuando reciba el mensaje de petición de registro (login) desde el extremo remoto, puede que quiera enviar un BREAK, o un retorno de carro. Puede conseguir esto añadiendo un sub-script a la parte de la cadena esperada. Consiste en una secuencia de cadenas de envío y esperadas, de la misma forma que el script en su totalidad, pero separadas por guiones. El sub-script es ejecutado desde el momento en que la cadena esperada a la que están ligados no es recibida a tiempo. Para este ejemplo, modificaríamos el script de chat de la siguiente manera:

|| ogin:-BREAK-ogin: ppp ssword: GaGariN ||

Ahora, cuando chat no recibe el mensaje de login del sistema remoto, se ejecuta el sub-script enviando un BREAK y esperando de nuevo por el mensaje de login. Si ahora ya aparece, el script continúa como usualmente y si no, termina con un error.

Notas


|| [1] || Si edita el syslog.conf para redirigir estos mensajes a un fichero, asegúrese de que este fichero no pueda ser leído por cualquiera, pues chat también captura todo el script de entrada por omisión - incluyendo las contraseñas. ||
Tabla de contenidos
  1. 1 - Prefacio
  2. 2 - Fuentes de información
  3. 3 - Estandares de Sistemas de Ficheros
  4. 4 - Estandar del Sistema Basico Linux
  5. 5 - Acerca de este Libro
  6. 6 - La Versión Oficial Impresa
  7. 7 - Envío de Cambios
  8. 8 - Agradecimientos
  9. 9 - La traducción al español
  10. 10 - Historia del trabajo en redes
  11. 11 - Redes TCP/IP
  12. 12 - Redes UUCP
  13. 13 - Redes con GNU/Linux
  14. 14 - Mantenimiento del Sistema
  15. 15 - Interfaces de red
  16. 16 - Direcciones IP
  17. 17 - Resolución de direcciones
  18. 18 - Encaminamiento IP
  19. 19 - El Internet Control Message Protocol
  20. 20 - Resolución de nombres de puesto
  21. 21 - Configuración del hardware de red
  22. 22 - Configuracion del núcleo
  23. 23 - Un vistazo a los dispositivos de red de Linux
  24. 24 - Instalación de una Ethernet
  25. 25 - El controlador PLIP
  26. 26 - Los controladores PPP y SLIP
  27. 27 - Otros tipos de redes
  28. 28 - Configuración del Hardware Serie
  29. 29 - Software de Comunicaciones para Enlaces con Módem
  30. 30 - Introducción a los Dispositivos Serie
  31. 31 - Acceso a Dispositivos Serie
  32. 32 - Hardware Serie
  33. 33 - Uso de las Utilidades de Configuración
  34. 34 - Dispositivos Serie y el Indicador login: (ingreso)
  35. 35 - Configuración del Protocolo TCP/IP
  36. 36 - Montando el Sistema de Ficheros /proc
  37. 37 - Instalación de los ejecutables
  38. 38 - Establecimiento del Nombre de la Maquina
  39. 39 - Asignación de una dirección IP
  40. 40 - Creación de Subredes
  41. 41 - Preparación de los ficheros hosts y networks
  42. 42 - Interfaz Configuración de la Interfaz para IP
  43. 43 - Todo sobre ifconfig
  44. 44 - La orden netstat
  45. 45 - Comprobación de las tablas ARP
  46. 46 - El servicio de nombres y su configuración
  47. 47 - La biblioteca de resolución
  48. 48 - Cómo funciona el DNS
  49. 49 - Ejecución de named (I)
  50. 50 - Ejecución de named (II)
  51. 51 - Ejecución de named (III)
  52. 52 - SLIP: IP por línea serie
  53. 53 - Requerimientos Generales para SLIP o PPP
  54. 54 - Operación de SLIP
  55. 55 - Trabajando con direcciones de red IP privadas
  56. 56 - Usando dip
  57. 57 - Funcionamiento en modo Servidor
  58. 58 - El Protocolo Punto-a-Punto
  59. 59 - PPP en Linux
  60. 60 - Ejecutando pppd
  61. 61 - Usando los Ficheros de Opciones
  62. 62 - Realización de la Llamada con chat
  63. 63 - Opciones de Configuración IP
  64. 64 - Opciones de Control de Enlace
  65. 65 - Consideraciones de Seguridad General
  66. 66 - Autentificación con PPP
  67. 67 - Depurando su configuración de PPP
  68. 68 - Configuraciones avanzadas de PPP
  69. 69 - Cortafuegos de TCP/IP
  70. 70 - Métodos de ataque
  71. 71 - ¿Qué es un cortafuegos?
  72. 72 - ¿Qué es el filtrado de IP?
  73. 73 - Configuración de Linux como cortafuegos
  74. 74 - Las tres formas posibles de filtrado
  75. 75 - El cortafuegos original de IP (núcleos 2.0)
  76. 76 - Cortafuegos 'IP Chains' (núcleos 2.2) (I)
  77. 77 - Cortafuegos 'IP Chains' (núcleos 2.2) (II)
  78. 78 - Netfilter e 'IP Tables' (Núcleos 2.4)
  79. 79 - Manipulación de los bits de TOS
  80. 80 - Comprobación de una configuración del cortafuegos
  81. 81 - Un ejemplo de configuración del cortafuegos
  82. 82 - Contabilidad IP
  83. 83 - Configurando el núcleo para contabilidad IP
  84. 84 - Configurando Contabilidad IP
  85. 85 - Utilizando los resultados de contabilidad IP
  86. 86 - Restableciendo contadores
  87. 87 - Vaciando las reglas
  88. 88 - Colección pasiva de datos de contabilidad
  89. 89 - Enmascaramiento IP yTraducción de Direcciones de Red
  90. 90 - Efectos Laterales y Beneficios Accesorios
  91. 91 - Configuración del Núcleopara enmascaramiento IP
  92. 92 - Configuración del enmascaramiento IP
  93. 93 - Manipulación del Servicio de Nombres
  94. 94 - Mas sobre la traducción de direcciones de red
  95. 95 - Características Importantesde Redes
  96. 96 - El Super Servidor inetd
  97. 97 - La Facilidad de Control de Acceso tcpd
  98. 98 - Los Ficheros de Servicios Y Protocolos
  99. 99 - Llamada a Procedimiento Remoto
  1. 100 - Configurando el Registro y Ejecución Remotos
  2. 101 - El Sistema de Información de Red (NIS)
  3. 102 - Familiarizandose con NIS
  4. 103 - NIS Versus NIS+
  5. 104 - La Parte Cliente en NIS
  6. 105 - Ejecutando un Servidor NIS
  7. 106 - Seguridad en el Servidor NIS
  8. 107 - Configurando un Cliente NIS con la libc de GNU
  9. 108 - Escogiendo los Mapas Correctos
  10. 109 - Utilizando los Mapas passwd y group
  11. 110 - Usando NIS con Soporte de Contraseñas Ocultas
  12. 111 - El Sistema de Ficherosde Red
  13. 112 - Preparando NFS
  14. 113 - Montando un Volumen NFS
  15. 114 - Los Demonios NFS
  16. 115 - El Fichero exports
  17. 116 - Soporte para NFSv2 Basado en Núcleo
  18. 117 - Soporte para NFSv2 Basado en Núcleo
  19. 118 - IPX y el Sistema de Ficheros NCP
  20. 119 - Xerox, Novell, e Historia
  21. 120 - IPX y Linux
  22. 121 - Configurando el núcleo para IPX y NCPFS
  23. 122 - Configurando las interfaces IPX
  24. 123 - Configurando un Encaminador IPX
  25. 124 - Montando un Volumen NetWare Remoto
  26. 125 - Explorando Algunas de las Otras Herramientas IPX
  27. 126 - Imprimiendo en una Cola de Impresión NetWare
  28. 127 - Emulación del Servidor NetWare
  29. 128 - Administración deTaylor UUCP
  30. 129 - Transferencias UUCP y ejecución remota
  31. 130 - Ficheros de configuración de UUCP (I)
  32. 131 - Ficheros de configuración de UUCP (II)
  33. 132 - Controlar el acceso a las prestaciones de UUCP
  34. 133 - Configuración de su sistema para recibir llamadas
  35. 134 - Protocolos UUCP de bajo nivel
  36. 135 - Resolución de problemas
  37. 136 - Ficheros de registro y depuración
  38. 137 - Correo Electrónico
  39. 138 - ¿Qué es un mensaje de correo?
  40. 139 - ¿Cómo se reparte el correo?
  41. 140 - Direcciones de correo electrónico
  42. 141 - ¿Cómo funciona el encaminamiento del correo?
  43. 142 - como configurar elm
  44. 143 - Sendmail
  45. 144 - Instalando Sendmail
  46. 145 - Un Vistazo a los Ficheros de Configuración
  47. 146 - Los Ficheros sendmail.cf y sendmail.mc
  48. 147 - Generando el Fichero sendmail.cf
  49. 148 - Interpretación de las Reglas de Escritura - Reescritura
  50. 149 - Configuración de las Opciones de Sendmail
  51. 150 - Algunas configuraciones útiles para Sendmail
  52. 151 - Probando la Configuración
  53. 152 - Ejecución de Sendmail
  54. 153 - Pistas y Trucos
  55. 154 - Poner Exim en marcha
  56. 155 - Ejecución de Exim
  57. 156 - Si el correo no llega a su destino
  58. 157 - Compilar Exim
  59. 158 - Modos de Envío de Correo
  60. 159 - Otras opciones de configuración
  61. 160 - Encaminamiento y envío de mensajes
  62. 161 - Protegerse contra el "spam"
  63. 162 - Instalación UUCP
  64. 163 - Noticias
  65. 164 - Historia de Usenet
  66. 165 - Pero, ¿qué es Usenet después de todo?
  67. 166 - ¿Cómo maneja Usenet las noticias?
  68. 167 - C-News
  69. 168 - Enviando noticias
  70. 169 - Instalación
  71. 170 - El fichero sys
  72. 171 - El Fichero active
  73. 172 - Procesar Artículos por Lotes
  74. 173 - Caducando Noticias
  75. 174 - Ficheros Diversos
  76. 175 - Mensajes de Control
  77. 176 - C-News en un Entorno NFS
  78. 177 - Herramientas y Tareas de Mantenimiento
  79. 178 - NNTP y el Demonio nntpd
  80. 179 - El Protocolo NNTP
  81. 180 - Instalar el servidor NNTP
  82. 181 - Restringir el acceso con NNTP
  83. 182 - Autorización NNTP
  84. 183 - Interacción de nntpd con C News
  85. 184 - Noticias de Internet
  86. 185 - Algunos aspectos internos de INN
  87. 186 - INN y los lectores de noticias
  88. 187 - Instalación de INN
  89. 188 - Configuración de INN: Configuración Basica
  90. 189 - INN: Ficheros de Configuración (I)
  91. 190 - INN: Ficheros de Configuración (II)
  92. 191 - Activación de INN
  93. 192 - Uso de INN: El programa ctlinnd
  94. 193 - Configuración del lector de noticias
  95. 194 - Configuración de tin
  96. 195 - Configuración de trn
  97. 196 - Configuración de nn
  98. 197 - Apéndice A. Red de ejemplo:La Cervecera Virtual
  99. 198 - Apéndice B. Configuraciones de cableado útiles
Autor y licencia de 'Guía de Administración de Redes con Linux - Realización de la Llamada con chat'
Olaf Kirch y Terry Dawson Extraído de: http://es.tldp.org/Manuales-LuCAS/GARL2/garl2/ GNU Free Documentation License
Licencia GNU Free Documentation License: http://www.es.gnu.org/licencias/fdles.html
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Guía de Administración de Redes con Linux - Realización de la Llamada con chat'

Este Cómo es la base para entender la evolución de las capacidades de Linux para... Más »
A lo largo de este trabajo se va a intentar hacer un repaso de los... Más »
Quisiera por lo tanto partir ahora de un conjunto de apuntes generales, de una veloz... Más »
Esta es la primerísima edición del Linux en Castellano COMO. La audiencia a la que... Más »
Este documento pretende ser el punto de entrada de los hispanohablantes al mundo Linux, intentando... Más »
Gente Wiki
Landis Pérez Borges
Soy ingeniero mecánico pero luego de cursar un diplomado en dirección hotelera me he dedicado al turismo. Soy amante...
Luciano Willak Jamkani
Dedicado a investigar y recopilar el legado Ancestral Andino, su religiosidad, Tradición Historia, Arqueología...
Sergio Castillo
Profesor universitario en el area de ciencias computacionales.
Karmen De La Vega
Hola, soy licenciada en comunicación y tengo una maestria en tecnología educativa. Trabajo en educación a distancia y en calidad...
Ricardo Faúndez Solís
Profesor de educación básica, especialista en tecnología y procesos de evaluación. $ años de estudio de psicología humana.
Sophie
Soy una persona muy espontánea, amo la literatura, me encanta conocer gente de diversas culturas. Tengo 29 años y soy...
Historia, Historia de la literatura,...
Suscribirse
¿Estás seguro de que deseas eliminar este capítulo?