sniffglue(1) General Commands Manual sniffglue(1)

sniffglue - شنودگر امن و چندنخی بسته‌های شبکه

sniffglue [-vrpVh] [-n <threads>] device

sniffglue یک شنودگر شبکه است که با rust نوشته شده است. بسته‌های شبکه به‌صورت هم‌روند و با استفاده از یک استخر نخ (thread pool) تجزیه می‌شوند تا از تمامی هسته‌های cpu بهره گرفته شود. اهداف پروژه این است که بتوانید sniffglue را با امنیت کامل در شبکه‌های غیرقابل‌اعتماد اجرا کنید و هنگام پردازش بسته‌ها دچار فروپاشی نشود. خروجی برنامه به‌صورت پیش‌فرض تا حد ممکن کاربردی طراحی شده است.

-v, --verbose

افزایش حساسیت فیلتر برای نمایش بسته‌های بیشتر (احتمالاً با کاربرد کمتر). حالت پیش‌فرض تنها بسته‌های اندکی را نشان می‌دهد؛ این گزینه می‌تواند چندین بار مشخص شود. (حداکثر: 4)

-h, --help

چاپ اطلاعات راهنما.

-p, --promisc

تنظیم device در حالت بی‌قید (promiscuous mode).

-r, --read

باز کردن device به‌عنوان فایل pcap.

-n, --threads threads

مشخص کردن تعداد نخ‌ها.

-V, --version

چاپ اطلاعات نسخه. در صورت مشخص شدن -r، در عوض به‌عنوان فایل pcap باز می‌شود.

شنود با فیلترهای پیش‌فرض (dhcp، dns، tls، http) از enp0s25:

sniffglue enp0s25

افزایش حساسیت فیلتر (arp):

sniffglue -v enp0s25

افزایش حساسیت فیلتر (cjdns، ssdp، dropbox و بسته‌های دارای utf8 معتبر):

sniffglue -vv enp0s25

تقریباً همه‌چیز:

sniffglue -vvv enp0s25

همه‌چیز:

sniffglue -vvvv enp0s25

خواندن یک روگرفت از sniff.pcap با افزایش حساسیت فیلتر و رمزگشایی بسته‌ها با ۱ نخ:

sniffglue -vvrn1 sniff.pcap

ethernet, ipv4, ipv6, arp, tcp, udp, http, tls, dns, dhcp, cjdns eth beacons, ssdp, dropbox beacons

جهت گزارش یک مشکل امنیتی لطفاً با kpcyrd در ircs://irc.hackint.org ارتباط برقرار کنید.

برای اطمینان از اینکه یک فرآیند آسیب‌دیده به سیستم آسیبی نزند، sniffglue از seccomp برای محدود کردن فراخوان‌های سیستمی قابل استفاده پس از شروع فرآیند بهره می‌برد. این کار در دو مرحله انجام می‌شود: ابتدا در همان آغاز کار (دقیقاً پس از مقداردهی اولیه env_logger) و یک‌بار پس از راه‌اندازی اسنیفر، اما پیش از خواندن بسته‌ها از شبکه.

در طول مرحله دوم، برخی اقدامات عمومی مقاوم‌سازی نیز اعمال می‌شود، پیش از آن‌که همه فراخوان‌های سیستمی غیرضروری در نهایت غیرفعال شوند. این موارد مختص سیستم هستند، بنابراین یک فایل پیکربندی از /etc/sniffglue.conf خوانده می‌شود. این فایل پیکربندی یک دایرکتوری خالی را برای chroot و یک حساب کاربری غیرممتاز را در user مشخص می‌کند که برای سلب امتیازات ریشه (root) به کار می‌رود.

پردازش بسته‌های sniffglue را می‌توان با استفاده از cargo-fuzz مورد آزمون فازینگ قرار داد. هر آنچه که نیاز دارید در دایرکتوری fuzz/ که همراه با کد منبع آن توزیع می‌شود، فراهم شده است. لطفاً توجه داشته باشید که این برنامه به libpcap پیوند داده شده است که در پیکربندی فعلی فازینگ گنجانده نشده است.

pcap(3PCAP), seccomp(2)

این برنامه در ابتدا توسط kpcyrd نوشته شده است و در حال حاضر توسط او نگهداری می‌شود. گزارش‌های اشکال و وصله‌ها در github مورد استقبال قرار می‌گیرند:

2026-04-20