Skip to content

adulau/ssldump

Folders and files

NameName
Last commit message
Last commit date
Mar 24, 2025
Sep 12, 2023
Aug 10, 2023
Aug 16, 2023
Aug 14, 2023
Aug 16, 2023
Aug 20, 2024
Apr 3, 2023
Aug 10, 2024
Jan 31, 2015
Aug 14, 2023
Nov 3, 2024
Oct 6, 2020
Aug 27, 2020
Sep 11, 2023
Aug 27, 2020
Feb 2, 2021
Nov 3, 2024
Nov 3, 2024
Jan 31, 2015
Jan 31, 2015
Aug 27, 2020
Oct 3, 2020
Nov 4, 2024
Oct 3, 2020
Apr 28, 2020
Aug 20, 2023
Aug 20, 2023
Aug 20, 2023

Repository files navigation

ssldump - (de-facto repository gathering patches around the cyberspace)

Build CI CodeQL analysis OpenSSF Scorecard

Release and tagging

  • Current version of ssldump is v1.9 (released: 2024-11-03) - ChangeLog

What about the original ssldump?

This repository is composed of the original SSLDUMP 0.9b3 + a myriad of patches (from Debian and other distributions) + contributions via PR

ssldump is an SSLv3/TLS network protocol analyzer. It identifies TCP connections on the chosen network interface and attempts to interpret them as SSLv3/TLS traffic. When it identifies SSLv3/TLS traffic, it decodes the records and displays them in a textual form to stdout. If provided with the appropriate keying material, it will also decrypt the connections and display the application data traffic. It also includes a JSON output option, supports JA3 and IPv6.

How to do I run ssldump?

./ssldump -j -ANH -n -i any | jq will run ssldump on all interfaces and output the result in JSON format including ja3 hashes.

For more details, check the man page.

How can I lookup ja3 hashes?

This example will query ja3er.com service to display the known ja3 hashes from the TLS handshaked in the pcap.

./ssldump -r yourcapture.pcap -j | jq -r 'select(.ja3_fp != null) | .ja3_fp' | parallel 'curl -s -X GET 'https://ja3er.com/search/{}' | jq .'

Why do you maintain this repository?

Because it's a mess. The software maintenance process for old free (unmaintained) software like ssldump is a complete chaotic process. I do this to ease my pain and this could help other too (but this is just a collateral damage).

Where ssldump is used?

Where ssldump is available?

Build instructions

Install dependencies on Debian & Ubuntu (as root):

apt install build-essential git cmake ninja-build libssl-dev libpcap-dev libnet1-dev libjson-c-dev

On Fedora, CentOS, RHEL & Rocky (as root):

dnf install git cmake ninja-build gcc openssl-devel libpcap-devel libnet-devel json-c-devel

On OpenBSD (as root):

pkg_add git cmake ninja json-c libnet

On FreeBSD (as root):

pkg install git cmake ninja json-c libnet

On MacOS (as root):

brew install cmake ninja openssl@3 libpcap libnet json-c

Compile & install:

git clone https://github.com/adulau/ssldump.git
cd ssldump
cmake -G Ninja -B build
ninja -C build
./build/ssldump -v
(optional, as root) ninja -C build install

Notes

The "save to pcap" (-w) option by @ryabkov, is heavily based on the work of @droe on https://github.com/droe/sslsplit .

Contributing

The contributing policy is simple. If you have a patch to propose, make a pull-request via the interface. If the patch works for me, it's merged.