
nerva v1.64.3
CLI سريع لتعريف الخدمات لأكثر من 170 بروتوكول (TCP/UDP/SCTP) - مبني بواسطة Praetorian
Nerva
Nerva: أداة سريعة لسطر أوامر لبصمة الخدمات
الميزات • التثبيت • البدء السريع • الاستخدام • البروتوكولات • المكتبة • حالات الاستخدام • استكشاف الأخطاء وإصلاحها
بصمة خدمات عالية الأداء مكتوبة بلغة Go. حدد أكثر من 170 بروتوكول شبكة عبر وسائط النقل TCP وUDP وSCTP مع استخراج غني للبيانات الوصفية.
تكتشف Nerva وتحدد بسرعة الخدمات التي تعمل على منافذ الشبكة المفتوحة. استخدمها إلى جانب ماسحات المنافذ مثل Naabu لبصمة الخدمات المكتشفة، أو دمجها في خطوط أنابيب الأمان لديك للاستطلاع الآلي.
الميزات
- أكثر من 170 إضافة بروتوكول — قواعد البيانات، الوصول عن بُعد، خدمات الويب، المراسلة، البروتوكولات الصناعية والاتصالات
- 76 أداة بصمة HTTP — اكتشف تقنيات الويب بما في ذلك جدران الحماية وقواعد البيانات وخوادم الذكاء الاصطناعي/LLM والمزيد
- كشف سوء التكوين الأمني — حدد المشكلات الأمنية الشائعة مثل واجهات API غير المصادق عليها والبروتوكولات النصية الصريحة (
--misconfigs) - دعم وسائط نقل متعددة — TCP (افتراضي)، UDP (
--udp)، وSCTP (--sctp، Linux فقط) - دعم الوكيل — وجّه حركة الفحص بشفافية عبر وكلاء SOCKS5 أو HTTP مع دقة DNS قابلة للتكوين
- بيانات وصفية غنية — استخرج الإصدارات والتكوينات والتفاصيل ذات الصلة بالأمان من كل خدمة
- الوضع السريع — افحص المنافذ الافتراضية فقط للاستطلاع السريع (
--fast) - إخراج مرن — تنسيقات JSON أو CSV أو قابلة للقراءة البشرية
- متوافق مع خطوط الأنابيب — استقبل المدخلات من Naabu أو Nmap أو أي أداة تُخرج
host:port - مكتبة Go — استوردها مباشرة في تطبيقات Go الخاصة بك
التثبيت
الإصدارات
حمّل ملفاً تنفيذياً جاهزاً من صفحة الإصدارات.
من GitHub```sh
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
Docker```sh
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
{"host":"example.com","ip":"93.184.216.34","port":22,"protocol":"ssh","transport":"tcp","metadata":{...}}
التوجيه من ماسح منافذ:```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
diameter://telecom-server:3868
**الوضع السريع** (المنافذ الافتراضية فقط):```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
Scan .onion services through Tor (SOCKS5 proxy on port 9050)
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 المحلي.