← retour aux outils back to tools

# ssldump

Décodeur et analyseur de trafic SSL/TLS. Capture et décode les sessions SSL/TLS en affichant les détails de protocole, les informations de handshake et les données applicatives déchiffrées lorsque les clés sont disponibles. SSL/TLS traffic decoder and analyzer. Captures and decodes SSL/TLS sessions showing protocol details, handshake information, and decrypted application data when keys are available.

↗ https://github.com/adulau/ssldump

## Overview

ssldump is an SSL/TLS network protocol analyzer. It captures SSL/TLS traffic from a network interface or pcap file and displays protocol messages in readable form — handshake details, cipher suites, certificate info, and decrypted application data when private keys are provided.

## Basic Usage

Capture and decode SSL traffic on interface

    sudo ssldump -i eth0

Read from pcap file

    ssldump -r capture.pcap

Capture on specific port

    sudo ssldump -i eth0 'port 443'

Decode with server private key

    sudo ssldump -i eth0 -k server.key

## Capturing SSL Traffic

Monitor all TLS traffic

    sudo ssldump -i eth0 'tcp port 443'

Monitor SMTP over TLS

    sudo ssldump -i eth0 'tcp port 465'

Monitor IMAPS

    sudo ssldump -i eth0 'tcp port 993'

    # Save encrypted traffic, decode later
    tcpdump -i eth0 -w ssl.pcap 'port 443'
    ssldump -r ssl.pcap -k server.key

## Decryption with Keys

Provide server private key for decryption

    ssldump -r capture.pcap -k server.key

With certificate

    ssldump -r capture.pcap -k server.key -c server.crt

Output in hex

    ssldump -r capture.pcap -k server.key -x

Print to stdout

    ssldump -r capture.pcap -k server.key -p

## Output Format

    # Connection output:
    # New TCP connection #1: 192.168.1.100(45123) <-> 93.184.216.34(443)
    # 1 1  0.0005 (0.0005)  C>S SSLv3/TLS Handshake
    #   ClientHello
    #     Version 3.3
    #     cipher suites  ...
    # 1 2  0.0543 (0.0538)  S>C  Handshake
    #   Certificate
    # 1 3  0.1234 (0.0691)  C>S  Handshake
    #   ClientKeyExchange

    # With decryption:
    # 1 4  0.2345 (0.1111)  C>S  application_data
    #   GET / HTTP/1.1
    #   Host: example.com

## Tips

- Without the server private key, ssldump shows handshake details but not decrypted data
- PFS cipher suites (ECDHE/DHE) prevent decryption even with the server key — use SSLKEYLOGFILE instead
- For modern TLS 1.3 traffic, use Wireshark with SSLKEYLOGFILE environment variable
- Useful for verifying TLS configuration (cipher suites, protocol versions, certificate)
- Combine with the private key from a compromised server for full traffic decryption

Help / Man page

    ssldump [options] [filter expression]

    -i IFACE    Network interface
    -r FILE     Read pcap file
    -k FILE     Private key file for decryption
    -c FILE     Certificate file
    -x          Hex output
    -p          Print data to stdout
    -A          Print all fields
    -d          Debug output

    filter: BPF filter expression (e.g., 'port 443')

## Vue d’ensemble

ssldump est un analyseur de protocole réseau SSL/TLS. Il capture le trafic SSL/TLS depuis une interface réseau ou un fichier pcap et affiche les messages de protocole sous forme lisible : détails du handshake, suites de chiffrement, informations de certificat, et données applicatives déchiffrées lorsque les clés privées sont fournies.

## Utilisation de base

    # Capturer et décoder le trafic SSL sur une interface
    sudo ssldump -i eth0

    # Lire depuis un fichier pcap
    ssldump -r capture.pcap

    # Capturer sur un port spécifique
    sudo ssldump -i eth0 'port 443'

    # Décoder avec la clé privée du serveur
    sudo ssldump -i eth0 -k server.key

## Capture du trafic SSL

    # Surveiller tout le trafic TLS
    sudo ssldump -i eth0 'tcp port 443'

    # Surveiller SMTP sur TLS
    sudo ssldump -i eth0 'tcp port 465'

    # Surveiller IMAPS
    sudo ssldump -i eth0 'tcp port 993'

    # Sauvegarder le trafic chiffré, décoder plus tard
    tcpdump -i eth0 -w ssl.pcap 'port 443'
    ssldump -r ssl.pcap -k server.key

## Déchiffrement avec les clés

    # Fournir la clé privée du serveur pour le déchiffrement
    ssldump -r capture.pcap -k server.key

    # Avec certificat
    ssldump -r capture.pcap -k server.key -c server.crt

    # Sortie en hexadécimal
    ssldump -r capture.pcap -k server.key -x

    # Affichage vers stdout
    ssldump -r capture.pcap -k server.key -p

## Format de sortie

    # Sortie de connexion :
    # New TCP connection #1: 192.168.1.100(45123) <-> 93.184.216.34(443)
    # 1 1  0.0005 (0.0005)  C>S SSLv3/TLS Handshake
    #   ClientHello
    #     Version 3.3
    #     cipher suites  ...
    # 1 2  0.0543 (0.0538)  S>C  Handshake
    #   Certificate
    # 1 3  0.1234 (0.0691)  C>S  Handshake
    #   ClientKeyExchange

    # Avec déchiffrement :
    # 1 4  0.2345 (0.1111)  C>S  application_data
    #   GET / HTTP/1.1
    #   Host: example.com

## Conseils

- Sans la clé privée du serveur, ssldump montre les détails du handshake mais pas les données déchiffrées
- Les suites de chiffrement PFS (ECDHE/DHE) empêchent le déchiffrement même avec la clé serveur : utiliser SSLKEYLOGFILE à la place
- Pour le trafic TLS 1.3 moderne, utiliser Wireshark avec la variable d’environnement SSLKEYLOGFILE
- Utile pour vérifier la configuration TLS (suites de chiffrement, versions de protocole, certificat)
- Combiner avec la clé privée d’un serveur compromis pour un déchiffrement complet du trafic

Aide / Page de manuel

    ssldump [options] [filter expression]

    -i IFACE    Network interface
    -r FILE     Read pcap file
    -k FILE     Private key file for decryption
    -c FILE     Certificate file
    -x          Hex output
    -p          Print data to stdout
    -A          Print all fields
    -d          Debug output

    filter: BPF filter expression (e.g., 'port 443')