sslsnoop.bt(8)

πŸ“¦
version 0.27.0 Β· 2 versions
  • 0.27.0 Β· alpine 3.24, arch rolling, centos-stream 10, centos-stream 9, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 0.20.2 Β· ubuntu noble
, in alpine 3.24, arch rolling, centos-stream 10, centos-stream 9, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu questing, ubuntu resolute, ubuntu stonking

✨ 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) πŸŽ€πŸ¦‹