Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
rustnet — مراقبة الشبكة لكل عملية في الطرفية الخاصة بك مع فحص عميق للحزم. متعدد المنصات، معزول. | Kitploit
أدوات/GitHubGitHub/domcyrus/rustnet
التقاط وتحليل الحزمأمن الحاوياتالتحقيق الجنائي الرقميجمع المعلوماتأمن السحابةاستخبارات التهديداتتحليل DNSتحليل السجلات
GitHubdomcyrus/rustnet

rustnet

مراقبة الشبكة لكل عملية في الطرفية الخاصة بك مع فحص عميق للحزم. متعدد المنصات، معزول.

عرض المستودع
4.8k223منذ 17س 41دتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

RustNet

مراقبة شبكة لكل عملية على حدة في طرفيتك: اتصالات TCP وUDP وQUIC حية مع فحص عميق للحزم، معزولة افتراضيًا.

Built With Ratatui Build Status Crates.io GitHub Stars License GitHub release Docker Image

English | 简体中文 | 日本語

RustNet demo

رؤية لحظية لكل اتصال يصدره جهازك، ومن يملكه، وبأي بروتوكول يتحدث. لا حاجة لـ tcpdump أو تمرير X11 أو أنابيب بصلاحيات الجذر (root piping).

الميزات

  • إسناد لكل عملية على حدة: كل اتصال TCP وUDP وQUIC يُربط بالعملية المالكة له، عبر eBPF على Linux، وPKTAP على macOS، وETW مع تراجع تلقائي إلى IP Helper على Windows، وواجهات برمجة أصلية على FreeBSD. تتضمن التفاصيل PID والملف التنفيذي وأسماء المستخدم/المجموعة ودرجة الثقة في المطابقة وسلسلة عمليات أصل محدودة السقف على كل منصة. لا يمكن لـ Wireshark وtcpdump فعل ذلك؛ ولا يمكن لـ netstat / ss إظهار الحالة الحية.
  • فحص عميق للحزم: التعرف على HTTP وHTTPS/TLS مع SNI وDNS وSSH وFTP وQUIC وMQTT وBitTorrent وSTUN وNTP وmDNS وLLMNR وDHCP وSNMP وSSDP وNetBIOS، دون محللات خارجية.
  • تصدير PCAPNG مُعلَّق: يكتب --pcapng-export ملف التقاط جاهزًا لـ Wireshark مع تضمين العملية وPID والاتجاه وDPI/SNI وGeoIP كتعليقات لكل حزمة. افتحه في Wireshark وستجد كل حزمة تسمّي عمليتها المالكة بالفعل، دون أي معالجة لاحقة. يتوفر أيضًا التصدير الكلاسيكي --pcap-export مع ملف JSONL جانبي للربط دون اتصال.
  • عزل أمني: Landlock (Linux 5.13+)، وSeatbelt (macOS)، وإسقاط امتيازات الرمز المميز + حظر العمليات الفرعية عبر كائن الوظيفة (Windows). تُسقَط الامتيازات فورًا بعد تهيئة libpcap. انظر SECURITY.md.
  • تحليلات الشبكة: أزمنة ذهاب وإياب لحظية لاتصالات TCP ومصافحات QUIC واستجابات DNS وصدى ICMP، بالإضافة إلى كشف إعادة إرسال TCP والحزم خارج الترتيب وإعادة الإرسال السريع.
  • دورة حياة اتصال ذكية: مهلات مدركة للبروتوكول مع مؤشرات تقادم بالأبيض ← الأصفر ← الأحمر. بدّل بـ t لإبقاء الاتصالات التاريخية (المغلقة) مرئية للتحليل الجنائي.
  • تصفية بأسلوب Vim/fzf: port: وsrc: و و و و و، بالإضافة إلى التعبيرات النمطية عبر .

لماذا RustNet؟

يسد RustNet الفجوة بين أدوات الاتصال البسيطة (netstat، ss) ومحللات الحزم (Wireshark، tcpdump):

  • إسناد العملية: اعرف أي تطبيق يملك كل اتصال. لا يمكن لـ Wireshark توفير ذلك لأنه يرى الحزم فقط، لا المقابس (sockets).
  • عرض متمركز حول الاتصال: تتبّع الحالات وعرض النطاق والبروتوكولات لكل اتصال في الوقت الفعلي
  • متوافق مع SSH: تعمل واجهة TUI عبر SSH بحيث يمكنك رؤية ما يحدث على خادم بعيد بسرعة دون تمرير X11 أو التقاط حركة المرور

يكمل RustNet أدوات التقاط الحزم. استخدم RustNet لرؤية ما الذي يُنشئ الاتصالات. للفحص المباشر عبر Wireshark، يكتب --pcapng-export تعليقات حزم حية بأفضل جهد مع سياق PID/العملية. وللربط عند التنظيف، استخدم --pcap-export مع الملف الجانبي JSONL وسكربت scripts/pcap_enrich.py الاختياري. انظر تصدير PCAP ومقارنة مع الأدوات المشابهة للتفاصيل.

مبني على ratatui وlibpcap وeBPF (libbpf-rs) وDashMap وcrossbeam وring وMaxMind GeoLite2 وLandlock. انظر ARCHITECTURE.md للتفصيل الكامل للتبعيات.

تعريف العملية المحسّن عبر eBPF (الافتراضي على Linux)

يستخدم RustNet برامج eBPF الخاصة بالنواة افتراضيًا على Linux لتحسين الأداء وتحديد العمليات بتكلفة أقل.

أسماء العمليات:

  • يسجّل eBPF معرف TGID واسم comm لقائد مجموعة العمليات (حقل نواة محدود بـ 16 حرفًا) بدلًا من اسم الخيط المنفّذ، بحيث تعرض التطبيقات متعددة الخيوط اسم العملية الرئيسية بدلًا من أسماء الخيوط مثل "Socket Thread"
  • ثم يعيد RustNet تحليل الاسم الحالي عبر /proc/<tgid>/comm، ويستعيد الأسماء المقتطعة من comm من اسم ملف الملف التنفيذي (مثلًا "chromium-browse" تصبح "chromium-browser")، ويحلل مسار الملف التنفيذي الكامل المعروض في عرض التفاصيل
  • العمليات قصيرة العمر التي تنتهي قبل تشغيل هذا الإثراء تحتفظ بالاسم المكوّن من 16 حرفًا الذي سجّله eBPF

سلوك التراجع:

  • عند فشل تحميل eBPF أو عدم توفر الصلاحيات الكافية، يتراجع RustNet تلقائيًا إلى تحديد العمليات القياسي المعتمد على procfs
  • يحل الوضع القياسي الأسماء بالطريقة نفسها عبر مسح procfs، لكن مع حمل أعلى على وحدة المعالجة
  • eBPF مفعّل افتراضيًا؛ لا حاجة لأعلام بناء خاصة

لتعطيل eBPF واستخدام وضع procfs فقط، ابنِ باستخدام:

root@kitploit:~
cargo build --release --no-default-features

انظر ARCHITECTURE.md للمعلومات التقنية.

مراقبة نشاط العمليات والواجهات

يجمع RustNet بين محاسبة حركة المرور على مستوى العملية وإحصاءات واجهات الشبكة اللحظية:

  • تبويب النظرة العامة: يعرض الواجهات النشطة مع المعدلات والأخطاء والإسقاطات الحالية
  • تبويب النشاط (اضغط 3): يرتب العمليات حسب الصادر (TX) أو الوارد (RX)، بما في ذلك حركة المرور المحتفَظ بها والمتجددة والمعدلات والحصص والاتصالات والوجهات
  • خطة عمل أمنية: رتب حسب الصادر، وحدد أي مُرسِل غير متوقع، ثم افحص أقرب نظير بعيد له وحركة مروره المحتفَظ بها حتى بعد إغلاق الاتصال
  • تفاصيل الواجهة (اضغط i في تبويب النشاط): تعرض المقاييس الشاملة الأصلية لكل واجهة
  • متعدد المنصات: Linux (sysfs) وmacOS/FreeBSD (getifaddrs) وWindows (واجهة GetIfTable2 API)
  • تصفية ذكية: يستبعد Windows تلقائيًا المحولات الافتراضية/الترشيحية

انظر USAGE.md لتوثيق مفصّل حول تفسير إحصاءات الواجهة والسلوك الخاص بكل منصة.

المقاييس المتاحة:

  • إجمالي البايتات والحزم (RX/TX)
  • عدادات الأخطاء (استقبال وإرسال)
  • إسقاطات الحزم (تجاوز سعة الطوابير)
  • التصادمات (موروثة، ونادرًا ما تُستخدم على الشبكات الحديثة)

تُجمع الإحصاءات كل ثانيتين في خيط خلفي بتأثير ضئيل على الأداء.

لقطات الشاشة

بدء سريع

التثبيت

Homebrew (macOS / Linux):

root@kitploit:~
brew install rustnet

Ubuntu (22.04 LTS+) / Linux Mint 21+ / Pop!_OS 22.04+:

root@kitploit:~
sudo add-apt-repository ppa:domcyrus/rustnet
# on Pop!_OS: sudo apt-manage add ppa:domcyrus/rustnet
sudo apt update && sudo apt install rustnet

Fedora (42+):

root@kitploit:~
sudo dnf copr enable domcyrus/rustnet
sudo dnf install rustnet

openSUSE Tumbleweed:

root@kitploit:~
sudo zypper addrepo https://download.opensuse.org/repositories/home:/domcyrus:/rustnet/openSUSE_Tumbleweed/home:domcyrus:rustnet.repo
sudo zypper refresh
sudo zypper install rustnet

Arch Linux:

root@kitploit:~
sudo pacman -S rustnet

Nix / NixOS:

root@kitploit:~
nix-shell -p rustnet
# Then inside the shell: sudo rustnet

من crates.io:

root@kitploit:~
cargo install rustnet-monitor

Windows (Chocolatey):

root@kitploit:~
# Run in Administrator PowerShell
# Requires Npcap (https://npcap.com) installed with "WinPcap API-compatible Mode" enabled
choco install rustnet

منصات أخرى:

  • FreeBSD: حمّله من إصدارات rustnet-bsd
  • Docker والبناء من المصدر وتوزيعات Linux الأخرى: انظر INSTALL.md لتعليمات مفصلة

تشغيل RustNet

يتطلب التقاط الحزم صلاحيات مرتفعة:

root@kitploit:~
# Quick start (all platforms)
sudo rustnet

# Linux: Grant capabilities to run without sudo (recommended)
sudo setcap 'cap_net_raw,cap_bpf,cap_perfmon+eip' $(which rustnet)
rustnet

الخيارات الشائعة:

root@kitploit:~
rustnet -i eth0              # Specify network interface
rustnet --show-localhost     # Show localhost connections
rustnet --no-resolve-dns     # Disable reverse DNS lookups (enabled by default)
rustnet -r 500               # Set refresh interval (ms)
rustnet --theme tokyo-night  # Theme: muted (default), vivid, catppuccin-mocha, tokyo-night, gruvbox, nord
rustnet --pcapng-export capture.pcapng  # Annotated PCAPNG for Wireshark

يمكن أيضًا ضبط السمة وتجاوزات الألوان الفردية في ~/.config/rustnet/config.toml؛ ويمتلك --theme الأولوية. انظر USAGE.md لمخطط الإعدادات.

انظر INSTALL.md لإعداد الصلاحيات المفصّل وUSAGE.md للخيارات الكاملة.

إذا ضبطت الصلاحيات (capabilities) لكن واجهة TUI ما زالت تعرض eBPF unavailable، فانظر eBPF غير متاح رغم ضبط الصلاحيات في قسم استكشاف الأخطاء وإصلاحها.

اختصارات لوحة المفاتيح

انظر USAGE.md لاختصارات لوحة المفاتيح المفصلة ونصائح التنقل.

التصفية والفرز

أمثلة تصفية سريعة:

root@kitploit:~
/google                        # Search for "google" anywhere
/port:443                      # Filter by port
/process:firefox               # Filter by process
/state:established             # Filter by connection state
/dport:443 sni:github.com      # Combine filters

الفرز:

  • اضغط s للتنقل بين الأعمدة القابلة للفرز (العملية، العناوين، الخدمة، التطبيق، الحالة، عرض النطاق)
  • اضغط S (Shift+s) لتبديل اتجاه الفرز
  • اعثر على مستهلكي عرض النطاق: اضغط s حتى يظهر "إجمالي عرض النطاق ↓" (يفرز حسب السرعة المجمعة للرفع والتنزيل)

انظر USAGE.md للدليل الكامل لصيغة التصفية والفرز.

أمثلة تصفية متقدمة

مرشحات الكلمات المفتاحية:

  • port:44 - المنافذ التي تحتوي على "44" (443 و8080 و4433)
  • sport:80 - منافذ المصدر التي تحتوي على "80"
  • dport:443 - منافذ الوجهة التي تحتوي على "443"
  • src:192.168 - عناوين IP المصدر التي تحتوي على "192.168"
  • dst:github.com - الوجهات التي تحتوي على "github.com"
  • process:ssh - أسماء العمليات التي تحتوي على "ssh"
  • sni:api - أسماء مضيفات SNI التي تحتوي على "api"
  • app:openssh - اتصالات SSH التي تستخدم OpenSSH
  • state:established - التصفية حسب حالة البروتوكول
  • proto:tcp - التصفية حسب نوع البروتوكول

تصفية الحالة:

  • state:syn_recv - اتصالات نصف مفتوحة (كشف فيضان SYN)
دورة حياة الاتصال والمؤشرات المرئية

يستخدم RustNet مهلات ذكية وتحذيرات مرئية قبل إزالة الاتصالات:

مؤشرات التقادم المرئية:

  • أبيض: نشط (< 75% من المهلة)
  • أصفر: قديم (75-90% من المهلة)
  • أحمر: حرج (> 90% من المهلة)

مهلات مدركة للبروتوكول:

  • HTTP/HTTPS: 10 دقائق (يدعم الإبقاء على الاتصال keep-alive)
  • SSH: 30 دقيقة (جلسات طويلة)
  • اتصالات TCP القائمة العامة: 5 دقائق
  • QUIC متصل: 3 دقائق (أو مهلة خمول معاملات النقل لدى النظير، عند توفرها)؛ Initial/Handshaking: 60 ثانية
  • DNS: 30 ثانية
  • TCP CLOSED: فترة سماح 15 ثانية قبل الأرشفة

مثال: يتحول اتصال HTTP إلى الأصفر عند 7.5 دقيقة، وإلى الأحمر عند 9 دقائق، ويُزال عند 10 دقائق.

انظر USAGE.md لتفاصيل المهلات الكاملة.

التوثيق

  • INSTALL.md - تعليمات تثبيت مفصلة لجميع المنصات وإعداد الصلاحيات واستكشاف الأخطاء وإصلاحها
  • USAGE.md - دليل استخدام كامل يشمل خيارات سطر الأوامر والتصفية والفرز والتسجيل
  • SECURITY.md - الميزات الأمنية بما في ذلك عزل Landlock وإدارة الامتيازات
  • ARCHITECTURE.md - البنية التقنية وتنفيذات المنصات وتفاصيل الأداء
  • CONTRIBUTING.md - سير عمل المساهمة ومتطلبات الجودة وإرشادات المشروع
  • PROFILING.md - دليل قياس الأداء مع إعداد flamegraph ونصائح التحسين
  • ROADMAP.md - الميزات المخطط لها والتحسينات المستقبلية
  • RELEASE.md - عملية الإصدار للمشرفين

المساهمة

نرحب بالمساهمات! يرجى الاطلاع على CONTRIBUTING.md للإرشادات حول كيفية المساهمة.

انظر CONTRIBUTORS.md لقائمة الأشخاص الذين ساهموا في هذا المشروع.

الترخيص

هذا المشروع مرخّص بموجب رخصة Apache، الإصدار 2.0 - انظر ملف LICENSE للتفاصيل.

شكر وتقدير

  • مبني بـ ratatui لواجهة الطرفية
  • التقاط الحزم مدعوم بـ libpcap
  • مستوحى من أدوات مثل tshark/wireshark/tcpdump وsniffnet وnetstat وss وiftop وbandwhich
  • بعض الكود كُتب بأسلوب vibe coding (يا إلهي) / ولتكن آلهة نماذج اللغة الكبيرة معكم

توثيق منقول

نُقلت بعض الأقسام إلى ملفات مخصصة لتنظيم أفضل:

  • إعداد الصلاحيات: أصبح الآن في INSTALL.md - إعداد الصلاحيات
  • تعليمات التثبيت: أصبحت الآن في INSTALL.md
  • الاستخدام المفصل: أصبح الآن في USAGE.md
  • تفاصيل البنية: أصبحت الآن في ARCHITECTURE.md
تنزيل الأداة
dst:
sni:
process:
state:
proto:
/(?i)pattern/
  • إثراء GeoIP: بحث عن الدول عبر MaxMind GeoLite2 المحلي. دون أي استدعاءات شبكة.
  • تحديد أجهزة الشبكة المحلية: عنوان MAC والمورّد (من قاعدة بيانات IEEE OUI المدمجة) للأقران على نفس الرابط والبوابة، تُكتسب سلبيًا من حركة ARP وتُعرض في لوحة التفاصيل.
  • إسناد Kubernetes (ميزة kubernetes اختيارية): اتصالات مربوطة بالبود والنطاق والحاوية الخاصة بها، وتظهر في لوحة التفاصيل وتصديرات JSON/PCAPNG ومرشحات pod: وns: وcontainer:. مفعّلة في صورة Docker الرسمية؛ وعلى الكتلة، استخدم إضافة kubectl-rustnet لتشغيله كبود تصحيح مؤقت. انظر USAGE.md.
  • متعدد المنصات: Linux وmacOS وWindows وFreeBSD.
  • النظرة العامة
    جدول الاتصالات مع إحصاءات حية ورسوم sparklines
    التفاصيل
    SNI والتشفير وGeoIP وDPI لكل اتصال
    الرسم البياني
    مخطط حركة المرور وتوزيع التطبيقات وأهم العمليات
    النشاط
    صادر/وارد العملية وتغطية 60 ثانية والإسناد والنظراء البعيدون
    المفتاحالإجراء
    qإنهاء (اضغط مرتين للتأكيد)
    Ctrl+Cإنهاء فوري
    xمسح جميع الاتصالات (اضغط مرتين للتأكيد)
    Tab أو ]التبويب التالي
    Shift+Tab أو [التبويب السابق
    1–5الانتقال إلى النظرة العامة / التفاصيل / النشاط / الرسم البياني / المساعدة
    ↑/k ↓/jالتنقل لأعلى/لأسفل
    g Gالانتقال إلى أول/آخر اتصال
    Enterعرض تفاصيل الاتصال
    Escالرجوع أو مسح المرشح
    cنسخ العنوان البعيد
    pتبديل أسماء الخدمات/المنافذ
    dتبديل أسماء المضيفين/عناوين IP في النظرة العامة أو الصادر/الوارد في النشاط
    s Sالتنقل بين أعمدة الفرز / تبديل الاتجاه
    aتبديل تجميع العمليات
    Spaceتوسيع/طي مجموعة العمليات
    ←/→ أو h/lطي/توسيع المجموعة
    PageUp/PageDown أو Ctrl+B/Fالتنقل بين الصفحات
    tتبديل الاتصالات التاريخية (المغلقة)
    iتبديل معلومات النظام في النظرة العامة أو تفاصيل الواجهة في النشاط
    rإعادة ضبط العرض (التجميع والفرز والتصفية)
    /الدخول إلى وضع التصفية
    hتبديل المساعدة
  • state:established - الاتصالات القائمة فقط
  • state:quic_connected - اتصالات QUIC النشطة
  • state:dns_query - اتصالات استعلام DNS
  • أمثلة مجمعة:

    • sport:80 process:nginx - اتصالات Nginx من المنفذ 80
    • dport:443 sni:google.com - HTTPS إلى Google
    • process:firefox state:quic_connected - اتصالات QUIC لمتصفح Firefox
    • dport:22 app:openssh state:established - اتصالات OpenSSH القائمة