Montar una red de streaming multimedia con Windows 7 (II de II)

Windows Técnico

Sindicación

Proximos HOLs

Loading...

Siguiendo con la serie de streaming en Windows 7, ahora vamos a analizar un poco más a fondo que es lo que ocurre realmente por detrás para que todo esto funcione sin problemas.

Para ello, he instalado Wireshark en uno de los equipos Windows 7 del laboratorio, concretamente el equipo Win7_2. Una vez instalado, lo ejecutamos y lo ponemos a capturar tráfico. A continuación iniciamos Windows Media Player.

El primer paquete que se captura es el siguiente:

image

Lo primero que ha hecho Windows Media Player cuando lo hemos ejecutado y ya tenemos configurada la red de streaming, es anunciarse a voces, utilizando para ello el protocolo SSDP (Simple Service Discovery Protocol) para localizar dispositivos UPnP (Universal Plug and Play).

El protocolo SSDP fue desarrollado por el IETF, Microsoft y HP y proporciona un mecanismo de descubrimiento de servicios de red sin necesidad de una configuración específica. Para ello los servicios se anuncian utilizando el puerto UDP 1900 en modo unicast y multicast (en la captura se observa la IP multicast 239.255.255.250). Para anunciar dichos servicios, SSDP utiliza una solicitud HTTP (HTTP-Request) junto con el método NOTIFY, la cual podemos ver a continuación:

image

Fijaros que lo que se anuncia es una URL (concretamente http://192.168.64.2:2869/upnphost/udhisapi.dll?content=uuid:a67dc1ce-917e-4034-b723-f076fbab5c0f), pero ¿que hay en esa URL?. Si abrimos un navegador y escribimos la dirección completa, obtendremos que se trata de una serie de datos en formato XML:

image

Entre los datos, observamos la información del tipo de servicio, su localización, el Identificador único (UUID) e incluso algunos iconos del servicio en cuestión.

Si avanzamos en la captura observaremos que ahora toca el turno de búsqueda de servicios mediante el método SEARCH. Para ello, WMP realiza el mismo proceso utilizando SSDP con el protocolo UDP y el puerto 1900.

image

Como Windows 7 instala por defecto el protocolo IPv6, WMP lo aprovecha y realiza todo este proceso tanto con IPv4 como con IPv6 y además realiza una búsqueda de Host mediante ICMPv6 (Código 135 Neighbor Solicitation)

image

Una vez finalizada la búsqueda, observamos que comienza una conversación entre los dos equipos y que el equipo Win7_2 ejecuta un método GET para descargarse la información de los servicios de multimedia compartidos en Win7_1 (tal y como lo habíamos hecho antes manualmente con Internet Explorer).

image

Concretamente ejecuta lo siguiente:

GET /upnphost/udhisapi.dll?content=uuid:27b9ec31-df79-4180-98a2-7976bfc391eb HTTP/1.1
Cache-Control: no-cache
Connection: Close
Pragma: no-cache
Accept: text/xml, application/xml
Host: [fe80::458b:3af9:e5a3:7939]:2869
User-Agent: Microsoft-Windows/6.1 UPnP/1.0 Windows-Media-Player/12.0.7600.16385 DLNADOC/1.50 (MS-DeviceCaps/1024)

Es entonces cuando el equipo Win7_1 responde con un HTTP 200 OK y a continuación le envía el detalle de los servicios en formato XML:

image

image

Gracias a este intercambio de información en formato XML, la automatización del proceso de búsqueda y localización de servicios, Windows Media Player o cualquier otra aplicación que soporte SSDP y UPnP puede interactuar con otros servicios de forma transparente para el usuario.

Si queréis investigar más acerca de SSDP os recomiendo el documento original Internet-Draft del IETF ya que es bastante claro y explicativo. Lo podéis encontrar en: http://tools.ietf.org/html/draft-cai-ssdp-v1-03

 

Si quieres aprender mucho más sobre los secretos de lo sistemas Microsoft Windows, te recomendamos leer el libro de Sergio de los Santos "Máxima Seguridad en Windows: Secretos Técnicos"

********************************************************************

Montar una red de streaming de multimedia con Windows 7 (I de II)

Montar una red de streaming de multimedia con Windows 7 (II de II)

********************************************************************

 


Enviado oct 23 2009, 08:28 por Josh Sáenz G.

Añadir un comentario

(requerido)  
(opcional)
(requerido)  
Recordarme
If you can't read this number refresh your screen
Enter the numbers above: