Ho fatto le mie prove con Wireshark, tuttavia non si vedeva chiaramente nulla, nessun sito, nessun dato chiaro, solo stringhe illeggibili. E' normale?
Si è normale, infatti una volta lo sniffing era una seria minaccia per carpire credenziali sul web, ma ormai da anni la maggior parte dei siti web (tutti i principali) lavorano solo su
https (di solito porta
443). Quando è così puoi vedere dei pacchetti di negoziazione (handshake) tra client e server per stabilire che tipo di cipher suite usare (che hanno in comune) ad esempio
TLS v1.3 TLS_AES_256_GCM_SHA384
che non puoi ovviamente pensare di crackare, poi il pacchetto per lo scambio di chiave di sessione (basato sul certificato con chiave pubblica trasmesso dal sito) tutto il resto dei pacchetti sono illegibili senza avere la chiave di sessione appena negoziata. Se tu riuscissi a reperirla puoi inserirla dentro wireshark per decifrarli in automatico e mostrare i pacchetti come fosse HTTP in chiaro. Ci sono dei tutorial su come estrarre queste chiavi ad esempio dai browser, che comunque cambia per ogni connessione.
In alternativa puoi usare programmi come Fiddler e installare la falsa
Root Certificate Authority sul computer che gli permette di sostituirsi a qualunque sito, facendo man-in-the-middle, generando un certificato "valido" per esso. Semplificando:
FakeRootCA, installato nel sistema, dice che il certificato firmato da Evil Inc. è valido per il sito facebook.com. Quindi tutto ok, il lucchetto resta verde ma sul tuo programma vedi tutto il traffico tra browser e facebook in chiaro.
Lo sniffing comunque tutt'ora è molto utile soprattutto in LAN per altri protocolli come
DNS ma anche per i siti web locali aziendali, che spesso non sono cifrati, o che molto probabilmente hanno certificato self-signed e difficilmente qualcuno si accorgerebbe se cambiasse l'hash.