
CLI سريع لتعريف الخدمات لأكثر من 170 بروتوكول (TCP/UDP/SCTP) - مبني بواسطة Praetorian
الميزات • التثبيت • البدء السريع • الاستخدام • البروتوكولات • المكتبة • حالات الاستخدام • استكشاف الأخطاء وإصلاحها
بصمة خدمات عالية الأداء مكتوبة بلغة Go. حدد أكثر من 170 بروتوكول شبكة عبر وسائط النقل TCP وUDP وSCTP مع استخراج غني للبيانات الوصفية.
تكتشف Nerva وتحدد بسرعة الخدمات التي تعمل على منافذ الشبكة المفتوحة. استخدمها إلى جانب ماسحات المنافذ مثل Naabu لبصمة الخدمات المكتشفة، أو دمجها في خطوط أنابيب الأمان لديك للاستطلاع الآلي.
--misconfigs)--udp)، وSCTP (--sctp، Linux فقط)--fast)host:portحمّل ملفاً تنفيذياً جاهزاً من صفحة الإصدارات.
go install github.com/praetorian-inc/nerva/cmd/nerva@latest
### من المصدر```sh
git clone https://github.com/praetorian-inc/nerva.git
cd nerva
go build ./cmd/nerva
./nerva -h
git clone https://github.com/praetorian-inc/nerva.git cd nerva docker build -t nerva . docker run --rm nerva -h docker run --rm nerva -t example.com:80 --json
## البدء السريع
بصمة هدف واحد:```sh
nerva -t example.com:22
# ssh://example.com:22
احصل على بيانات JSON وصفية مفصلة:```sh nerva -t example.com:22 --json
التوجيه من ماسح منافذ:```sh
naabu -host example.com -silent | nerva
# http://example.com:80
# ssh://example.com:22
# https://example.com:443
المرجع الكامل — كل أمر فرعي واسم مستعار وعلم، بما في ذلك تلك المخفية من --help — يتم توليده في docs/CLI.md.
nerva [flags]
TARGET SPECIFICATION: Requires host:port or ip:port format. Assumes ports are open.
EXAMPLES: nerva -t example.com:80 nerva -t example.com:80,example.com:443 nerva -l targets.txt nerva --json -t example.com:80 cat targets.txt | nerva
### أمثلة
**أهداف متعددة:**```sh
nerva -t example.com:22,example.com:80,example.com:443
من الملف:```sh nerva -l targets.txt --json -o results.json
**فحص UDP** (قد يتطلب صلاحيات الجذر):```sh
sudo nerva -t example.com:53 -U
# dns://example.com:53
فحص SCTP (لينكس فقط):```sh nerva -t telecom-server:3868 -S
**الوضع السريع** (المنافذ الافتراضية فقط):```sh
nerva -l large-target-list.txt --fast --json
توجيه الوكيل مع تحليل DNS عن بُعد:```sh nerva -t target.internal:80 --proxy socks5://127.0.0.1:1080 --dns-order p
### اكتشاف الأخطاء الأمنية في الإعدادات
يمكن لـ Nerva تحديد الأخطاء الأمنية الشائعة في الإعدادات عند تمكينها باستخدام `--misconfigs`:```sh
nerva -t example.com:2375 --misconfigs --json
التكوينات الخاطئة المكتشفة:
| معرّف النتيجة | الخطورة | الوصف |
|---|---|---|
docker-unauth-api | حرجة | واجهة Docker API متاحة دون مصادقة |
x11-unauth-access | حرجة | خادم X11 يسمح باتصالات غير موثّقة |
smb-signing-not-required | متوسطة | توقيع SMB غير مطلوب (خطر هجوم relay) |
telnet-cleartext | متوسطة | Telnet ينقل بيانات الاعتماد بنص صريح |
vnc-detected | متوسطة | تم اكتشاف VNC (غالبًا بمصادقة ضعيفة) |
ssh-password-auth | متوسطة | الخادم يسمح بالمصادقة بكلمة المرور |
ssh-weak-cipher | منخفضة | الخادم يوفّر شفرات ضعيفة (RC4، 3DES، Blowfish) |
ssh-weak-kex | منخفضة | الخادم يوفّر خوارزميات تبادل مفاتيح ضعيفة |
ssh-weak-mac | منخفضة | الخادم يوفّر خوارزميات MAC ضعيفة |
ftp-cleartext | منخفضة | FTP ينقل بيانات الاعتماد بنص صريح |
مثال على المخرجات مع التكوينات الخاطئة:```json { "host": "example.com", "port": 2375, "protocol": "docker", "anonymous_access": true, "security_findings": [ { "id": "docker-unauth-api", "severity": "critical", "description": "Docker API accessible without authentication", "evidence": "Successfully queried /version endpoint without credentials" } ] }
### دعم البروكسي
يدعم Nerva توجيه حركة الفحص عبر بروكسيات SOCKS5 وHTTP مع دقة DNS قابلة للتكوين.
**مخططات البروكسي المدعومة:**
- `socks5://` - بروكسي SOCKS5 مع دقة DNS محلية
- `socks5h://` - بروكسي SOCKS5 مع دقة DNS من جانب البروكسي (دائمًا)
- `http://` - بروكسي HTTP CONNECT
- `https://` - بروكسي HTTPS CONNECT
**مصادقة البروكسي:**```sh
# Inline authentication (URL format)
nerva -t example.com:80 --proxy socks5://username:[email protected]:1080
# Separate authentication flag
nerva -t example.com:80 --proxy socks5://127.0.0.1:1080 --proxy-auth username:password
استراتيجيات تحليل DNS (--dns-order):
| الخيار | الاستراتيجية | حالة الاستخدام |
|---|---|---|
l | محلي فقط | DNS محلي قياسي (افتراضي) |
p | وكيل فقط | فرض تحليل DNS من جانب الوكيل |
lp | محلي، مع الرجوع إلى الوكيل | جرّب المحلي أولاً، استخدم الوكيل عند الفشل |
pl | وكيل، مع الرجوع إلى المحلي | جرّب الوكيل أولاً، استخدم المحلي عند الفشل |
ملاحظة: مخطط socks5h:// يفرض تلقائياً تحليل DNS من جانب الوكيل (مكافئ لـ --dns-order p)
مثال فحص Tor:```sh
nerva -t http://example.onion:80 --proxy socks5h://127.0.0.1:9050
**UDP عبر البروكسي:**```sh
# UDP scanning through SOCKS5 proxy (limited support)
nerva -t target.com:161 --proxy socks5://127.0.0.1:1080 --udp
⚠️ قيود UDP: دعم UDP عبر SOCKS5 محدود. لا تدعم جميع خوادم SOCKS5 اقتران UDP. قد يحدث الرجوع إلى UDP المحلي.