¿Cómo detecta Wireshark el tráfico de mensajería en línea?

1

He estado trabajando en cómo encontrar el uso del mensajero en línea (por ejemplo, imo.im, ebuddy) usando Wireshark. Lo estoy haciendo, ya que necesito crear casos de uso de SIEM (gestión de eventos de información de seguridad) que detecten el uso de web-messenger en línea.

Para hacer un poco de investigación, me puse un par de mensajes en línea y encendí el Wireshark en segundo plano. Después de un par de minutos de navegar por los sitios de mensajería en línea, detuve el Wireshark y fui directo al análisis. Al principio, no encontré nada especial / único que me diga (como usuario) un servicio / protocolo de mensajería en línea que utilicé, ya que todos estos sitios funcionan en http o https.

Sin embargo, a medida que profundizo, encuentro algo interesante. La referencia se da a continuación:

Hypertext Transfer Protocol
    HTTP/1.1 200 OK\r\n
        **[Expert Info (Chat/Sequence): HTTP/1.1 200 OK\r\n]**
            [Message: HTTP/1.1 200 OK\r\n]
            [Severity level: Chat]
            [Group: Sequence]
        Request Version: HTTP/1.1
        Status Code: 200
        Response Phrase: OK
    Content-Encoding: gzip\r\n
    Cache-Control: max-age=10800\r\n
    Content-Type: text/html; charset=utf-8\r\n
    Date: Thu, 24 Jan 2013 17:58:46 GMT\r\n
    Expires: Thu, 24 Jan 2013 20:58:46 GMT\r\n
    Last-Modified: Thu, 24 Jan 2013 01:07:06 GMT\r\n
    p3p: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"\r\n
    Server: ECS (fra/D439)\r\n
    SVR: SP002B7\r\n
    Vary: Accept-Encoding\r\n
    X-Cache: HIT\r\n
    Content-Length: 387\r\n
    \r\n
    Content-encoded entity body (gzip): 387 bytes -> 942 bytes
    Line-based text data: text/html

He buscado el código src y al lado de PI_CHAT constante declaración en el archivo de cabecera expert.c . Si sigo el código en packet-http.c , veo el siguiente código.

saw_req_resp_or_header = TRUE;
        if (is_request_or_reply) {
                char *text = tvb_format_text(tvb, offset, next_offset - offset);
            if (tree) {
                hdr_item = proto_tree_add_text(http_tree, tvb,
                    offset, next_offset - offset, "%s", text);
            }
            expert_add_info_format(pinfo, hdr_item, PI_SEQUENCE, PI_CHAT, "%s", text);
            if (reqresp_dissector) {
                if (tree) req_tree = proto_item_add_subtree(hdr_item, ett_http_request);
                else req_tree = NULL;

                reqresp_dissector(tvb, req_tree, offset, line,
                          lineend, conv_data);

A partir del código anterior es difícil comprender en qué condiciones o entrada se establece la variable PI_CHAT . Además del código, si alguien puede explicar en términos teóricos cómo Wireshark detecta el comportamiento de chat. La teoría que he leído en los sitios oficiales de Wireshark dice que la información de los expertos es detectar cambios que son anormales / anomalías en la naturaleza. Estoy más interesado en saber la parte del 'cómo'.

    
pregunta Saladin 24.01.2013 - 20:24
fuente

1 respuesta

3

Estás malinterpretando la categorización.

    **[Expert Info (Chat/Sequence): HTTP/1.1 200 OK\r\n]**
        [Message: HTTP/1.1 200 OK\r\n]
        [Severity level: Chat]

Otras cosas que pueden aparecer allí son "nota", "advertencia" y "error". Si esto se expandiera a dos palabras, sería el protocolo de chat. Lo que esto indica es que este paquete tiene algún chatter de control que se relaciona con el estado de la conexión. No tiene nada que ver con el contenido o la naturaleza del mensaje de su tráfico a un nivel más alto que HTTP. Consulte enlace para obtener más información.

    
respondido por el Jeff Ferland 24.01.2013 - 20:31
fuente

Lea otras preguntas en las etiquetas