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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
sonar — أداة سطر أوامر لفحص وإدارة الخدمات التي تستمع على منافذ localhost | Kitploit
أدوات/GitHubGitHub/raskrebs/sonar
أدوات عامةتخطيط الشبكةمسح المنافذالبرمجة النصية والأتمتةجمع المعلوماتDevSecOps
GitHubraskrebs/sonar

sonar

أداة سطر أوامر لفحص وإدارة الخدمات التي تستمع على منافذ localhost

عرض المستودع
1.1k33منذ 3 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
root@kitploit:~
███████╗ ██████╗ ███╗   ██╗ █████╗ ██████╗
██╔════╝██╔═══██╗████╗  ██║██╔══██╗██╔══██╗
███████╗██║   ██║██╔██╗ ██║███████║██████╔╝
╚════██║██║   ██║██║╚██╗██║██╔══██║██╔══██╗
███████║╚██████╔╝██║ ╚████║██║  ██║██║  ██║
╚══════╝ ╚═════╝ ╚═╝  ╚═══╝╚═╝  ╚═╝╚═╝  ╚═╝

اعرف ما الذي يعمل على جهازك.

لقد سئمت من تشغيل lsof -iTCP -sTCP:LISTEN | grep ... كل مرة يكون فيها منفذ مشغولاً بالفعل، ثم قضاء دقيقة أخرى لمعرفة ما إذا كانت حاوية Docker أو خادم تطوير مهجور من مساحة عمل أخرى. لذا قمت ببناء sonar.

يعرض كل شيء يستمع على localhost، مع أسماء حاويات Docker، ومشاريع Compose، واستخدام الموارد، وعناوين URL قابلة للنقر. يمكنك قتل العمليات، وعرض السجلات، والدخول إلى الحاويات، وأكثر — كل ذلك برقم المنفذ.

root@kitploit:~
$ sonar list
PORT   PROCESS                      CONTAINER                    IMAGE             CPORT   URL
1780   proxy (traefik:3.0)          my-app-proxy-1               traefik:3.0       80      http://localhost:1780
3000   next-server (v16.1.6)                                                               http://localhost:3000
5432   db (postgres:17)             my-app-db-1                  postgres:17       5432    http://localhost:5432
6873   frontend (frontend:latest)   my-app-frontend-1            frontend:latest   5173    http://localhost:6873
9700   backend (backend:latest)     my-app-backend-1             backend:latest    8000    http://localhost:9700

5 ports (4 docker, 1 user)

التثبيت

Homebrew (macOS / Linux)

root@kitploit:~
brew install raskrebs/sonar/sonar

على macOS يقوم هذا أيضًا بتثبيت تطبيق شريط القوائم sonar-tray.

سكريبت التثبيت

root@kitploit:~
curl -sfL https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.sh | bash

يقوم بتنزيل أحدث إصدار ثنائي إلى ~/.local/bin ويضيفه إلى مسار PATH الخاص بك إذا لزم الأمر. أعد تشغيل الطرفية أو نفذ source ~/.zshrc.

على Windows (PowerShell):

root@kitploit:~
irm https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.ps1 | iex

موقع تثبيت مخصص:

root@kitploit:~
curl -sfL https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.sh | SONAR_INSTALL_DIR=/usr/local/bin bash

تثبيت إصدار معين:

root@kitploit:~
curl -sfL https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.sh | SONAR_VERSION=vX.Y.Z bash
root@kitploit:~
$env:SONAR_VERSION="vX.Y.Z"; irm https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.ps1 | iex

باستخدام Go

root@kitploit:~
go install github.com/raskrebs/sonar@latest

ملاحظة: go install يقوم بتثبيت واجهة سطر الأوامر فقط. تطبيق شريط القوائم (sonar tray) هو ملف ثنائي أصلي بلغة Swift ويجب بناؤه بشكل منفصل — انظر تطبيق شريط القوائم أدناه.

إكمالات shell (إكمال أرقام المنافذ بالضغط على Tab):

root@kitploit:~
sonar completion zsh > "${fpath[1]}/_sonar"   # zsh
sonar completion bash > /etc/bash_completion.d/sonar  # bash
sonar completion fish | source                 # fish

الاستخدام

عرض المنافذ

root@kitploit:~
sonar list                     # عرض جميع المنافذ
sonar list --stats             # تضمين وحدة المعالجة المركزية، الذاكرة، الحالة، وقت التشغيل
sonar list --filter docker     # منافذ Docker فقط
sonar list --sort name         # الترتيب حسب اسم العملية
sonar list --json              # إخراج JSON
sonar list -a                  # تضمين تطبيقات سطح المكتب
sonar list -c port,cpu,mem,uptime,state  # أعمدة مخصصة
sonar list --health            # تشغيل فحوصات HTTP الصحية
sonar list --host user@server  # فحص جهاز عن بعد عبر SSH

بشكل افتراضي، يخفي sonar تطبيقات سطح المكتب وخدمات النظام التي تستمع على منافذ TCP ولكنها غير ذات صلة بالتطوير — مثل Figma، Discord، Spotify، ControlCenter، AirPlay، وحزم .app أخرى على macOS وعمليات /System/Library/. استخدم -a لتضمينها.

الأعمدة المتاحة: port, process, pid, type, url, cpu, mem, threads, uptime, state, connections, health, latency, container, image, containerport, , , , ,

فحص منفذ

root@kitploit:~
sonar info 3000

يعرض كل شيء عن المنفذ: الأمر الكامل، المستخدم، عنوان الربط، وحدة المعالجة المركزية/الذاكرة/الخيوط، وقت التشغيل، نتيجة الفحص الصحي، وتفاصيل Docker إذا كانت مطبقة.

قتل العمليات

root@kitploit:~
sonar kill 3000                            # SIGTERM
sonar kill 3000 -f                         # SIGKILL
sonar kill-all --filter docker             # إيقاف جميع حاويات Docker
sonar kill-all --project my-app            # إيقاف مشروع Compose
sonar kill-all --filter user -y            # تخطي التأكيد

يتم إيقاف حاويات Docker باستخدام docker stop بدلاً من إرسال الإشارات.

عرض السجلات

root@kitploit:~
sonar logs 3000

بالنسبة لحاويات Docker، يقوم بتشغيل docker logs -f. للعمليات المحلية، يكتشف ملفات السجل عبر lsof ويقوم بتتبعها. كحل احتياطي، يستخدم log stream على macOS أو /proc/<pid>/fd على Linux.

الالتصاق بالخدمة

root@kitploit:~
sonar attach 3000                          # دخول shell إلى حاوية Docker، أو اتصال TCP
sonar attach 3000 --shell bash             # shell معين

مراقبة التغييرات

root@kitploit:~
sonar watch                                # استقصاء كل ثانيتين، عرض الفروقات
sonar watch --stats                        # إحصائيات الموارد الحية (مثل docker stats)
sonar watch -i 500ms                       # استقصاء أسرع
sonar watch --notify                       # إشعارات سطح المكتب عند صعود/نزول المنافذ
sonar watch --host user@server             # مراقبة جهاز عن بعد

رسم بياني للتبعيات

root@kitploit:~
sonar graph                                # عرض الخدمات التي تتحدث مع بعضها
sonar graph --json                         # إخراج منظم
sonar graph --dot                          # تنسيق Graphviz DOT

يعرض الاتصالات القائمة بين المنافذ المستمعة (مثل اتصال الخلفية بـ postgres).

الملفات الشخصية

احفظ مجموعة من المنافذ المتوقعة لمشروع، ثم تحقق مما إذا كانت جميعها قيد التشغيل أو قم بإيقافها:

root@kitploit:~
sonar profile create my-app                # التقاط سريع للمنافذ الحالية
sonar profile list                         # عرض الملفات الشخصية المحفوظة
sonar profile show my-app                  # عرض تفاصيل الملف الشخصي
sonar up my-app                            # التحقق من المنافذ المتوقعة العاملة
sonar down my-app                          # إيقاف جميع المنافذ في الملف الشخصي

انتظار المنافذ

root@kitploit:~
sonar wait 5432                        # الانتظار حتى يقبل المنفذ الاتصالات
sonar wait 5432 3000 6379              # انتظار منافذ متعددة
sonar wait 5432 --timeout 30s         # الفشل بعد 30 ثانية
sonar wait 5432 --http                # انتظار استجابة HTTP 200، وليس مجرد فتح TCP
sonar wait 5432 --http=/health        # التحقق من نقطة نهاية محددة
sonar wait 5432 -i 500ms              # فترة استقصاء مخصصة
sonar wait 5432 -q                    # بدون إخراج، فقط رمز الخروج (للسكريبتات)

مفيد للسكريبتات حول docker compose up -d أو الخدمات الخلفية. العلامة --http تنتظر استجابة HTTP فعلية 200-399، وليس مجرد مأخذ TCP، مما يلتقط الخدمات التي تقبل الاتصالات قبل أن تكون جاهزة حقًا. استخدم --http=/health للتحقق من نقطة نهاية محددة. رموز الخروج: 0 (جاهز)، 1 (مهلة)، 2 (تمت المقاطعة).

root@kitploit:~
docker compose up -d
sonar wait 5432 3000 --timeout 60s && npm run migrate && npm run test

تعيين المنافذ

root@kitploit:~
sonar map 6873 3002

يقوم بتوكيل حركة المرور بحيث تكون الخدمة على المنفذ 6873 متاحة أيضًا على المنفذ 3002.

البحث عن منافذ حرة

root@kitploit:~
sonar next                                 # أول منفذ حر بعد 3000
sonar next 8000                            # أول منفذ حر بعد 8000
sonar next 3000-3100                       # أول منفذ حر في النطاق
sonar next -n 3                            # 3 منافذ حرة متتالية
sonar next --json                          # إخراج JSON

أخرى

root@kitploit:~
sonar open 3000                            # فتح في المتصفح
sonar tray                                 # تطبيق شريط القوائم مع إحصائيات حية (macOS)
sonar --no-color                           # تعطيل الألوان (يحترم أيضًا متغير البيئة NO_COLOR)

العلامة --stats تجلب استخدام الموارد لكل عملية وكل حاوية. بالنسبة لحاويات Docker، تستخدم واجهة برمجة تطبيقات Docker Engine للحصول على مقاييس دقيقة لكل حاوية. بدون --stats، يعود sonar فورًا.

الإعدادات

sonar يقرأ الإعدادات الافتراضية الاختيارية من ~/.config/sonar/config.yaml. الملف اختياري — بدونه، يتم تطبيق الإعدادات الافتراضية المدمجة. دائمًا ما تلغي خيارات سطر الأوامر ملف الإعدادات.

أنشئ ملف بداية:

root@kitploit:~
sonar config init       # كتابة قالب مع التعليقات
sonar config path       # طباعة موقع الملف
sonar config edit       # فتحه في $EDITOR

مثال على الإعدادات:

root@kitploit:~
list:
  columns: [port, process, container, image, containerport, url]
  sort: port            # port | pid | name | type
  filter: ""            # docker | user | system | "" (all)
  all: false            # تضمين تطبيقات سطح المكتب افتراضيًا
color: true             # تعيين false لتعطيل الإخراج الملون
services:               # تسمية المنافذ المخصصة/غير المعروفة
  9000: php-fpm
  5050: my-dashboard

يتم تجاهل القيم غير الصالحة مع تحذير؛ يستمر sonar بالإعدادات الافتراضية.

تطبيق شريط القوائم

تطبيق شريط القوائم (macOS فقط) هو ملف ثنائي أصلي بلغة Swift يعرض إحصائيات المنافذ الحية في شريط القوائم الخاص بك. إذا قمت بتثبيت sonar عبر سكريبت التثبيت أو إصدار GitHub، يتم تضمين الملف الثنائي لشريط القوائم (sonar-tray) تلقائيًا.

إذا قمت بالتثبيت عبر go install، فقم ببنائه يدويًا:

root@kitploit:~
swiftc -O -o sonar-tray tray/SonarTray.swift -target arm64-apple-macos13

ثم انقل sonar-tray إلى مكان ما في $PATH وشغّل:

root@kitploit:~
sonar tray

المنصات المدعومة

  • macOS (يستخدم lsof)
  • Linux (يستخدم ss)
  • Windows (يستخدم netstat)

المساهمون

شكرًا لكل من ساهم في sonar!

تنزيل الأداة
compose
project
user
bind
ip