-[ 0x0A ]-------------------------------------------------------------------- -[ THE MODEM CONNECTION ]---------------------------------------------------- -[ by Paseante ]------------------------------------------------------SET-19- THE MODEM CONNECTION. =()==()==()==()==()==()==()==()==()==()==()==()==()==()= Todo aquello que nunca quisiste saber sobre los modems pero nosotros de todas maneras te vamos a contar. =()==()==()==()==()==()==()==()==()==()==()==()==()==()= / '--''--''--''--'\ \ I Introduccion \ \ .--.--.--.--.--. / Donde explico el motivo del presente. Breve rollete. /'--''--''--''--'-\ \ II Habemus Palo \ \ .--.--.--.--.--./ Donde los novicios reciben aburrida teoria en cazos. Largo rollete. /'--''--''--''--''\ \ III Genesis \ \ .--.--.--.--.- / Donde el DTR se encendio y el beep se hizo bit. Tipico rollete /'--''--''--''--''--'\ \ IV La Bruja Averia \ \.--.--.--.--.--.--.-/ Donde la culpa se la lleva quien la merece. Rollete con ilustraciones. /'--''--''--''--'-\ \ V Parafernalia \ \ .--.--.--.--.--./ Donde se habla de diversas posibilidades. Rollete con fundamento. /'--''--''--''-\ \ A Apendice \ \.--.--.--.--.-/ Donde se muestra la belleza y utilidad del log. Rollete auxiliar. <-I-> Introduccion <-I-> ~~~~~~~~~~~~~~~~~~~~~~~~~~ Dificilmente encontraremos algo tan omnipresente en las comunicaciones actuales como el humilde y simple modem, pieza clave en la expansion de FidoNet primero e Internet despues, el modem no ha recibido toda la atencion que se merece por parte de sus usuarios. La mayor parte de las veces nos conformamos con que funcione o como maximo con 'afinar' la cadena de inicializacion. Tampoco los canales de informacion 'alternativa' han profundizado nunca en el estudio de los modems, en esta y otras publicaciones under se ha escrito de todo tipo de cachivaches minoritarios pero no del mas popular periferico de los ultimos a~os. No creo que sea porque todo el mundo domine por completo las posibilidades de su modem, lo achacaria a la falta de interes y posiblemente incluso de sex-appeal, tienden a interesarnos mas los equipos caros y complejos a los que no tenemos acceso que aquello que vemos cada dia sobre nuestra mesa. Hasta ahora solo le pedimos a nuestro modem que nos conecte a la red y damos por hecho que ahi comienza la aventura, ahora cuando el modem se enfrenta de manera creciente a nuevas tecnologias mas rapidas y baratas no olvidemos los momentos, la gente y las cosas que hemos conocido gracias a el. <-II-> Habemus Palo <-II-> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Un repaso general a los conceptos basicos de la comunicacion con modem. Ya sabemos todos que el modem "es un periferico surgido de la necesidad de usar las lineas telefonicas para la comunicación entre ordenadores, en resumen un MODulador/DEModulador transforma la se~al digital que envia un ordenador a una se~al analogica que viaja por la linea telefonica convencional y que el modem del otro extremo volvera a convertir en digital." Un esquema simple de como funciona una "conversacion" entre modems comienza con uno de los dos marcando el numero, el otro modem oira la llamada y contestara poniendo en la linea un tono que inequivocamente le distingue como un modem y una portadora o carrier unos momentos despues, el modem llamante esperara a oir una portadora que conoce y contestara poniendo a su vez otra portadora en la linea algo mas baja de tono. Las portadoras se mantienen durante toda la conexion, cuando dicha se~al se pierde se acaba la comunicacion (y sin embargo en la realidad algunos modems no ponen portadora alguna en la linea). Una vez que ambos modems han acordado velocidad comienza el intercambio de opciones (MNP, V42bis...) mediante un proceso de Pregunta/Respuesta hasta que deciden que estan listos para recibir y enviar datos. En este momentos muchos modems encienden el led CD (Carrier Detect) Con la una conexion establecida podemos empezar a transmitir datos, aqui entra en juego la UART, la UART es un chip instalado en el puerto serie que se encarga de a~adir a los datos los bits de principio, final y paridad y mandarlos de manera sincronizada por el puerto serie. Hay diferentes versiones de UART, aunque cualquier ordenador de unos a~os para aca incorpora alguna revision del modelo 16550. Los modems internos llevan su propia UART. Una de las ventajas principales de las nuevas UARTs es que el buffer de recepcion es mayor con lo cual se necesita interrumpir menos a nuestro sistema operativo y la multitarea sera algo mas que un eslogan. Con la conexion establecida y la UART ocupandose de regular los envios de datos llega el momento de preocuparse por los errores, por cada bit que enviamos se genera un tono y cuantos mas bits queramos enviar mas tonos tendremos que generar en el mismo tiempo. Eso significa que el ruido o la baja calidad de la linea que pueden no interferir en comunicaciones a 2.400 bps pueden en cambio arruinar datos que viajen a mayor velocidad. La forma mas simple de correcion de errores es el llamado "control de paridad" que consiste en sumar todos los datos de un paquetes y mandar un bit que informa si la suma es par o impar. En caso de que el modem que recibe los datos no concuerde la suma es que un error se ha producido al transmitir el paquete. Los modems generalmente son capaces de generar tonos que van hasta los 4800Hz aunque por encima de los 3400Hz dichos tonos estan atenuados, gracias a que no solo generan tonos en banda de voz se puede usar el modem como un marcador programable DTMF La tecnica para mandar mas bits en el mismo tiempo simplemente explicada es llegar a poner mas tonos en la linea simultaneamente, los modems de 28.800 bps son capaces de enviar hasta 12 tonos diferentes, con una resolucion media de 0.15Hz por lo general donde los de 2.400 bps solo ponian uno. El limite, llamado Limite de Shannon, que se ha establecido para una linea analogica ronda los 35.000 bps, los modem de 33.600 bps estan muy cerca de el. (despues vemos que pasa con tu modem de 56k) Las 'altas' velocidades hacen que el antiguo control de paridad no puede ser eficiente a estas tasas ya que la sensibilidad de los nuevos modems al ruido podria hacer cambiar los datos sin llegar a cambiar la paridad. Para evitar que estos errores pasen inadvertidos se realiza una comprobacion de suma sobre cada paquete de datos, esta operación matematica reflejara que ha ocurrido un cambio en el paquete si al ser comparada con el checksum del otro extremo no concuerda. El paso siguiente para mejorar las prestaciones de los modems es la compresion, enviar los datos repetidos de una manera mas eficiente. La idea basica es que una secuencia como: 01010001 01010001 01010001 01010001 01010001 01010001 01010001 Se envia mas rapidamente diciendo 01010001*7, asi nacieron normas como v42.bis y MNP-5 que primero intentan comprimir los datos y despues ademas se ocupan de corregir los errores. Pero si como suele ocurrir te bajas un archivo comprimido entonces te puedes comer esas normas con patatas. Como la velocidad a la que nuestro modem recibe datos suele ser diferente a la velocidad de conexion con nuestro equipo surge la necesidad de regular el "flujo de datos" del modem al ordenador. La tecnica mas antigua de control de flujo es el llamado "Xon/Xoff" o control software hoy en dia en desuso. Llego despues el control de flujo por hardware aplicable cuando nuestro modem externo esta conectado a un puerto serie, se trata de una serie de se~ales electricas agrupadas en un protocolo llamado RS-232 que regula el control de flujo y el control de la llamada. {-}{-}........S.p.e.e.d......... Los estandares de velocidad vienen definidos por una organización llamada ITU-T, esto garantiza que los modems que cumplen dichas normas podran negociar la velocidad maxima excepto por motivos de calidad de la linea. (Luego hablaremos de eso) Las normas V.34 y V34.bis son los estandares para las velocidades de 28.8kbs y 33.6kbs, en ocasiones algunos fabricantes se adelantan al estandar ofreciendo modems mas veloces pero incapaces de dar esa velocidad al negociar con modems que no posean la misma norma. Asi modems de 28.8 que alcanzaban esa velocidad con la norma no estandar V.Fast se comportan como modems de 14.4kbs con modems de 28.8kbs que cumplen el estandar v.34. Hoy en dia la velocidad minima seria la de 33.6kbs, ningun modem por debajo de esa velocidad merece la pena como nueva adquisicion salvo que vaya a estar sometido a requisitos muy puntuales (como por ejemplo limitarse a enviar faxes). Con respecto a la adecuacion a las normas muchos modems incorporan una memoria flash que se puede actualizar para que el modem automaticamente sea capaz de aumentar su velocidad o incorporar nuevos estandares. Normalmente los fabricantes de mayor prestigio hacen disponibles estas actualizaciones en sus paginas web para que los usuarios las descarguen gratuitamente. - Y como deja lo de los 56kbs al Shannon ese? Basandose en la asuncion de que uno de los dos modems que interviene en la conversacion esta directamente conectado a una linea digital es posible superar la barrera de los 33.6kbs y llegar a recibir datos a 56kbs, el modem que envia los datos evita convertirlos en analogicos puesto que esta unido a una linea digital, los datos siguen siendo digitales justo hasta que llegan al "ultimo salto" antes del destino en donde se convierten en analogicos y son recogidos por el modem del cliente que los transforma en digitales de nuevo. Al evitar una conversion y ganar en tiempo y calidad es posible obtener este aumento de velocidad que en todo caso solo se da en uno de los caminos (recepcion) ya que en el modo de envio los datos viajan a 33.6kbs (dado que el cliente no esta conectado a una linea digital y tiene por fuerza que convertir los datos en analogicos para su envio) Dos tecnologias han pugnado por este mercado k56Flex y X2, ambas incompatibles entre si, hasta que finalmente se ha impuesto el estandar v.90 que garantiza que cualquier modem que cumpla esta norma es capaz de recibir datos a esta velocidad. Muchos modems k56Flex y X2 pueden usar v.90 por medio de las actualizaciones anteriormente comentadas. {-}{-} Nuevas Tendencias: El baratillo. HSP y Winmodem (RPI) Ahora tienes un modem barato y con unas siglas raras, digamos que has 'adquirido' un HdSPM DeLuxe y quieres saber que diferencias hay con uno de esos "Winmodems" o con un modem "de verdad". Pues aqui iba a aprovechar yo y largarte otro rollete bueno pero al final he pensado que "lo breve si bueno dos veces breve", digo bueno: -Modem "de verdad", incorpora en hardware el DAA, DSP y controlador. -Winmodem-RIP (Rockwell Protocol Interface), incorpora DAA y DSP en hard. -Soft modem o HSP (Hijo de su P* Madre o Host Signal Processing) incorpora el DAA y el CODEC en hardware. Aclarido? Pues como recomendacion el HSP ni regalado, el Winmodem solo si robarlo no representa excesivo riesgo y el modem de verdad solo si no tienes otra opcion. En cuanto a las siglas que no hemos explicado, en dos palabras... DAA - Data Acquisition Arrangement, esto hace que el bicho se pueda comunicar por la red timofonica. DSP - Digital Signal Processor. El corazon del melon. Como regalo a~adido viene con el CODEC CODEC - Termino muy usado que viene a ser la abreviatura de CODificador/DEsCodificador. Controlador - Ya deberias saber lo que es esto. Y como afectan estas diferencias al funcionamiento y rendimiento?. Ya me parece que quieres saber mucho tu. :-) Un Winmodem (o controller-less modem en jerga 'tesnica') no afecta en exceso al rendimiento, lo unico que cambia es que necesita un driver por software para poder usar la CPU como controlador del modem. En un sistema moderno esto no supone un impacto muy grande en el rendimiento diario del sistema. Un HSP (o soft-modem en jerga 'tesnica') incorpora en su placa solo la DAA y el CODEC, eso significa que tanto el trabajo del controlador como el del procesador DSP lo tiene que hacer nuestro ordenador. Es por tanto mas "pesado" para el sistema que un Winmodem y hace uso mas intensivo de los recursos del PC. Claro que si tienes uno de estos PII 350Mhz y solo quieres enviar faxes de cuando en cuando...... Por ultimo solo nos queda comentar para acabar la introduccion que el control del modem se realiza mediante el set de comandos AT de Hayes (comando at, comando at, siempre alerta estan!!) aunque hay algunas extensiones propias de cada fabricante Normalmente los comandos Hayes solo se utilizan por el usuario para pasar al modem la configuracion de inicio deseada aunque tambien pueden hacerse servir para obtener mas informacion sobre el mismo modem y sus posibilidades. usualmente la cadena que nos salvara es AT&F que carga la configuración de fabrica por defecto. [Volver arriba y releer cinco veces? S/N] <-III-> Genesis <-III-> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Pues ahora es cuando empezamos a usar esos comandos AT para ver que es lo que hacemos y donde estamos. Aclarar antes de empezar que esto de "compatibilidad Hayes" no asegura que todos los modems tengan todos los comandos ni que los mismos comandos no hagan cosas diferentes en distintos modems, de hecho las hacen, pero aunque los mismos comandos proporcionen informaciones diferentes o tengan otros usos dependiendo del modem, las diferencias no suelen ser muy grandes. En fin, que todos sabreis lo que significa "compatible" en Informatica........ Asi que abrimos nuestro programa de terminal (esto es cualquier programote que nos permite enviar comandos al modem y si es posible ver la respuesta) y vamos a ver que trasto acabamos de mangar. ATI: Identificacion del modem La familia "ATI" nos va a dar mucha informacion, particularmente resaltemos a: ATI3-ATI5 y ATI11. Que nos van a devolver informacion sobre velocidad, fabricante, revision del firmware y muchas cosas mas que varian de modem a modem. Con los varios ATI ya sabemos mas o menos a que marca pertenece nuestro modem y podemos ir a la web a ver si hay actualizaciones porque tenemos los numeros de version del firmware pero que carajo de configuracion carga el modem por defecto? AT&V: Muestra la configuracion activa y los perfiles almacenados. AT\S: Parecido pero en mas bonito y algo mas explicativo. Ahora ya sabemos que modem tenemos e incluso que *opciones* tenemos activadas y cuales no, ademas nos ha dado el valor de algunos registros que contienen datos de importancia. Estos registros (registros S) guardan toda una serie de valores que afectan de manera fundamental al rendimiento y las capacidades de nuestro modem. Para leer un registro S: ATSn? (Muestra el valor del registro Sn) Para cambiar el valor de un registro S: ATSn=x (n numero registro, x valor que contendra) Por ejemplo el registro S82 contiene el modo en que se trata el break, segun su valor podria hacer que al recibir la se~al de break desde el modem remoto [AT\B] nuestro modem borre todos los datos del buffer. Y por ejemplo, el registro S0 contiene el nº de rings que nuestro modem espera antes de contestar al telefono, con ATS0=0 no contestara nunca. Una vez que se quien soy la pregunta logica parece ser.... Y quien me llama?? Lo primero saber nuestras limitaciones: AT#CID=? Devuelve si tu modem soporta Caller-ID y que formatos, caso de que lo haga en vez de darte el mensaje de ERROR entonces hacemos lo siguiente: AT#CID=1 Muestra los datos disponibles sobre el llamante incluyendo cabeceras: DATE: Fecha TIME: Hora NUMBER: Numero desde el que se recibe la llamada NAME: Nombre del sujeto (no, no lo busca en las paginas amarillas XDD ) Evidentemente estos datos se muestran en el instante en que nuestro modem RESPONDE a una llamada externa (no, no vale para saber el numero del tio que te kickea en IRC) Esta informacion se envia entre el primer y segundo ring concretamente algunos milisegundos despues de sonar el primer ring y exactamente hasta un pu~ado de milisegundos antes de que suene el segundo ring. Iba a explicar yo aqui como funciona todo esto pero resulta que abro un zip y me encuentro que en otro zine ya le han dedicado un articulo completo. Moskis. Leetelo y date por enterado. Aunque nuestro modem y nuestra teleco soporten este servicio puede suceder que en el campo del numero remoto nos encontremos con una P que indica que el llamante ha solicitado la privacidad del numero. Se puede hallar utilidad al Caller-ID en control de llamadas, bloqueo de personas non-gratas o mil cosas mas que se te ocurran. Aprovechando que estamos ya mas sueltos y con confianza no viene de mas explicar que el modem tiene dos modos principales de funcionamiento, algo que unos cuantos han aprendido ya a base de desconexiones, que son: - Modo comandos: En este estado el modem interpreta los caracteres recibidos desde el terminal como comandos (no era muy dificil) Pasar modo datos a modo comandos: +++ - Modo datos: El terminal se puede conectar a otro terminal remoto gracias al enlace de los modems que envian al otro extremo de la comunicacion los caracteres recibidos. Pasar modo comandos a modo datos: ATO De hecho la cadena para pasar a modo comandos mientras se esta en linea viene especificada en el registro S2, se puede anular el pase a comandos de nuestro modem cambiando este valor por uno superior a 127 ATS2 Codigo de escape (predeterminado + ascii 43) ATS2= 128 (Deshabilita pase a comandos) El modo exacto de enviar la cadena para pasar a modo comandos incluye una referencia a otro registro S, el 12 que indica el tiempo entre caracteres. Enviar caracter en S2 - Esperar S12 o mas - Enviar caracter en S2... Cualquier caracter que se reciba en este proceso lo anula y fuerza el volver a enviar la cadena desde el principio. <-IV-> La Bruja Averia <-IV-> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Si perteneces al 90% de gente que se conecta habitualmente a redes usando modem seguro que estas hartos de acordarte de los progenitores de (Infovia, Infovia+, nuestro ISP, Timofonica, Retenet, los nodos "locales".. ..y una larga lista). Tambien estaremos hartos del choteo que se traen cuando llamamos para protestar teniendo que asistir una vez tras otra a la espa~olisima especialidad de "le_paso_el_muerto_a_otro". En Timofonica dicen que Ivia+ funciona y que es culpa del ISP, los otros dicen que la culpa es de tu modem, o que "los americanos se estan conectando justo ahora y claro..." Y como se yo si realmente mi linea es mala, si las desconexiones son problema mio, del ISP o de la ONU?. Hemos probado ya lo de acercar el bote de mayonesa al cajetin telefonico y dejarlo alli a ver si se corta pero eso no parece muy valido como prueba. Comencemos por el comienzo y a traves de un largo proceso intentaremos descubrir el motivo por el cual nos conectamos a 300bps con nuestro flamante 56kbs y porque se nos corta la conexion cada 15 minutos. Despues podremos insultar con mas razones y fundamento :-D Vamos a probar la conexion de nuestro modem al ordenador. AT&T3: Bucle digital local En este test los datos enviados al modem son devueltos por este al ordenador para que podamos comprobar que la comunicacion entre ambos equipos es correcta. Tr: Transmisor del modem .---------. Rc: Receptor del modem | | _______ | | ---test---> [ | Tr ] | PC | [ | ] | | <--test---- [ | Rc ] | | [_|_____] `---------' `-----------> Los datos no llegan a ser modulados ni demodulados. AT&T1: Bucle analogico local Una vez comprobado que nuestro modem recibe correctamente las indicaciones del ordenador y viceversa pasamos a recibir la parte mas transcendental, el receptor y el transmisor. Los datos son reenviados al equipo tras pasar por el interface digital del modem. .---------. | | .-------. | | >--test-------> Tr ---test---. | PC | [ ] | Linea | | <--test-------- Rc <--test---+ Timofonica | | [_______] | `---------' `------> No cuesta dinero. Con el comando AT&T8 el modem se aplica su propio conjunto de pruebas y las reenvia en bucle. Al finalizar nos informa del numero de errores registrados. Esto que hemos hecho en casa podemos hacerlo a traves de la linea telefonica contando para ello con la colaboracion de un modem remoto, en este caso tendremos un bucle digital remoto y un bucle analogico remoto. (Aqui ya nos cuesta dinero puesto que pagamos una llamada) AT&T6, envia una peticion de reconocimiento de bucle al modem remoto que puede denegarlo (manualmente seria AT&T5) o aceptarlo (manualmente AT&T4) dependiendo de lo que digan sus registros S. Terminal ------> Transmisor ------> Linea -----> Receptor <------ Receptor <------ Timofonica <----- Transmisor El antiguo bucle analogico pero con mas gente, enviamos datos al modem, este los manda hacia un modem remoto que NO los pasa a su terminal sino que nos los envia de vuelta en bucle y finalmente comprobamos como ha ido la cosa. Tambien se puede realizar un autotest remoto con el comando AT&T7, la duracion del bucle viene determinada en un registro S, el S18. Ahora ya sabemos que nuestro modem funciona razonablemente bien y empezamos a pensar mal de Timofonica, vamos a ver que linea tenemos. Hay un par de maneras basicas: -*- Manera Uno: Manera metodica o la cuenta de la vieja 1. Nos conectamos a nuestro ISP/BBS manualmente desde un programa terminal 2. Pasamos a modo comandos y AT&V1, este comando nos devuelve informacion referente a la conexion actual entre ellos uno llamado "Line Quality". 3. Apuntamos el valor no vaya a ser que se nos olvide. 4. Desconectamos 5. Repetimos los pasos anteriores hasta que creamos haber encontrado un valor medio. Un ejemplito de AT&V1 [En este caso nos da info sobre la _ultima_ conexion] TERMINATION REASON.......... LOCAL REQUEST LAST TX data rate........... 33600 BPS HIGHEST TX data rate........ 33600 BPS LAST RX data rate........... 33600 BPS HIGHEST RX data rate........ 33600 BPS Error correction PROTOCOL... LAPM Data COMPRESSION............ V42Bis Line QUALITY................ 039 -----> Oops, vaya con Timofonica. :->> Receive LEVEL............... 025 ------> Timofonica sigue triunfando. Que valor es bueno?. Pues depende de la velocidad a la que quieras conectar pero cualquier cosa mayor de 30 es ya fastidiosa y te permite quejarte con razon y con datos fiables en la mano (no te haran caso y te torearan pero al menos tendras argumentos para que no te pongan las banderillas) -*- Manera Dos: Manera metodica Plus o la ecuacion de la vieja 1. Nos conectamos a nuestro ISP/BBS manualmente desde un programa terminal 2. Pasamos a modo comandos y enviamos al modem AT%Q1, nos devuelve valores EQM, RX y TX. 3. ATO, volvemos a linea y aprovechamos la conexion (ya esta bien de pagar para hacer pruebas!) 4. Vamos repitiendo la cosa y alternando modems remotos. Ahora que tienes una buena lista de valores (los apuntaste?) veamos que nos dicen estos. Para TX y RX los valores deben estar entre 10-20 pero lo mas importante es el valor de EQM ya que es un dato fundamental a la hora de que el modem decida usar los mecanismos de fallback/fall forward (metodo por el cual la velocidad sube o *baja* dependiendo de la calidad que la linea ofrezca) Los "buenos" valores de EQM son siempre relativos a la velocidad a la que te quieres conectar, el tipo de modem, la version de firmware....etc. Normas basicas: EQM cuanto menor mejor. Cuanta mas rapido te quieras conectar mas "sube" el valor de la EQM. (EQM viene de Eye Quality Monitor) ** EQM entre 0?! y 25 ** O no estas conectado o puedes aumentar la velocidad hasta el tope. ** EQM entre 26 y 40 ** Podrias llegar a conseguir un aumento de velocidad con algunos ajustes de configuracion (lease registros S) ** EQM entre 41 y 55 ** En estas condiciones tu modem no puede dar mas de si. ** EQM mayor de 55 ** La linea es una patata, deberias bajar la velocidad (si, aun mas!) si notas que hay muchos errores o la conexion es inestable. Cambiate de pais. En el caso hipotetico y muy improbable de que la linea parezca estar bien y la culpa de los fallos de conexion no sea de quien todos sabemos puede ser de utilidad grabar un archivo de registro para que cuando le cantes las verdades a tu ISP sobre su "maravilloso nodo local" tengas a manos cosas como esta: 02-24-1999 17:28:54.07 - Remote modem hung up. 02-24-1999 19:38:22.21 - Remote modem hung up. 02-27-1999 23:02:24.56 - Remote modem hung up. Vaya, diria que te estan colgando el telefono??. Que pasa, no hay ancho de banda y desconectan a clientes de forma aleatoria?? ;->> Ademas un archivo siempre viene bien para otras cosas (ocupar espacio en tu HD, saber cuanto tiempo tarda el modem en marcar, saber quien ha forzado la desconexion..etc) <-V-> Parafernalia <-V-> ~~~~~~~~~~~~~~~~~~~~~~~~~ Empezaremos por algo que no podia faltar: la seguridad; y es que muchas veces nos topamos con sistemas de rellamada (call-back) que dicho sea de paso han dado lugar a mucho mito y literatura. Existen dos modos basicos establecidos para controlar el acceso, los llamaremos Modo Uno y Modo Dos. ;-) Modo Uno: Permite la conexion tras introducir una clave Modo Dos: Modo Uno+Cuelga y llama al numero asociado a esa clave Caso de encontrarnos con alguno de estos modos podemos recurrir a la literatura anteriormente mencionada o echar mano de los siguientes recursos que nos proporciona el modem. Si nuestro modem ha negociado una conexion MNP tenemos la opcion de pasar a modo comandos y teclear: AT*R Con ello estamos pidiendo al modem que intente poner al remoto en RCM (Remote Configuration Mode), de conseguirlo veremos aparecer en nuestra pantalla lo siguiente: REMOTE PASSWORD: Como nos la sabemos (lo dudabas??) tras su introduccion nos aparecera el siguiente indicador de ordenes. !AT Y podremos mandar comandos de control al modem remoto, con algunas restricciones (evidentemente no podremos pedirle que marque otro numero porque ya esta conectado con nosotros) Cuando nos hayamos cansado de trabajar o jugar. !AT AT*E Y el modem remoto sale del RCM devolviendo sobre la linea un codigo de OK. Aunque la preocupacion por la seguridad se ha extendido es habitual que incluso lugares que parchean rapidamente su software, usan herramientas de seguridad de manera periodica y han establecido una politica de seguridad se "olviden" de modificar, quiza por el desprecio al que hacia mencion en la introduccion o por ignorancia, la clave de acceso remoto asi que en muchos lugares la clave por defecto continua siendo valida: QWERTY {12345 tambien es una opcion} Con el comando AT*C podemos almacenar el password para que otro modem pueda entrar en configuracion remota (si la conexion es MNP). Este password tiene un longitud de entre 6-12 caracteres de tipo alfanumerico. Pero que pasa con el sistema de call-back?. Pues que una vez que se puede mandar comandos a otro modem quiza necesitemos saber alguno de estos. AT*L: Mediante este comando visualizamos el directorio de seguridad en la forma 1 miclave 987654321 2 soyyo 123456789 3 platanito En este ejemplo si al el prompt de REMOTE PASSWORD: hubiesemos introducido la clave 1 o 2 el modem remoto habria marcado los respectivos numeros pero con la 3 no hubiera hecho llamada de comprobacion al no tener asociado ningun numero. Supongamos ahora que queremos "a~adir" un nuevo usuario a esta lista, AT*P4 hanoirocks 88899897 Con este comando el listado anterior pasaria a ser como sigue 1 miclave 987654321 2 millave 123456789 3 platanito 4 hanoirocks 88899897 Como veis no es muy dificil, dejo como ejercicio saber que pasaria de teclear estos dos comandos. AT*P1 myerstad 88899897 AT*P4 hanoirocks A la hora de saber si nuestro modem esta sujeto a posibles RCM por parte de terceros el contenido del registro S80 (ATS80?) es muy importante, concretamente: S80 - bit 6: Deniega/Permite configuracion remota S80 - bit 7: Inhabilita/Deshabilita callback [Esto puede variar segun el modelo de modem, ya te lo avise] Caso de que el bit 6 de S80 este puesto a uno nos interesa bastante el contenido de S202 S202: Contiene el caracter de escape para el acceso remoto, si para el acceso local este valor se guardaba en S2 y consistia por defecto en tres simbolos '+' en el acceso remoto los simbolos son cuatro '*' con un intervalo de un segundo. **** --> Secuencia de escape remota Esta secuencia trabaja en cualquier conexion cuando el remoto tiene activado el RCM (bit 6 de S80 a 1), esto nos lleva a una situacion similar a la que obteniamos con el comando AT*R (pero sin obligacion de que la conexion sea MNP). Tras el tipico REMOTE PASSWORD: (Suerte que nos la sabemos de antes!) Veremos el siguiente prompt > Detras del simbolo es donde introducimos los comandos AT, cuando nos hayamos aburrido... > AT*X Nos devuelve a donde estabamos (si teniamos una conexion de datos el enlace se mantiene, con AT*E para salir de un RCM establecido por AT*R no volveriamos al enlace sino al modo comandos de nuestro modem) Como explicamos antes no todos los comandos AT estan disponibles en modo remoto pero muchos si, prueba por ejemplo ATH y ya veras como te diviertes. :->> En resumen hay dos grandes maneras de tomar el control de un modem remoto, con la secuencia de escape remota y a traves del RCM, ambas tienen sus requisitos y limitaciones. Hay una curiosidad adicional para los amantes de la ingenieria social, se trata de la facilidad del modem para crear un enlace de datos cuando originalmente se trata de una llamada de voz, solo necesitamos que el sujeto objetivo teclee en un terminal ATD (origen) y nosotros mandaremos ATA al nuestro (destino), o viceversa, la conversacion se pierde y ahora son los modems los que estan enlazados (siempre que compartan linea con el telefono claro). Esto puede posibilitar la realizacion de conexiones "furtivas" o "subvencionadas". Pues ahora nos vamos a: AT*B Y vemos que numeros tenemos en la "Lista negra", tiempos atras tuvo cierto auge, uno o dos casos documentados :-) , el aprovechar estas posibilidades del modem para un curioso ataque DoS, el ingresar el numero de Infovia -055- en la lista de numeros "prohibidos" causando el efectivo bloqueo del usuario y el mosqueo consiguiente (llamadas a todo quisque y acusaciones sin fundamento). A quien se le puede ocurrir algo asi?. ...La verdad esta..me he olvidado donde pero seguro que en algun sitio. Aqui se acaba la cosa, cuando te aburras te puedes leer el articulo que se que te has saltado 3/4 partes. :-) <-A-> APENDICE <-A> ~~~~~~~~~~~~~~~~~~~ Es habitual entre los hackers que pueblan este y otros paises loguear cosas, diferentes tipos de cosas, una practica muy extendida es loguear conexiones o intentos de conexion con la intencion de depurar errores, aprender, perder el tiempo u otros motivos similares. En este caso veremos como cualquier usuario puede acceder a esta informacion mas detallada sin necesidad de instalar Linux y hacer pppd -debug o teclear comandos como tail -f /var/log/messages ni nada por el estilo. El denostado Windouuuuuss 95! nos permite loguear el establecimiento de la conexion tanto desde el punto de vista del modem como desde el punto de vista meramente 'protocolario'. Ya es algo. 04-02-1999 17:53:01.08 - Standard Modem in use. 04-02-1999 17:53:01.12 - Modem type: Standard Modem 04-02-1999 17:53:01.12 - Modem inf path: MDMGEN.INF 04-02-1999 17:53:01.12 - Modem inf section: Gen 04-02-1999 17:53:01.41 - 115200,N,8,1 04-02-1999 17:53:01.87 - 115200,N,8,1 Hasta aqui Windows se estaba preparando, ahora pasa a inicializar el modem. 04-02-1999 17:53:01.93 - Initializing modem. 04-02-1999 17:53:01.93 - Send: AT 04-02-1999 17:53:01.94 - Recv: AT 04-02-1999 17:53:03.93 - Recv: 04-02-1999 17:53:03.93 - WARNING: Unrecognized response. Retrying... Nada, que no chuta, asi que lo vuelve a intentar. 04-02-1999 17:53:03.93 - Send: AT 04-02-1999 17:53:03.95 - Recv: AT 04-02-1999 17:53:03.95 - Recv: OK 04-02-1999 17:53:03.95 - Interpreted response: Ok 04-02-1999 17:53:03.95 - Send: ATE0V1 04-02-1999 17:53:03.95 - Recv: ATE0V1 04-02-1999 17:53:03.96 - Recv: OK 04-02-1999 17:53:03.96 - Interpreted response: Ok 04-02-1999 17:53:03.96 - Send: ATX4 04-02-1999 17:53:03.96 - Recv: OK 04-02-1999 17:53:03.96 - Interpreted response: Ok La configuracion se ha llevado a cabo con exito, han pasado 2 segundos. 04-02-1999 17:53:03.97 - Dialing. 04-02-1999 17:53:03.97 - Send: ATDT######### 04-02-1999 17:53:25.19 - Recv: 04-02-1999 17:53:25.19 - Interpreted response: Informative 04-02-1999 17:53:25.19 - Recv: 04-02-1999 17:53:25.19 - Interpreted response: Informative 04-02-1999 17:53:25.20 - Recv: CONNECT 115200 A los 24 segundos ya estamos conectados, Windows informa que desconoce haber negociado opciones de compresion o control de errores. 04-02-1999 17:53:25.20 - Interpreted response: Connect 04-02-1999 17:53:25.20 - Connection established at 115200bps. 04-02-1999 17:53:25.20 - Error-control off or unknown. 04-02-1999 17:53:25.20 - Data compression off or unknown. 04-02-1999 17:53:25.34 - 115200,N,8,1 04-02-1999 18:54:54.56 - Hanging up the modem. 04-02-1999 18:54:54.56 - Hardware hangup by lowering DTR. 04-02-1999 18:54:55.77 - WARNING: The modem did not respond to lowering DTR. Trying software hangup... Nuestro modem esta configurado para ignorar las se~ales hardware. 04-02-1999 18:54:55.77 - Send: +++ 04-02-1999 18:54:56.80 - Recv: OK 04-02-1999 18:54:56.81 - Interpreted response: Ok 04-02-1999 18:54:56.81 - Send: ATH 04-02-1999 18:54:57.64 - Recv: OK 04-02-1999 18:54:57.64 - Interpreted response: Ok La desconexion por software se ha llevado a cabo con exito. 04-02-1999 18:54:58.12 - Session Statistics: 04-02-1999 18:54:58.12 - Reads : 2877981 bytes 04-02-1999 18:54:58.12 - Writes: 269278 bytes 04-02-1999 18:54:58.12 - Standard Modem closed. Lo mismo pero desde el punto de vista de los protocolos nos muestra todo el proceso de puesta en marcha y negociacion de nuestro enlace asi como los protocolos y opciones que va a aceptar el servidor. Esto requeriria un articulo entero pero mientras puedes leer las RFC pertinentes y las tonterias que pongo yo. 04-02-1999 07:27:51.93 - Server type is PPP (Point to Point Protocol). Comienza el FSA -Finite State Automaton- que solo con el nombre asusta. 04-02-1999 07:27:51.93 - FSA : Adding Control Protocol 80fd (CCP) to control protocol chain. 04-02-1999 07:27:51.93 - FSA : Protocol not bound - skipping control protocol 803f (NBFCP). Este nombrecito NBFCP corresponde al NetBios Framing Control Protocol 04-02-1999 07:27:51.93 - FSA : Adding Control Protocol 8021 (IPCP) to control protocol chain. 04-02-1999 07:27:51.93 - FSA : Protocol not bound - skipping control protocol 802b (IPXCP). 04-02-1999 07:27:51.93 - FSA : Adding Control Protocol c029 (CallbackCP) to control protocol chain. 04-02-1999 07:27:51.93 - FSA : Adding Control Protocol c027 (no description) to control protocol chain. Y este sin descripcion es el Shiva Password Authentication Protocol 04-02-1999 07:27:51.93 - FSA : Adding Control Protocol c023 (PAP) to control protocol chain. 04-02-1999 07:27:51.93 - FSA : Adding Control Protocol c223 (CHAP) to control protocol chain. 04-02-1999 07:27:51.93 - FSA : Adding Control Protocol c021 (LCP) to control protocol chain. This-Layer-Up que nos vamos. Segunda fase. 04-02-1999 07:27:51.93 - LCP : Callback negotiation enabled. 04-02-1999 07:27:51.93 - LCP : Layer started. 04-02-1999 07:27:52.08 - LCP : Received and accepted ACCM of a0000. Ein?. Que dice uste?. Mapear caracteres de control?. Pos fale. 04-02-1999 07:27:52.08 - LCP : Received and accepted authentication protocol c223 (CHAP). Chap, chap, chapchapchap (hay que ponerle musica mentalmente) Segurisimo que el funcionamiento del protocolo lo han explicado en algun texto/ezine/whatsoever en castellano. 04-02-1999 07:27:52.08 - LCP : Received and accepted magic number 19fdfa95. 04-02-1999 07:27:52.08 - LCP : Received and accepted protocol field compression option. 04-02-1999 07:27:52.08 - LCP : Received and accepted address+control field compression option. 04-02-1999 07:27:52.08 - LCP : Received configure reject for callback control protocol option. Oh, que lastima!. Un Conf-Rej para nuestro querido CBCP. Un aplauso por haberlo intentado con user-specifiable number y dos narices. 04-02-1999 07:27:52.20 - LCP : Layer up. 04-02-1999 07:27:52.20 - CHAP : Layer started. 04-02-1999 07:27:52.96 - CHAP : Login was successful. Estamos dentro... (frase historica). Comienza la tercera fase 04-02-1999 07:27:52.96 - CHAP : Layer up. 04-02-1999 07:27:52.96 - IPCP : Layer started. 04-02-1999 07:27:52.96 - IPCP : IP address is 0. 04-02-1999 07:27:52.96 - CCP : Layer started. 04-02-1999 07:27:53.13 - FSA : Received protocol reject for control protocol 80fd. El servidor nos informa que no soporta CCP (Compression Control Protocol) 04-02-1999 07:27:53.13 - CCP : Layer finished. 04-02-1999 07:27:53.16 - IPCP : Received and accepted compression protocol request f 0. Gimme IP Joanna before the morning comes. 04-02-1999 07:27:53.16 - IPCP : Received and accepted IP address of 9f51112d. 04-02-1999 07:27:55.54 - IPCP : Received and accepted compression protocol request f 0. Nuestra posicion en esta negociacion consiste en aceptar lo que nos den pero siempre puedes intentar cambiar las cosas. 04-02-1999 07:27:55.54 - IPCP : Received and accepted IP address of 9f51112d. 04-02-1999 07:27:56.18 - IPCP : Changing IP address from 0 to 9f51112d. 04-02-1999 07:27:56.18 - IPCP : Accepting primary DNS 9f5110a4. 04-02-1999 07:27:56.18 - IPCP : Accepting backup DNS 9f5110a1. 04-02-1999 07:27:56.29 - IPCP : Layer up. 04-02-1999 07:27:56.29 - FSA : Last control protocol is up. Que frase tan bonita. Y ahora listo, ya podemos desconectar. 04-02-1999 07:54:53.73 - Remote access driver is shutting down. 04-02-1999 07:54:53.73 - CRC Errors 0 04-02-1999 07:54:53.73 - Timeout Errors 0 04-02-1999 07:54:53.73 - Alignment Errors 0 04-02-1999 07:54:53.73 - Overrun Errors 0 04-02-1999 07:54:53.73 - Framing Errors 0 04-02-1999 07:54:53.73 - Buffer Overrun Errors 0 04-02-1999 07:54:53.73 - Incomplete Packets 0 04-02-1999 07:54:53.73 - Bytes Received 1146895 04-02-1999 07:54:53.73 - Bytes Transmittted 137315 04-02-1999 07:54:53.73 - Frames Received 1534 04-02-1999 07:54:53.73 - Frames Transmitted 1861 04-02-1999 07:54:53.73 - LCP : Layer down. 04-02-1999 07:54:53.73 - CHAP : Layer down. 04-02-1999 07:54:53.73 - IPCP : Layer down. 04-02-1999 07:54:53.73 - CCP : Layer started. ---> Otro que esta bueno. 04-02-1999 07:54:53.86 - LCP : Received terminate acknowledgement. 04-02-1999 07:54:53.86 - LCP : Layer finished. 04-02-1999 07:54:53.86 - Remote access driver log closed. Vale, no es tan detallado como otra informacion que se puede conseguir pero lo hace Windouuuuuss 95! solito, asi que todos aquellos que pensais que "como tengo Windouuuuuss 95! no puedo hacer nada ni aprender nada ni hackear nada hasta que no me ponga Linux en el 2010". Tais quivocados!!. * NOTA: Windouuuuuss 95! is a trademark of Microchof Corp. All rights reversed. Se acabo el tormento. Y recordad, hagais lo que hagais. Tened cuidado ahi fuera. Paseante