Red de conocimiento informático - Conocimiento del nombre de dominio - Análisis de los métodos y principios típicos de inicio de sesión de mensajería instantánea

Análisis de los métodos y principios típicos de inicio de sesión de mensajería instantánea

1. Análisis típico: ejemplo de inicio de sesión de MSN

En términos generales, el programa en la computadora del usuario se denomina colectivamente "cliente" de MSN Messenger, que se conecta a un "servidor" de MSN Messenger. a través de Internet ". Es decir, los clientes intercambian información con otros clientes a través del servidor. La mayoría de las veces, el cliente del usuario habla con el servidor, que luego procesa la información de la sesión y notifica a otros. Antes de comprenderlo, utilizamos Sniffer NT para interceptar los datos al iniciar sesión.

De los datos de inicio de sesión interceptados, podemos ver que en la columna "Datos", hay muchos datos que comienzan con CVR, VER, USR, etc., y TCP/1863 y estos dos puertos. TCP/443, registra todo el proceso de inicio de sesión de MSN Messenger. En la imagen vemos este registro: "VER 145 MSNP11 MSNP10 CVR0".

Para responder a esta pregunta, primero debemos hablar del protocolo MSN Messenger. En 1999, Microsoft presentó un borrador del "Protocolo MSN Messenger Service 1.0" al IETF (Internet Engineering Steering Group, la organización mundial para los estándares técnicos de Internet), que era la versión inicial del protocolo MSN Messenger, a menudo se utilizan diferentes protocolos. escrito como "MSNP9", "MSNP10", "MSNP11", etc. En los últimos años, MSN ha pasado por varias revisiones. El protocolo actual de MSN Messenger ha llegado a la versión número 12, denominada MSNP12. Ahora, los protocolos más utilizados compatibles con MSN7.0 son MSNP10 y MSNP11. Debido a requisitos reglamentarios, los usuarios de MSN Messenger deben actualizar a versiones superiores porque el servidor ya no admite versiones inferiores a MSNP8. Es por eso que podemos ver "MSNP11 MSNP10" en los datos que acabamos de interceptar.

Entonces, ¿qué significan los datos CVR, VER y USR? La información entre el cliente y el servidor se transmite en formato de comando. Los comandos se describen como códigos de comando de tres caracteres en letras mayúsculas. Todos los comandos generales tienen un ID de transacción y terminan con una nueva línea. Los comandos enviados por el cliente generalmente hacen que el servidor responda a uno o más comandos. Estos datos son comandos de MSN Messenger, que utilizan código ASCII puro y codificación URL para caracteres de código que no son ASCII. La sintaxis del comando es la siguiente:

No., PARAMx es el parámetro, [ ] es opcional. Con respecto al significado de estos comandos, puede consultar la siguiente tabla (parte de enumeración):

Descripción del destino del origen del comando

CHG Client NS emite una solicitud para cambiar el estado.

NS Client devuelve una respuesta de cambio de estado.

El servidor CHL NS Client emite una solicitud de autenticación.

SS Client

CVR Client NS envía el sistema operativo del cliente, el idioma, la versión de MSN Messenger y otra información. Para los clientes oficiales, el servidor responderá con información de la versión del cliente recomendada a los usuarios.

Client SS

NS Client devuelve la versión recomendada de MSN Messenger, la dirección de descarga requerida para la actualización del software y otra información.

Cliente SS

Cliente INF NS solicita al servidor los métodos de autenticación admitidos.

Cliente SS

NS Cliente devuelve el método de autenticación admitido por el servidor.

SS Client

MSG Client SS envía mensajes a otros usuarios (objetos de chat).

NS Client entrega mensajes desde el servidor (sistema) al cliente.

SS Client entrega mensajes de otros usuarios (objetos de chat) al cliente.

Sincronización cliente-servidor SYN Client NS.

NS Client

URL Client NS emite una solicitud para obtener la URL del servicio MSN.

NS Client devuelve la respuesta a la solicitud de URL.

USR All All declara, transmite y autentica la identidad del usuario.

VER Client DS negocia la versión del protocolo MSN Messenger.

Cliente NS

Cliente DS

Cliente NS

Cliente XFR DS asigna NS al cliente (informa al cliente para redirigir la conexión al NS especificado).

El cliente NS emite una solicitud para asignar SS.

NS Client devuelve la respuesta a la solicitud de asignación de SS.

De esta manera, cuando veamos "CVR 146 0x0804 winnt 5.0 i386 MSNMSGR 7.0.0777 msmsgs cndes2005@hotmail.com", podremos saber que el cliente ahora está enviando información como SO, idioma, Versión de MSN Messenger, etc. Ahora, los lectores inteligentes pueden pensar: En estas tablas, vemos DS, NS, SS y otros servidores que representan el origen y el destino. ¿Qué significado especial tienen? Una breve introducción es la siguiente:

Dispatch. Servidor (servidor DS para abreviar). Este es el servidor al que el cliente se conecta inicialmente y es responsable de asignar el servidor de notificación apropiado al cliente. El nombre de dominio es messenger.hotmail.com y el puerto de servicio estándar es 1863. Después de completar la tarea de envío, corte la conexión TCP.

Notification Server (servidor NS para abreviar). El objetivo principal del servidor de notificaciones es retener la información en línea del usuario, así como la información de otras personas importantes que le interesan. Incluyendo iniciar sesión, cambiar el estado, obtener la lista de usuarios, modificar la información del usuario, iniciar el chat, aceptar llamadas, notificaciones por correo electrónico, salir, etc. El servidor de notificaciones también proporciona otros servicios de notificación, como las nuevas notificaciones por correo electrónico de Hotmail y la creación o participación en conversaciones. El puerto de servicio lo especifica el servidor de despacho, que normalmente también es 1863.

Switchboard Server (servidor SS para abreviar). Aquí se guarda la información de la sesión en tiempo real de cada persona. Es decir, cada usuario de MSN está conectado a una sesión que comparte el tablero de conmutación. Por lo tanto, esto también puede considerarse como un servidor de retransmisión utilizado para chatear entre clientes. Cada vez que se abre una ventana de chat, el cliente y el servidor establecen una sesión TCP.

Cuando los clientes necesitan realizar una transferencia de archivos o un chat de voz, se envían mensajes del sistema para establecer un canal de sesión "punto a punto" (que puede convertirse a UDP) y el puerto de servicio suele ser 1863. El puerto utilizado para la comunicación "punto a punto" se determina mediante la negociación automática por parte del cliente. Por ejemplo, la transferencia de archivos suele utilizar el puerto 6891.