| Sitio del Protocolo ICQ |
La versión original de este documento (en inglés) es mantenida por Magnus Ihse. La misma se encuentra en:
Traducciones
Gracias a "MadDany", esta página está ahora traducida al francés!
Gracias a Magnus Müller, esta página está ahora traducida al alemán!
Gracias a Alex Voitov, esta página está ahora traducida al Ruso!
Noticias
2 de Septiembre 2000: Fueron reemplazados algunos enlaces podridos. Añadido enlace a Jabber. Desafortunadamente, no puedo mantener este sitio más actualizado que esto. Mis disculpas a todos los que me enviaron información sobre los enlaces desactualizados.
6 de Enero de 2000: Añadida traducción al españól.
5 de Diciembre de 1999: Por fin, la página del Procolo de ICQ ha sido actualizada. Hace casi un año desde la última traducción mayor, lo cual es demasiado tiempo, lo se. Disculpen. Espero que esta página sea un poco más funcional ahora. He chequeado y actualizado todos los links. Si Ud. consigue un link muerto, por favor envieme un email.
Esta página pretende ser fuente de información acerca del protocolo utilizado por el cliente y servidor ICQ de Mirabilis, y acerca de los diferentes clones que han sido escritos utilizando este protocolo. También puede ser utilizada como un buen punto de partida para alguien que desee participar en el desarrollo de clones de ICQ.
Esta página consiste en las siguientes partes:
Especificación del protocolo de ICQ
El protocolo de ICQ ha pasado a través de diferentes generaciones o versiones cada una de las cuales es bastante diferente de la anterior. Tanto como sea posible, yo trataré de presentar la información aqui de acuerdo con la versión del protocolo que describe.
Version 1
La Version 1 actualmente está obsoleta.
Version 2
La versión 2 es la versión más vieja todavía en uso (por ejemplo, por el Cliente Java). La documentación básica para la Versión 2 puede encontrarse aqui. Dado que la mayoría de las estructuras aún se aplican para las versiones más recientes, es recomendable leerla aunque Ud. se encuentre interesado en las versiónes 4/5.
Notese que esta información no es oficial, y que no tiene soporte por parte de Mirabilis. Por favor lea la información legal (en inglés) acerca de la especificación de ICQ.
El antigüo cliente de Mirabilis (para Windows) basado en la Versión 2 puede encontrarlo aqui.
El protocolo de ICQ Versión 2 (en Inglés). Versión 0.91 de la especificación, actualizada la última vez el 12 de abril de 1998 (actualización menor el 11 de mayo de 1998). Archivo de texto (40 kB).
Algunas adiciones a esta espeficiación, algunas de las cuales son también aplicables a las versiones 3 y 4 puede encontrarlas en este directorio. Le recomiendo revisarlas todas.
Versiónes 3/4
La versión 3 nunca fue utilizada seriamente por los clientes antes de ser reemplazada por la versión 4. Aún así, el servidor aún responde con paquetes versión 3 a los paquetes versión 4 de los clientes.
La mejor compilación acerca de las versiónes 3/4 del protocolo pueden encontrarse en la Página de ICQ Hacking de Meistern. También he coleccionado algunas piezas de información que han sido enviadas a la lista icq-devel. Empero, no he intentado organizarlas de ninguna manera (debido a la falta de tiempo en este momento). Quizás Ud. quiera revisarlas, de todos modos. Están en este directorio, con el nombre después del autor y con el sufijo -v2 o -v4 dependiendo si el mensaje es acerca de la versión 2 o 4 del protocolo. Los últimos postings sobre la versión 4 fueron recolectados en un archivo sin importar el autor: v4-notes.txt. Pienso que este contiene la información más importante acerca de la versión 4, pero aún así le sugiero que revise todos los archivos.
Version 5
La versión 5 apenas ha comenzado a ser utilizada por el cliente para Windows con el DLL v1.30. No se sabe mucho acerca de ella hasta el momento.
Existe un documento acerca de la encriptación en la versión 5, empero. Aun se desconoce mucha información acerca del formato de los paquetes en la versión 5.
Hay un poco más de información acerca de las versiones 4/5 en la página ICQ de Digitalis.
Existe también una herramienta de tracing que permite hacer un volcado en hex de los paquetes de la versión 5, disponible aqui.
Contribuyendo con la documentación del ICQ
Si Ud. desea contribuir a la documentación del protocolo de ICQ, puede unirse a la lista icq-devel o, si piensa ha tenido algún progreso entendiendo las partes del protocolo no documentadas en este sitio, envieme por favor un e-mail con el subject "ICQ Update". Con algunos browsers y clientes de correo, Ud. puede hacer eso automágicamente utilizando este link. De otro modo, tendrá que Enviarme e-mail normalmente y colocar el subject manualmente.
Nota! Enviarme un e-mail con este subject y un mensaje diciendo "porfa enviame la espec actualizada de icq" o algo por el estilo, solo va a lograr aturdirme y DE NINGUN MODO hara que le envie ninguna versión nueva del protocolo. La versión más fresca está siempre disponible en esta página. Si quiere recibir información actualizada acerca del protocolo ICQ, le sugiero entonces que se suscriba a la lista icq-devel.
Clones de ICQ
Una multitud de diferentes clones de ICQ han sido escritos en los últimos meses. He aqui links a aquellos de los que tengo conocimiento:
Linux/unix
Un buen punto de partida para hallar clones en Linux:
Clones individuales sobre Linux/unix:
Amiga
Un punto de partida para clones sobre Amiga:
Clones sobre Amiga individuales:
BeOS
OS/2
Atari MiNT
Acorn
MS-DOS
Librerías de ICQ
Si su intención es escribir su propio cliente, ¿para que reinventar la rueda? He aqui algunas librerías que podría utilizar:
La lista de correo icq-devel
Mantengo una lista acerca de tópicos relacionados con el protocolo de ICQ y la programación de clones ICQ. La lista ahora reside en su propia página web. Por favor, chequeela para obtener información acerca de la lista.
Otros links de interés relacionados con ICQ
Links relacionados
ICQ spoofing and sniffing
Protocolos relacionados
Existen varios protocolos similares al protocolo de ICQ. Aún cuando ninguno de ellos se encuentra tan esparcido como ICQ, resultan importantes de todos modos. Al menos dos de ellos (RVP/PIP y ICGnu) se encuentran todavía en desarrollo.
Protocolo de Presencia y Mensajería Instantánea (Instant Messaging and Presence Protocol, IMPP)
El IMPP (antiguamente conocido como RVP (protocolo Rendez-vous) / PIP (Protocolo de Información de Presencia) es un protocolo abierto desarrollado por la IETF (Internet Engineering Task Force). Ellos han venido trabajando en esto por algún tiempo, y deben haber evitado todos los errores que ICQ ha cometido. Si le parece que no es así, ellos de cierto estarán muy complacidos en saberlo. Le recomiendo a quienquiera interesado en "mejorar" el protocolo de ICQ primero chequear si el IMPP no ha hecho ya las mejorar que usted desea hacer.
El Grupo de Trabajo del IMPP tiene un sitio web disponible, donde podrá encontrar más información sobre IMPP.
También puede encontrar más información en los siguientes sitios web:
Un montón de borradores que cambian frecuentemente pueden también encontrarse en el sitio web del IETF. Recomiendo que visite la página de búsqueda y busque con la cadena "impp", para asegurarse de obtener los documentos más actualizados.
Jabber
Jabber es un ambicioso proyecto de código abierto a gran escala para crear un protocolo unificado de mensajería instantánea, con conexiones (conocidas como transportes) a otros servicios de mensajería, tales como ICQ e AIM.
ICGnu
ICGnu es otra iniciativa (¿porqué?) para crear un protocolo abierto para notificación de presencia y mensajería instantánea. Ahora el proyecto parece haber desaparecido.
AIM (AOL Instant Messenger)
Cierto entendimiento importante acerca del protocolo AIM (AOL Instant Messenger) ha sido logrado, y se está diseñando un clon. Más información acerca del Protocolo AIM y el clon FAIM pueden conseguirse en las páginas de Adam Fritzler.
Pagoo
Ha habido cierta discusión acerca de tratar de decodificar el protocolo Pagoo (el cual es similar al ICQ). Empero, al menos hasta donde yo se, no se conoce información hasta el momento acerca de este protocolo. Si Ud. sabe algo acerca de el, por favor hagamelo saber vía e-mail!
Esta página en español ha recibido visitas.
Ultima actualización del autor: 2 de Septiembre de 2000.
Ultima actualización del traductor: 3 de Septiembre de 2000.
Copyright © 1998-1999 Magnus Ihse <d95-mih@nada.kth.se>. [Ver el homepage de Magnus Ihse]
Traducción al Español: Hecha el Miércoles 7 de Abril de 1999 por Alfredo Rahn <arahn@altavista.net>. [Visitar el Home Site de Alfredo Rahn!]