Come documentato in questo post , Wireshark supporta diverse opzioni per fornire segreti per abilitare la decrittografia TLS. In questo caso, suggerirei l'uso della chiave PMS_CLIENT_RANDOM
che mappa i byte casuali dal messaggio Client Hello al segreto premaster (entrambi sono codificati in esadecimale).
Per lo scambio di chiavi DH, il segreto premaster è il segreto DH condiviso. Utilizzo del valore DH privato e dei parametri e valori pubblici dal messaggio ServerKeyExchange (vedere RFC 5246, pagina 51 ), puoi calcolare il segreto condiviso. (Questo presuppone DH temporaneo utilizzando campi finiti, per ECDHE, vedi RFC 4492, Sezione 5.4. invece.)
Quindi, dopo aver calcolato il segreto condiviso, devi codificarlo in modo appropriato (vedi RFC 5246, Sezione 8.1. 2. ):
A conventional Diffie-Hellman computation is performed. The
negotiated key (Z) is used as the pre_master_secret, and is converted
into the master_secret, as specified above. Leading bytes of Z that
contain all zero bits are stripped before it is used as the
pre_master_secret.
Supponendo di aver trovato i segreti, puoi scrivere un file di testo che assomiglia a:
PMS_CLIENT_RANDOM 9c39b93ced5c48db094a502f7ed4ef6b77a1ccb751964c04cac8c7e75837ddc8 2b1f6108824ef0c7e38443dda437c43177d8a1ac73221b6515c9df7d854bc503
e quindi configura Wireshark come al solito tramite la preferenza del protocollo SSL "(Pre) master seg segr.". Se fallisce, puoi impostare l'opzione di debug sulle preferenze del protocollo SSL e leggerla per ottenere più suggerimenti.