¿Detectar un servidor compatible con SPDY?

3

Con mi interés actual en el ataque por CRIMEN, actualmente estoy intentando comprobar si realmente existe una forma de "huella digital" en un servidor que admita SPDY.

Mi investigación me llevó a creer solo que el encabezado de respuesta "X-Firefox-SPDY" puede ayudar. ¿Hay otra manera?

    
pregunta Metahuman 23.09.2012 - 09:02
fuente

1 respuesta

5

La respuesta a su pregunta dependerá del contexto en el que esté interesado.

Si está interesado en detectar servidores SPDY mientras navega por la web, primero necesitará un navegador que admita SPDY (por ejemplo, Firefox 11+ o Chrome). En este escenario, la mejor manera de detectar SPDY depende del navegador.

Para Chrome hay varias formas:

  • Puede buscar en chrome://net-internals/#spdy una lista de todas las conexiones SPDY abiertas actualmente (porque las conexiones SPDY son persistentes: todas las pestañas que contienen un documento de un servidor que admite SPDY deberían estar presentes).
  • Si solo está interesado en la pestaña actual, puede examinar la propiedad window.chrome.loadTimes().wasFetchedViaSpdy DOM.

Para Firefox, la única forma de saberlo es buscar la presencia del encabezado de respuesta X-Firefox-Spdy . Tenga en cuenta que para que esto funcione, debe habilitar el soporte de SPDY (está activado de manera predeterminada a partir de Firefox 13, de lo contrario, establezca network.http.spdy.enabled a true .

Todo esto depende del uso de un navegador habilitado para SPDY y la comprobación manual de los servidores. Si desea automatizar esto, use un navegador que no admita SPDY, o simplemente omita el navegador; necesitará otra estrategia. Como veo, tiene dos opciones en este caso:

  • Los servidores SPDY pueden configurarse para anunciar su soporte de SPDY cuando envían respuestas HTTP. Esto requerirá que inspeccione la presencia de los encabezados Alternative-Protocol apropiados ( descrito en el borrador del SPDY ).

  • Simplemente establezca una conexión TCP al servidor y envíele un SETTIGNS (HELLO) o un marco SYN_STREAM y vea si responde de acuerdo con SPDY protocol .

respondido por el Drag0nR3b0rn 28.09.2012 - 21:50
fuente

Lea otras preguntas en las etiquetas