sslsnoop.bt(8)
β¨ sslsnoop.bt(8) β¨
System Manager's Manual π
okay bestie, this is the page for sslsnoop.bt, the tool that spies on your SSL/TLS handshakes π«Ά
π NAME π
sslsnoop.bt β Show SSL/TLS handshake events. It runs on bpftrace/eBPF π§
π SYNOPSIS π
sslsnoop.bt
π DESCRIPTION π
okay so sslsnoop traces the OpenSSL handshake functions and shows you the latency and the return value for each one β¨ which makes it perfect for poking at SSL/TLS performance π₯
this tool works by dynamic tracing the uprobes in OpenSSL and related crypto libs π¦ the catch is that it might need updating when those functions change in the future, so keep that in mind π
and because it runs on BPF, only the root user can use it π no cap, that's a hard rule.
π οΈ REQUIREMENTS π οΈ
you'll need CONFIG_BPF and bpftrace πΈ
π EXAMPLES π
Trace SSL/TLS handshake events, printing per-line summaries π
# sslsnoop.bt
π FIELDS π
TIME(us)β the time the call finished, in microseconds since the program started β°TIDβ the thread ID π§΅COMMβ the process name πLAT(us)β how long the call took, in microseconds β‘RETβ the return value of the call πFUNCβ the function name π¦
π’ OVERHEAD π’
ngl, this one is giving chill vibes π«Ά a SSL/TLS handshake usually has network latency baked in, and the crypto functions being traced are CPU intensive tasks. so the call frequency should be low, and the overhead of this tool is expected to be negligible β¨
π SOURCE π
this is from bpftrace π
https://github.com/bpftrace/bpftrace
also go check the bpftrace distribution for a companion _examples.txt file π it has example usage, output, and commentary for this tool, so it's lowkey the best cheat sheet π
there's also a bcc tool called sslsniff π¦ it can show SSL/TLS handshake event latency before sniffing the plaintext in SSL_read/write. this tool gives you more detailed crypto latency distribution during the handshake event, so they're besties but not twins π
https://github.com/iovisor/bcc
π§ OS π§
Linux π
π§ͺ STABILITY π§ͺ
Unstable - in development. it's still cooking, so don't be shocked if things shift π
π©βπ» AUTHOR π©βπ»
Tao Xu π«Ά
π SEE ALSO π
biosnoop.bt(8) π
okay that's the whole page, bestie π β¨ it's the USER COMMANDS section, dated 2021-12-28, for sslsnoop.bt(8) ππ¦
π¦ where this page comes from
- alpine 3.24: bpftrace-tools-doc 0.26.1-r0 Β· Apache-2.0
- arch rolling: bpftrace 0.27.0-2 Β· Apache-2.0
- centos-stream 10: bpftrace 0.26.1-1.el10 Β· Apache-2.0
- centos-stream 9: bpftrace 0.26.1-1.el9 Β· ASL 2.0
- debian trixie: bpftrace 0.23.2-1 Β· Apache-2.0
- fedora 43: bpftrace 0.24.0-1.fc43 Β· Apache-2.0
- fedora 43: bpftrace 0.24.2-1.fc43 Β· Apache-2.0
- fedora 44: bpftrace 0.24.2-3.fc44 Β· Apache-2.0
- nixos 26.05: bpftrace 0.25.1
- nixpkgs unstable: bpftrace 0.27.1
- opensuse-leap 16.0: bpftrace-tools 0.23.5-160000.1.2 Β· Apache-2.0
- ubuntu questing: bpftrace 0.23.5-1ubuntu1 Β· Apache-2.0
- ubuntu resolute: bpftrace 0.25.0-1ubuntu1 Β· Apache-2.0
- ubuntu stonking: bpftrace 0.25.0-1ubuntu2 Β· Apache-2.0
- π girlified by anthropic/claude-haiku-5.5 on : a language model's rewrite of the original, under its terms