ssldump - (de-facto repository gathering patches around the cyberspace)
Find a file
2023-08-09 15:36:52 +02:00
.github Add dependabot configuration 2023-06-29 23:10:18 +02:00
base Initial cmake setup 2023-08-09 15:36:52 +02:00
cmake/modules Initial cmake setup 2023-08-09 15:36:52 +02:00
common Add parentheses around MAX and MIN 2022-05-24 13:49:13 +05:30
docker Extract traffic mirroring commands from docker run scripts 2021-03-24 17:47:06 +01:00
null Add support for IPv6 traffic dump 2021-04-07 17:40:16 +02:00
pcap Fix missing port # in pcap files 2022-08-04 13:01:36 +02:00
samples Remove irrelevant log entries, fix session ticket for tls1.2 2023-04-03 10:25:22 +05:30
ssl Fix comment 2023-04-04 14:31:04 +05:30
win32 ssldump_0.9b3.orig.tar.gz Import 2015-01-31 10:13:33 +01:00
.gitchangelog.rc chg: [build] gitchangelogrc configuration added 2019-05-26 08:09:23 +02:00
.gitignore Rework https://github.com/adulau/ssldump/pull/26 after build system changes 2020-10-06 17:34:58 +02:00
_config.yml Set theme jekyll-theme-minimal 2020-04-28 16:04:47 +02:00
AUTHORS Autoconf setup rewritten 2020-08-27 16:20:38 +02:00
autogen.sh Autoconf setup rewritten 2020-08-27 16:20:38 +02:00
ChangeLog chg: [doc] v1.7 released + new changelog 2023-04-09 10:54:43 +02:00
CMakeLists.txt Initial cmake setup 2023-08-09 15:36:52 +02:00
configure.ac Fix release version 2021-04-12 21:30:15 +02:00
COPYING Autoconf setup rewritten 2020-08-27 16:20:38 +02:00
COPYRIGHT chg: [copyright] added additional copyright for all new contribution 2021-02-02 15:27:37 +01:00
CREDITS chg: [CREDITS] new contributor added 2023-04-09 10:33:03 +02:00
FILES ssldump_0.9b3.orig.tar.gz Import 2015-01-31 10:13:33 +01:00
INSTALL ssldump_0.9b3.orig.tar.gz Import 2015-01-31 10:13:33 +01:00
INSTALL.W32 ssldump_0.9b3.orig.tar.gz Import 2015-01-31 10:13:33 +01:00
Makefile.am Change binary installation directory to /usr/sbin 2020-12-09 14:51:09 +01:00
NEWS Autoconf setup rewritten 2020-08-27 16:20:38 +02:00
README Link README to README.md 2020-10-03 13:16:11 +02:00
README.md chg: [doc] typo fixed 2023-04-09 10:58:52 +02:00
README.old Reorganize README files 2020-10-03 10:32:19 +02:00
ssldump.1 Add -z option for printing timestamps in front of TCP headers 2023-08-03 11:09:56 +02:00
ssldump.md chg: [doc] updated man page 2023-04-09 10:49:25 +02:00

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

Build CI CodeQL analysis

Release and tagging

  • Current version of ssldump is v1.7 (released: 2023-04-09) - 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

On Debian & Ubuntu:

apt install build-essential autoconf libssl-dev libpcap-dev libnet1-dev libjson-c-dev
./autogen.sh
./configure --prefix=/usr/local
make
(optional) make install

On Fedora, CentOS, RHEL & Rocky:

dnf install autoconf automake gcc make openssl-devel libpcap-devel libnet-devel json-c-devel
./autogen.sh
./configure --prefix=/usr/local
make
(optional) make install

Optional configuration features (aka ./configure options):

  --disable-optimization  disable compiler optimizations (change from -O2 to -O0)
  --enable-debug	  enable debug info (add "-g -DDEBUG" to CFLAGS)
  --enable-asan		  enable AddressSanitizer and other checks
	add "-fsanitize=address,undefined,leak -Wformat -Werror=format-security
		-Werror=array-bounds" to CFLAGS
	use libasan with GCC and embedded ASAN with Clang

Configuration examples:

- Use GCC with libasan, debug info and custom CFLAGS:
	./configure CC=/usr/bin/gcc --enable-asan --enable-debug CFLAGS="-Wall"

- Use Clang with ASAN and no optimizations (-O0)
	./configure CC=/usr/bin/clang --enable-asan --disable-optimization

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.