ssllatency.bt(8) System Manager's Manual ssllatency.bt(8)

ssllatency.bt - نمایش هیستوگرام تاخیر دست‌تکانی SSL/TLS با استفاده از bpftrace/eBPF

ssllatency.bt

دستور ssllatency توزیع تاخیر توابع دست‌تکانی OpenSSL را نمایش می‌دهد. این ابزار برای تحلیل کارایی با مجموعه‌های رمزنگاری (cipher suites) مختلف، شتاب‌بخشی ناهمگام SSL توسط CPU یا دستگاه‌های تخلیه بار (offload) و غیره مفید است.

این ابزار با ردیابی پویای uprobes در OpenSSL و کتابخانه‌های رمزنگاری مرتبط کار می‌کند، و ممکن است برای هماهنگی با تغییرات آتی این توابع نیاز به به‌روزرسانی داشته باشد.

از آنجا که این ابزار از BPF استفاده می‌کند، تنها کاربر ریشه (root) می‌تواند از آن استفاده نماید.

CONFIG_BPF و bpftrace.

ردیابی تاخیر دست‌تکانی SSL/TLS و چاپ هیستوگرام با زدن کلیدهای Ctrl-C:
# ssllatency.bt

0th
نام تابع در "@hist[...]" و به دنبال آن هیستوگرام تاخیر، و در "@stat[...]" به دنبال آن تعداد کل فراخوانی‌ها، میانگین و تاخیر کل بر حسب میکروثانیه نشان داده می‌شود. برای برخی توابع، فراخوانی‌های ناموفق غیرصفر به‌طور جداگانه (در "@histF[]" و "@statF[]") ردیابی می‌شوند.
1st, 2nd
این یک بازه تاخیر بر حسب میکروثانیه است (که با نماد مجموعه‌ای "[...)" نمایش داده می‌شود).
3rd
ستونی که تعداد عملیات‌ها را در این بازه نشان می‌دهد.
4th
یک هیستوگرام اسکی (ASCII) که ستون تعداد را نشان می‌دهد.

دست‌تکانی SSL/TLS معمولاً شامل تاخیر شبکه است و توابع رمزنگاری ردیابی‌شده کارهای فشرده محاسباتی CPU هستند، بنابراین بسامد فراخوانی باید پایین باشد و انتظار می‌رود بار پردازشی این ابزار ناچیز باشد.

این ابزار برگرفته از bpftrace است.

https://github.com/bpftrace/bpftrace

همچنین برای مشاهده نمونه‌های نحوه استفاده، خروجی و توضیحات این ابزار، به فایل _examples.txt همراه در توزیع bpftrace مراجعه کنید.

یک ابزار bcc به نام sslsniff وجود دارد که می‌تواند تاخیر رویداد دست‌تکانی SSL/TLS را پیش از شنود متن خام در SSL_read/write نشان دهد. ابزار حاضر توزیع جزئی‌تر تاخیر رمزنگاری را در طول رویداد دست‌تکانی ارائه می‌دهد.

https://github.com/iovisor/bcc

Linux

ناپایدار - در حال توسعه.

Tao Xu

sslsnoop.bt(8)

2021-12-28 USER COMMANDS