Supondré que estás hablando de BitTorrent, en lugar de Gnutella u otros protocolos P2P.
No hay un puerto estándar para el tráfico de BitTorrent, por lo que tendrá que investigar un poco.
Primero, BitTorrent habla con un conjunto de rastreadores. Esta comunicación se realiza a través de HTTP y tendrá (al menos) los siguientes encabezados:
-
info_hash
: un hash codificado en URL del archivo de metadatos (.torrent).
-
peer_id
: una cadena aleatoria codificada en URL.
-
port
- el número de puerto que el cliente está escuchando - ¡útil para filtrar más tarde!
Sin embargo, a veces esto se hace a través de HTTPS, por lo que hace que sea un poco más difícil de detectar. Debe buscar cualquier tráfico que ocurra en los puertos 80 o 443.
A continuación, querrá buscar tráfico entre pares. El apretón de manos de compañeros proporciona un encabezado fácil de buscar:
<pStrLen><pStr><reserved><infoHash><peerId>
El campo pStrLen
nos dice cuánto tiempo está pStr
en bytes, y pStr
es el identificador del protocolo. Normalmente, este es el "protocolo BitTorrent", por lo que pStr
será 19. Por lo tanto, puede buscar paquetes que comiencen con 13 42 69 74 54 6f 72 72 65 6e 74 20 70 72 6f 74 6f 63 6f 6c
.
Algunos clientes de BitTorrent admiten protocolos cifrados de cliente a cliente, pero supongo que no serán tan duros con usted para un desafío forense.
Fuente: enlace
Es posible identificar el tráfico de BitTorrent cifrado mediante análisis estadístico pasivo. Erik Hjelmvik y Wolfgang John mostraron técnicas para analizar protocolos de comunicaciones encriptados, incluido BitTorrent. La Tabla 5.4 en su documento muestra que el nivel de confianza es 0.965 para MSE (BitTorrent cifrado). La Sección 6.1 explica algunos detalles del análisis y menciona algunas propiedades que pueden identificarse con relativa facilidad.