Suppongo che tu stia parlando di BitTorrent, piuttosto che di Gnutella o altri protocolli P2P.
Non esiste una porta standard per il traffico BitTorrent, quindi dovrai fare qualche ricerca.
In primo luogo, BitTorrent parla con un set di tracker. Questa comunicazione è fatta su HTTP e avrà (almeno) le seguenti intestazioni:
-
info_hash
- un hash con codifica URL del file dei metadati (.torrent).
-
peer_id
- una stringa casuale con codifica URL.
-
port
- il numero di porta su cui il cliente è in ascolto - utile per il filtro più tardi!
Tuttavia, a volte questo viene fatto su HTTPS, quindi lo rende un po 'più difficile da rilevare. Dovresti cercare qualsiasi traffico che si verifica sulle porte 80 o 443.
Successivamente, vorrai cercare il traffico tra pari. L'handshake peer fornisce facilmente un'intestazione di facile ricerca:
<pStrLen><pStr><reserved><infoHash><peerId>
Il campo pStrLen
ci dice per quanto tempo pStr
è in byte e pStr
è l'identificatore del protocollo. Normalmente, questo è "Protocollo BitTorrent", quindi pStr
sarà 19. Puoi quindi cercare pacchetti che iniziano con 13 42 69 74 54 6f 72 72 65 6e 74 20 70 72 6f 74 6f 63 6f 6c
.
Alcuni client BitTorrent supportano protocolli client-to-client crittografati, ma suppongo che non saranno così difficili per una sfida forense.
Fonte: link
È possibile identificare il traffico BitTorrent crittografato utilizzando analisi statistiche passive. Erik Hjelmvik e Wolfgang John hanno mostrato tecniche per analizzare protocolli di comunicazione crittografati, incluso BitTorrent. La Tabella 5.4 in il loro documento mostra il livello di confidenza di essere 0.965 per MSE (BitTorrent crittografato). La Sezione 6.1 spiega alcuni dettagli dell'analisi e menziona alcune proprietà che possono essere identificate con relativa facilità.